VolcengineVolcengine ADK

埋点字段说明

埋点时机

为适配 Google ADK 埋点规范,VeADK 中的埋点时机与 Google ADK 保持一致,主要在以下几个时机进行埋点:

  • 调用 Agent 时:在 Runner 的 _run_with_trace 函数中埋点,Span 名称为 invocation
  • 运行 Agent 时:在 Agent 的 run_async 函数中埋点,Span 名称为 invoke_agent {agent.name}
  • 调用模型时:在 BaseLlmFlow 的 _call_llm_with_tracing 函数中埋点,Span 名称为 call_llm
  • 调用工具时:在 BaseLlmFlow 的 _execute_single_function_call_async 函数中埋点,Span 名称为 execute_tool {tool.name}

在每个时机时,都会创建对应名字的 Span,用于记录该时机的详细信息。当某阶段结束时,会调用对应的打点函数,将该阶段的信息记录到 Span 中:

埋点字段说明

VeADK 的 Span 属性命名和值规范遵循 OpenTelemetry 社区以及火山引擎 CozeLoop、APMPlus 等产品要求。VeADK 中的 Span 属性主要分为三类:

  • 通用类:在所有类型的 Span 中存在
  • LLM 类:在 call_llm Span 中存在
  • Tool 类:在 tool_call Span 中存在

埋点字段注意事项

由于 OpenTelemetry 社区对生成式 AI 的字段规范还在发展完善中,因此部分字段含义可能会发生变化。

输入输出内容采集开关

observability.opentelemetry.trace_content 或环境变量 OBSERVABILITY_OPENTELEMETRY_TRACE_CONTENT 控制 Agent、LLM 与 Tool 输入输出内容采集。设为 false 后,下表中标记“受内容采集开关控制”的字段不会写入 Span;普通链路、模型参数、Token 用量、工具名等非内容信息仍会保留。

通用类

序号埋点字段名含义注释
1gen_ai.system生成式 AI 系统提供商名称,用于识别模型提供方缺省值为 <unknown_model_provider>
2gen_ai.system.versionVeADK 框架版本号,用于版本追踪与兼容性分析固定返回 veadk.version.VERSION
3gen_ai.agent.nameAgent 名称,用于区分不同实例缺省值为 <unknown_agent_name>
4openinference.instrumentation.veadkVeADK 的 OpenInference 标准化埋点版本标识固定返回 veadk.version.VERSION
5gen_ai.app.nameAgent 系统中的 app_name缺省值为 <unknown_app_name>
6gen_ai.user.idAgent 系统中的 user_id缺省值为 <unknown_user_id>
7gen_ai.session.idAgent 系统中的 session_id缺省值为 <unknown_session_id>
8agent_nameAgent 名称gen_ai.agent.name,用于 CozeLoop 平台
9agent.nameAgent 名称gen_ai.agent.name,用于 TLS 平台
10app_nameAgent 系统中的 app_namegen_ai.app.name,用于 CozeLoop 平台
11app.nameAgent 系统中的 app_namegen_ai.app.name,用于 TLS 平台
12user.idAgent 系统中的 user_idgen_ai.user.id,用于 CozeLoop 平台、TLS 平台
13session.idAgent 系统中的 session_idgen_ai.session.id,用于 CozeLoop 平台、TLS 平台
14cozeloop.report.sourceTrace 数据来源标识固定返回 veadk,表示来自 VeADK 框架,用于 CozeLoop 平台
15cozeloop.call_typeCozeLoop 调用类型缺省值为 None

LLM 类

序号埋点字段名含义注释
1gen_ai.request.model模型名称,用于识别调用的具体模型params.llm_request.model 获取;缺省值为 <unknown_model_name>
2gen_ai.request.typeLLM 请求类型,标识交互方式固定返回 chat,表示对话式交互
3gen_ai.request.max_tokens所配置的响应最大生成 token 数params.llm_request.config.max_output_tokens 获取
4gen_ai.request.temperature采样温度参数,控制生成随机性params.llm_request.config.temperature 获取
5gen_ai.request.top_p云上推理时的 top-p 参数params.llm_request.config.top_p 获取
6gen_ai.request.functions请求中定义的函数/工具元数据提取每个工具的名称、描述及参数定义,用于 CozeLoop 平台
7gen_ai.response.model实际响应使用的模型名称与请求模型一致时表示正常返回
8gen_ai.response.stop_reason响应生成停止原因当前返回占位符 <no_stop_reason_provided>,待后续实现
9gen_ai.response.finish_reason响应完成原因当前返回占位符 "<no_finish_reason_provided>",用于区分自然结束/截断等情况
10gen_ai.is_streaming是否为流式响应返回 None
11gen_ai.operation.name操作名称固定返回 chat,用于统一标识操作类型
12gen_ai.span.kindSpan 类型固定返回 llm,符合 OpenTelemetry 语义约定
13gen_ai.prompt请求输入内容结构化信息按消息顺序记录角色、内容、函数调用、图片等输入;受内容采集开关控制
14gen_ai.completion模型响应内容结构化信息记录模型生成的文本、函数调用等输出内容;受内容采集开关控制
15gen_ai.usage.input_tokens输入 token 数量params.llm_response.usage_metadata.prompt_token_count 提取
16gen_ai.usage.output_tokens输出 token 数量params.llm_response.usage_metadata.candidates_token_count 提取
17gen_ai.usage.total_tokens总 token 数量params.llm_response.usage_metadata.total_token_count 提取
18gen_ai.usage.cache_creation_input_tokens缓存创建所用 token 数量params.llm_response.usage_metadata.cached_content_token_count 提取
19gen_ai.usage.cache_read_input_tokens缓存读取所用 token 数量params.llm_response.usage_metadata.cached_content_token_count 提取
20gen_ai.messages完整对话消息事件包括系统指令、用户消息、工具响应和助手回复的结构化事件序列;受内容采集开关控制
21gen_ai.choice模型选择事件表示模型生成的候选响应(含函数调用或文本内容);受内容采集开关控制
22input.value完整 LLM 请求体(供调试使用) 序列化输出请求对象
23output.value完整 LLM 响应体(供调试使用) 序列化输出响应对象

Tool 类

序号埋点字段名含义注释
1gen_ai.operation.name操作名称固定返回 execute_tool,统一标识工具调用操作
2gen_ai.tool.name工具名称params.tool.name 获取;若无则为 <unknown_tool_name>,用于 TLS 平台
3gen_ai.tool.input工具输入内容JSON 序列化包含:namedescriptionparameters,用于记录工具调用参数,用于 TLS 平台;受内容采集开关控制
4gen_ai.tool.output工具输出内容JSON 序列化包含:idnameresponse,记录工具执行结果,用于 TLS 平台;受内容采集开关控制
5cozeloop.input工具输入gen_ai.tool.input,用于 CozeLoop 平台;受内容采集开关控制
6cozeloop.output工具输出gen_ai.tool.output,用于 CozeLoop 平台;受内容采集开关控制
7gen_ai.span.kindSpan 类型固定返回 tool,遵循 OpenTelemetry 语义约定,用于 APMPlus 平台
8gen_ai.input工具输入gen_ai.tool.input,用于 APMPlus 平台;受内容采集开关控制
9gen_ai.output工具输出gen_ai.tool.output,用于 APMPlus 平台;受内容采集开关控制

本页导航