Download src/utils/telemetry/sessionTracing.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 3.14 kB
-
https://huggingface.co/chenbhao/codev/resolve/main/src/utils/telemetry/sessionTracing.ts
- Command line
-
hf download hf://chenbhao/codev/src/utils/telemetry/sessionTracing.ts
-
curl -L -o sessionTracing.ts https://huggingface.co/chenbhao/codev/resolve/main/src/utils/telemetry/sessionTracing.ts
3.14 kB
| import { | |
| isBetaTracingEnabled, | |
| type LLMRequestNewContext, | |
| } from './betaSessionTracing.js' | |
| export { isBetaTracingEnabled, type LLMRequestNewContext } | |
| export interface Span { | |
| setAttribute(name: string, value: string | number | boolean): void | |
| setAttributes(attributes: Record<string, string | number | boolean>): void | |
| addEvent( | |
| name: string, | |
| attributes?: Record<string, string | number | boolean>, | |
| ): void | |
| end(): void | |
| recordException(error: unknown): void | |
| } | |
| type SpanMetadata = Record<string, string | number | boolean> | |
| function createNoopSpan(): Span { | |
| return { | |
| setAttribute() {}, | |
| setAttributes() {}, | |
| addEvent() {}, | |
| end() {}, | |
| recordException() {}, | |
| } | |
| } | |
| let currentInteractionSpan: Span | null = null | |
| let currentToolSpan: Span | null = null | |
| export function isEnhancedTelemetryEnabled(): boolean { | |
| return false | |
| } | |
| export function startInteractionSpan(_userPrompt: string): Span { | |
| const span = createNoopSpan() | |
| currentInteractionSpan = span | |
| return span | |
| } | |
| export function endInteractionSpan(): void { | |
| currentInteractionSpan = null | |
| } | |
| export function startLLMRequestSpan( | |
| _model: string, | |
| _newContext?: LLMRequestNewContext, | |
| _messagesForAPI?: unknown[], | |
| _fastMode?: boolean, | |
| ): Span { | |
| return createNoopSpan() | |
| } | |
| export function endLLMRequestSpan( | |
| _span?: Span, | |
| _metadata?: { | |
| inputTokens?: number | |
| outputTokens?: number | |
| cacheReadTokens?: number | |
| cacheCreationTokens?: number | |
| success?: boolean | |
| statusCode?: number | |
| error?: string | |
| attempt?: number | |
| modelResponse?: string | |
| modelOutput?: string | |
| thinkingOutput?: string | |
| hasToolCall?: boolean | |
| ttftMs?: number | |
| requestSetupMs?: number | |
| attemptStartTimes?: number[] | |
| }, | |
| ): void {} | |
| export function startToolSpan( | |
| _toolName: string, | |
| _toolAttributes?: SpanMetadata, | |
| _toolInput?: string, | |
| ): Span { | |
| const span = createNoopSpan() | |
| currentToolSpan = span | |
| return span | |
| } | |
| export function startToolBlockedOnUserSpan(): Span { | |
| return createNoopSpan() | |
| } | |
| export function endToolBlockedOnUserSpan( | |
| _decision?: string, | |
| _source?: string, | |
| ): void {} | |
| export function startToolExecutionSpan(): Span { | |
| return createNoopSpan() | |
| } | |
| export function endToolExecutionSpan(_metadata?: { | |
| success?: boolean | |
| error?: string | |
| }): void {} | |
| export function endToolSpan( | |
| _toolResult?: string, | |
| _resultTokens?: number, | |
| ): void { | |
| currentToolSpan = null | |
| } | |
| export function addToolContentEvent( | |
| _eventName: string, | |
| _attributes: SpanMetadata, | |
| ): void {} | |
| export function getCurrentSpan(): Span | null { | |
| return currentToolSpan ?? currentInteractionSpan | |
| } | |
| export async function executeInSpan<T>( | |
| _spanName: string, | |
| fn: (span: Span) => Promise<T>, | |
| _attributes?: SpanMetadata, | |
| ): Promise<T> { | |
| return fn(createNoopSpan()) | |
| } | |
| export function startHookSpan( | |
| _hookEvent: string, | |
| _hookName: string, | |
| _numHooks: number, | |
| _hookDefinitions: string, | |
| ): Span { | |
| return createNoopSpan() | |
| } | |
| export function endHookSpan( | |
| _span: Span, | |
| _metadata?: { | |
| numSuccess?: number | |
| numBlocking?: number | |
| numNonBlockingError?: number | |
| numCancelled?: number | |
| }, | |
| ): void {} | |