ExecuteToolScope class

Provides OpenTelemetry tracing scope for AI tool execution operations.

Extends

Methods

recordResponse(string | Record<string, unknown>)

Records response information for telemetry tracking. Objects are serialized to JSON automatically.

start(Request, ToolCallDetails, AgentDetails, UserDetails, SpanDetails)

Creates and starts a new scope for tool execution tracing.

Inherited Methods

dispose()

Legacy dispose method for compatibility.

getSpanContext()

Gets the span context for this scope.

recordAttributes(undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)

Records multiple attribute key/value pairs.

recordCancellation(string)

Records a cancellation event on the span.

recordError(Error)

Records an error that occurred during the operation.

setEndTime(TimeInput)

Sets a custom end time for the scope. When set, dispose() will pass this value to span.end() instead of using wall-clock time.

withActiveSpanAsync<T>(() => Promise<T>)

Makes this span active for the duration of the async callback execution.

Method Details

recordResponse(string | Record<string, unknown>)

Records response information for telemetry tracking. Objects are serialized to JSON automatically.

function recordResponse(response: string | Record<string, unknown>)

Parameters

response

string | Record<string, unknown>

start(Request, ToolCallDetails, AgentDetails, UserDetails, SpanDetails)

Creates and starts a new scope for tool execution tracing.

static function start(request: Request, details: ToolCallDetails, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): ExecuteToolScope

Parameters

request
A365Request

Request payload (channel, conversationId, content, sessionId).

details
ToolCallDetails

The tool call details (name, type, args, call id, etc.).

agentDetails
AgentDetails

The agent executing the tool. tenantId is required.

userDetails
UserDetails

Optional human caller identity.

spanDetails
A365SpanDetails

Optional span configuration. Defaults to SpanKind.INTERNAL.

Returns

Inherited Method Details

dispose()

Legacy dispose method for compatibility.

function dispose()

Inherited From OpenTelemetryScope.dispose

getSpanContext()

Gets the span context for this scope.

function getSpanContext(): SpanContext

Returns

SpanContext

Inherited From OpenTelemetryScope.getSpanContext

recordAttributes(undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)

Records multiple attribute key/value pairs.

function recordAttributes(attributes: undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)

Parameters

attributes

undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>

Inherited From OpenTelemetryScope.recordAttributes

recordCancellation(string)

Records a cancellation event on the span.

function recordCancellation(reason?: string)

Parameters

reason

string

Inherited From OpenTelemetryScope.recordCancellation

recordError(Error)

Records an error that occurred during the operation.

function recordError(error: Error)

Parameters

error

Error

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 wall-clock time.

function setEndTime(endTime: TimeInput)

Parameters

endTime

TimeInput

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