InferenceScope class
Provides OpenTelemetry tracing scope for generative AI inference operations.
- Extends
Methods
| record |
Records the finish reasons for telemetry tracking. |
| record |
Records the input messages for telemetry tracking.
Accepts plain strings (auto-wrapped as OTEL ChatMessage with role |
| record |
Records the number of input tokens for telemetry tracking. |
| record |
Records the output messages for telemetry tracking.
Accepts plain strings (auto-wrapped as OTEL OutputMessage with role |
| record |
Records the number of output tokens for telemetry tracking. |
| start(Request, Inference |
Creates and starts a new scope for inference tracing. |
Inherited Methods
| dispose() | Legacy dispose method for compatibility |
| get |
Gets the span context for this scope. This can be used to create a ParentSpanRef for explicit parent-child linking across async boundaries. |
| record |
Records multiple attribute key/value pairs for telemetry tracking. |
| record |
Records a cancellation event on the span. Sets the span status to ERROR with the cancellation reason and marks the error type as 'TaskCanceledException'. |
| record |
Records an error that occurred during the operation |
| set |
Sets a custom end time for the scope.
When set, dispose will pass this value to |
| with |
Makes this span active for the duration of the async callback execution |
Method Details
recordFinishReasons(string[])
Records the finish reasons for telemetry tracking.
function recordFinishReasons(finishReasons: string[])
Parameters
- finishReasons
-
string[]
Array of finish reasons
recordInputMessages(InputMessagesParam)
Records the input messages for telemetry tracking.
Accepts plain strings (auto-wrapped as OTEL ChatMessage with role user) or a versioned InputMessages wrapper.
function recordInputMessages(messages: InputMessagesParam)
Parameters
- messages
- InputMessagesParam
Array of input message strings or an InputMessages wrapper
recordInputTokens(number)
Records the number of input tokens for telemetry tracking.
function recordInputTokens(inputTokens: number)
Parameters
- inputTokens
-
number
Number of input tokens
recordOutputMessages(OutputMessagesParam)
Records the output messages for telemetry tracking.
Accepts plain strings (auto-wrapped as OTEL OutputMessage with role assistant) or a versioned OutputMessages wrapper.
function recordOutputMessages(messages: OutputMessagesParam)
Parameters
- messages
- OutputMessagesParam
Array of output message strings or an OutputMessages wrapper
recordOutputTokens(number)
Records the number of output tokens for telemetry tracking.
function recordOutputTokens(outputTokens: number)
Parameters
- outputTokens
-
number
Number of output tokens
start(Request, InferenceDetails, AgentDetails, UserDetails, SpanDetails)
Creates and starts a new scope for inference tracing.
static function start(request: Request, details: InferenceDetails, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): InferenceScope
Parameters
- request
- Request
Request payload (channel, conversationId, content, sessionId).
- details
- InferenceDetails
The inference call details (model, provider, tokens, etc.).
- agentDetails
- AgentDetails
The agent performing the inference. Tenant ID is derived from agentDetails.tenantId.
- userDetails
- UserDetails
Optional human caller identity.
- spanDetails
- SpanDetails
Optional span configuration (parentContext, startTime, endTime, spanLinks). Note: spanKind is ignored; InferenceScope always uses SpanKind.CLIENT.
Returns
A new InferenceScope instance
Inherited Method Details
dispose()
Legacy dispose method for compatibility
function dispose()
Inherited From OpenTelemetryScope.dispose
getSpanContext()
Gets the span context for this scope. This can be used to create a ParentSpanRef for explicit parent-child linking across async boundaries.
function getSpanContext(): SpanContext
Returns
SpanContext
The SpanContext containing traceId and spanId
Inherited From OpenTelemetryScope.getSpanContext
recordAttributes(undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)
Records multiple attribute key/value pairs for telemetry tracking.
function recordAttributes(attributes: undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)
Parameters
- attributes
-
undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>
Collection of attribute key/value pairs (array or iterable of [key, value] or object map).
Inherited From OpenTelemetryScope.recordAttributes
recordCancellation(string)
Records a cancellation event on the span. Sets the span status to ERROR with the cancellation reason and marks the error type as 'TaskCanceledException'.
function recordCancellation(reason?: string)
Parameters
- reason
-
string
Optional cancellation reason. Defaults to 'Task was cancelled'.
Inherited From OpenTelemetryScope.recordCancellation
recordError(Error)
Records an error that occurred during the operation
function recordError(error: Error)
Parameters
- error
-
Error
The error that occurred
Inherited From OpenTelemetryScope.recordError
setEndTime(TimeInput)
Sets a custom end time for the scope.
When set, dispose will pass this value to span.end() instead of using the current wall-clock time.
This is useful when the actual end time of the operation is known before the scope is disposed.
function setEndTime(endTime: TimeInput)
Parameters
- endTime
-
TimeInput
The end time as milliseconds since epoch, a Date, or an HrTime tuple.
Inherited From OpenTelemetryScope.setEndTime
withActiveSpanAsync<T>(() => Promise<T>)
Makes this span active for the duration of the async callback execution
function withActiveSpanAsync<T>(callback: () => Promise<T>): Promise<T>
Parameters
- callback
-
() => Promise<T>
Returns
Promise<T>
Inherited From OpenTelemetryScope.withActiveSpanAsync