Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions genkit-tools/cli/src/commands/start.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ interface RunOptions {
noui?: boolean;
port?: string;
open?: boolean;
experimentalRealtimeTelemetry?: boolean;
disableRealtimeTelemetry?: boolean;
}

/** Command to run code in dev mode and/or the Dev UI. */
Expand All @@ -36,8 +36,8 @@ export const start = new Command('start')
.option('-p, --port <port>', 'port for the Dev UI')
.option('-o, --open', 'Open the browser on UI start up')
.option(
'--experimental-realtime-telemetry',
'Enable real-time telemetry streaming (experimental)'
'--disable-realtime-telemetry',
'Disable real-time telemetry streaming'
)
.action(async (options: RunOptions) => {
const projectRoot = await findProjectRoot();
Expand All @@ -55,7 +55,7 @@ export const start = new Command('start')
projectRoot,
start.args[0],
start.args.slice(1),
{ enableRealtimeTelemetry: options.experimentalRealtimeTelemetry }
{ disableRealtimeTelemetry: options.disableRealtimeTelemetry }
);
manager = result.manager;
processPromise = result.processPromise;
Expand Down
7 changes: 4 additions & 3 deletions genkit-tools/cli/src/utils/manager-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export async function startManager(
}

export interface DevProcessManagerOptions {
enableRealtimeTelemetry?: boolean;
disableRealtimeTelemetry?: boolean;
}

export async function startDevProcessManager(
Expand All @@ -77,11 +77,12 @@ export async function startDevProcessManager(
options?: DevProcessManagerOptions
): Promise<{ manager: RuntimeManager; processPromise: Promise<void> }> {
const telemetryServerUrl = await resolveTelemetryServer(projectRoot);
const disableRealtimeTelemetry = options?.disableRealtimeTelemetry ?? false;
const envVars: Record<string, string> = {
GENKIT_TELEMETRY_SERVER: telemetryServerUrl,
GENKIT_ENV: 'dev',
};
if (options?.enableRealtimeTelemetry) {
if (!disableRealtimeTelemetry) {
envVars.GENKIT_ENABLE_REALTIME_TELEMETRY = 'true';
}
const processManager = new ProcessManager(command, args, envVars);
Expand All @@ -90,7 +91,7 @@ export async function startDevProcessManager(
manageHealth: true,
projectRoot,
processManager,
enableRealtimeTelemetry: options?.enableRealtimeTelemetry,
disableRealtimeTelemetry,
});
const processPromise = processManager.start();
return { manager, processPromise };
Expand Down
12 changes: 6 additions & 6 deletions genkit-tools/common/src/manager/manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ interface RuntimeManagerOptions {
projectRoot: string;
/** An optional process manager for the main application process. */
processManager?: ProcessManager;
/** Whether realtime telemetry streaming is enabled. */
enableRealtimeTelemetry?: boolean;
/** Whether to disable realtime telemetry streaming. Defaults to false. */
disableRealtimeTelemetry?: boolean;
}

export class RuntimeManager {
readonly processManager?: ProcessManager;
readonly enableRealtimeTelemetry: boolean;
readonly disableRealtimeTelemetry: boolean;
private filenameToRuntimeMap: Record<string, RuntimeInfo> = {};
private filenameToDevUiMap: Record<string, DevToolsInfo> = {};
private idToFileMap: Record<string, string> = {};
Expand All @@ -79,10 +79,10 @@ export class RuntimeManager {
private manageHealth: boolean,
readonly projectRoot: string,
processManager?: ProcessManager,
enableRealtimeTelemetry?: boolean
disableRealtimeTelemetry?: boolean
) {
this.processManager = processManager;
this.enableRealtimeTelemetry = enableRealtimeTelemetry ?? false;
this.disableRealtimeTelemetry = disableRealtimeTelemetry ?? false;
}

/**
Expand All @@ -94,7 +94,7 @@ export class RuntimeManager {
options.manageHealth ?? true,
options.projectRoot,
options.processManager,
options.enableRealtimeTelemetry
options.disableRealtimeTelemetry
);
await manager.setupRuntimesWatcher();
await manager.setupDevUiWatcher();
Expand Down
8 changes: 4 additions & 4 deletions genkit-tools/common/src/server/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,12 @@ export function startServer(manager: RuntimeManager, port: number) {

// When realtime telemetry is disabled, flush headers immediately.
// The trace ID will be available in the response body.
if (!manager.enableRealtimeTelemetry) {
if (manager.disableRealtimeTelemetry) {
res.flushHeaders();
}

try {
const onTraceIdCallback = manager.enableRealtimeTelemetry
const onTraceIdCallback = !manager.disableRealtimeTelemetry
? (traceId: string) => {
// Set trace ID header and flush - this fires before response body
res.setHeader('X-Genkit-Trace-Id', traceId);
Expand Down Expand Up @@ -127,12 +127,12 @@ export function startServer(manager: RuntimeManager, port: number) {

// When realtime telemetry is disabled, flush headers immediately.
// The trace ID will be available in the response body.
if (!manager.enableRealtimeTelemetry) {
if (manager.disableRealtimeTelemetry) {
res.flushHeaders();
}

try {
const onTraceIdCallback = manager.enableRealtimeTelemetry
const onTraceIdCallback = !manager.disableRealtimeTelemetry
? (traceId: string) => {
// Set trace ID header and flush - this fires before first chunk
res.setHeader('X-Genkit-Trace-Id', traceId);
Expand Down
Loading