diff --git a/packages/stage-shared/src/index.ts b/packages/stage-shared/src/index.ts index 703d521fb..638c77377 100644 --- a/packages/stage-shared/src/index.ts +++ b/packages/stage-shared/src/index.ts @@ -1,6 +1,7 @@ export * from './env-vars' export * from './environment' export * from './export-csv' +export * from './perf/io-trace' export * from './perf/tracer' export * from './url' export * from './window' diff --git a/packages/stage-shared/src/perf/io-trace.ts b/packages/stage-shared/src/perf/io-trace.ts new file mode 100644 index 000000000..6b65beca7 --- /dev/null +++ b/packages/stage-shared/src/perf/io-trace.ts @@ -0,0 +1,31 @@ +export const IOSubsystems = { + ASR: 'asr', + LLM: 'llm', + TTSChunking: 'tts-chunking', + TTSSynthesis: 'tts-synthesis', + Playback: 'playback', +} as const + +export type IOSubsystem = (typeof IOSubsystems)[keyof typeof IOSubsystems] + +export interface IOSpan { + id: string + traceId: string + parentSpanId?: string + startTs: number + endTs?: number + + ttsCorrelationId?: string + subsystem: IOSubsystem + name: string + meta: Record +} + +export interface IOTurn { + id: string + startTs: number + endTs?: number + inputText?: string + outputText?: string + spans: IOSpan[] +}