ExecuteToolScope class
为 AI 工具执行作提供 OpenTelemetry 跟踪范围。
方法
| record |
记录遥测跟踪的响应信息。 |
| start(Request, Tool |
创建并启动工具执行跟踪的新范围。 |
继承的方法
| dispose() | 用于兼容性的旧释放方法 |
| get |
获取此范围的范围上下文。 这可用于为跨异步边界的显式父子链接创建 ParentSpanRef。 |
| record |
记录多个用于遥测跟踪的属性键/值对。 |
| record |
记录跨度上的取消事件。 使用取消原因将范围状态设置为 ERROR,并将错误类型标记为“TaskCanceledException”。 |
| record |
记录作期间发生的错误 |
| set |
设置范围的自定义结束时间。
设置后, 释放 会将此值 |
| with |
使此范围在异步回调执行期间处于活动状态 |
方法详细信息
recordResponse(string | Record<string, unknown>)
记录遥测跟踪的响应信息。
function recordResponse(response: string | Record<string, unknown>)
参数
- response
-
string | Record<string, unknown>
工具执行响应。 对象自动序列化为 JSON。
start(Request, ToolCallDetails, AgentDetails, UserDetails, SpanDetails)
创建并启动工具执行跟踪的新范围。
static function start(request: Request, details: ToolCallDetails, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): ExecuteToolScope
参数
- request
- Request
请求有效负载(通道、conversationId、内容、sessionId)。
- details
- ToolCallDetails
工具调用详细信息(名称、类型、参数、呼叫 ID 等)。
- agentDetails
- AgentDetails
执行该工具的代理。 租户 ID 派生自 agentDetails.tenantId.
- userDetails
- UserDetails
可选的人工调用方标识。
- spanDetails
- SpanDetails
可选范围配置(parentContext、startTime、endTime、spanLinks、spanKind)。 默认为 SpanKind.INTERNAL。
返回
新的 ExecuteToolScope 实例。
继承的方法详细信息
dispose()
getSpanContext()
获取此范围的范围上下文。 这可用于为跨异步边界的显式父子链接创建 ParentSpanRef。
function getSpanContext(): SpanContext
返回
SpanContext
包含 traceId 和 spanId 的 SpanContext
recordAttributes(undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)
记录多个用于遥测跟踪的属性键/值对。
function recordAttributes(attributes: undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)
参数
- attributes
-
undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>
属性键/值对的集合(数组或可迭代 [键,值] 或对象映射)。
recordCancellation(string)
记录跨度上的取消事件。 使用取消原因将范围状态设置为 ERROR,并将错误类型标记为“TaskCanceledException”。
function recordCancellation(reason?: string)
参数
- reason
-
string
可选的取消原因。 默认为“任务已取消”。
recordError(Error)
记录作期间发生的错误
function recordError(error: Error)
参数
- error
-
Error
发生的错误
setEndTime(TimeInput)
设置范围的自定义结束时间。
设置后, 释放 会将此值 span.end() 传递给而不是使用当前的时钟时间。
当在释放作用域之前已知操作的实际结束时间时,这非常有用。
function setEndTime(endTime: TimeInput)
参数
- endTime
-
TimeInput
自纪元、日期或 HrTime 元组以来的结束时间(以毫秒为单位)。
withActiveSpanAsync<T>(() => Promise<T>)
使此范围在异步回调执行期间处于活动状态
function withActiveSpanAsync<T>(callback: () => Promise<T>): Promise<T>
参数
- callback
-
() => Promise<T>
返回
Promise<T>