InvokeAgentScope class
为 AI 代理调用作提供 OpenTelemetry 跟踪范围。
方法
| record |
记录遥测跟踪的输入消息。
接受单个字符串、字符串数组(作为角色 |
| record |
记录遥测跟踪的输出消息。
接受单个字符串、字符串数组(作为角色 |
| record |
记录遥测跟踪的响应信息。 |
| start(Request, Invoke |
创建并启动代理调用跟踪的新范围。 |
继承的方法
| dispose() | 用于兼容性的旧释放方法 |
| get |
获取此范围的范围上下文。 这可用于为跨异步边界的显式父子链接创建 ParentSpanRef。 |
| record |
记录多个用于遥测跟踪的属性键/值对。 |
| record |
记录跨度上的取消事件。 使用取消原因将范围状态设置为 ERROR,并将错误类型标记为“TaskCanceledException”。 |
| record |
记录作期间发生的错误 |
| set |
设置范围的自定义结束时间。
设置后, 释放 会将此值 |
| with |
使此范围在异步回调执行期间处于活动状态 |
方法详细信息
recordInputMessages(InputMessagesParam)
记录遥测跟踪的输入消息。
接受单个字符串、字符串数组(作为角色 user自动包装为 ANTS ChatMessage),或版本控制 InputMessages 包装器。
function recordInputMessages(messages: InputMessagesParam)
参数
- messages
- InputMessagesParam
字符串、字符串数组或 InputMessages 包装器
recordOutputMessages(OutputMessagesParam)
记录遥测跟踪的输出消息。
接受单个字符串、字符串数组(作为角色 assistant自动包装为 一个 ANTS OutputMessage)或版本控制 OutputMessages 包装器。
function recordOutputMessages(messages: OutputMessagesParam)
参数
- messages
- OutputMessagesParam
字符串、字符串数组或 OutputMessages 包装器
recordResponse(string)
记录遥测跟踪的响应信息。
function recordResponse(response: string)
参数
- response
-
string
调用响应
start(Request, InvokeAgentScopeDetails, AgentDetails, CallerDetails, SpanDetails)
创建并启动代理调用跟踪的新范围。
static function start(request: Request, invokeScopeDetails: InvokeAgentScopeDetails, agentDetails: AgentDetails, callerDetails?: CallerDetails, spanDetails?: SpanDetails): InvokeAgentScope
参数
- request
- Request
请求有效负载(通道、conversationId、内容、sessionId)。
- invokeScopeDetails
- InvokeAgentScopeDetails
范围级别详细信息
- agentDetails
- AgentDetails
代理标识。 租户 ID 派生自 agentDetails.tenantId (必需)。
- callerDetails
- CallerDetails
可选调用方信息。 支持三种方案:
- 仅限人工调用方:
{ userDetails: { userId, userName, ... } } - 仅代理调用方:
{ callerAgentDetails: { agentId, agentName, ... } } - 两者(A2A 与人类在链中):
{ userDetails: { ... }, callerAgentDetails: { ... } }
- spanDetails
- SpanDetails
可选范围配置(parentContext、startTime、endTime、spanKind、spanLinks)。
返回
新的 InvokeAgentScope 实例。
继承的方法详细信息
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>