通过


跟踪和可观测性

DevUI 为捕获和显示代理框架发出的 OpenTelemetry (OTel) 跟踪提供内置支持。 DevUI 不创建自己的范围 - 它收集代理框架在代理和工作流执行期间发出的范围,然后在调试面板中显示它们。 这有助于调试代理行为、了解执行流并确定性能问题。

即将推出

即将推出适用于 C# 的 DevUI 文档。 请稍后查看或参阅 Python 文档了解概念指南。

启用跟踪

使用 --tracing 标志启动 DevUI 时启用跟踪:

devui ./agents --tracing

这将为 Agent Framework 的操作启用 OpenTelemetry 跟踪。

在 DevUI 中查看跟踪

启用跟踪后,DevUI Web 界面会显示跟踪信息:

  1. 通过 UI 运行代理或工作流
  2. 打开调试面板(在开发人员模式下可用)
  3. 查看显示的跟踪时间线:
    • 跨度层次结构
    • 计时信息
    • 代理与/或工作流事件
    • 工具调用和结果

跟踪结构

代理框架根据 OpenTelemetry 的 GenAI 语义约定发出追踪。 典型的跟踪包括:

Agent Execution
    LLM Call
        Prompt
        Response
    Tool Call
        Tool Execution
        Tool Result
    LLM Call
        Prompt
        Response

对于工作流,跟踪记录显示了通过执行器的执行路径:

Workflow Execution
    Executor A
        Agent Execution
            ...
    Executor B
        Agent Execution
            ...

程序化跟踪

在以编程方式使用 serve() DevUI 时,可以启用追踪功能:

from agent_framework.devui import serve

serve(
    entities=[agent],
    tracing_enabled=True
)

与外部工具集成

DevUI 捕获并显示由代理框架发出的跟踪数据 - 它不会创建自己的跨度。 这些是标准的 OpenTelemetry 追踪数据,也可导出至其他外部观测工具,例如:

  • Jaeger
  • Zipkin
  • Azure Monitor
  • Datadog

若要将跟踪导出到外部收集器,请设置 OTLP_ENDPOINT 环境变量:

export OTLP_ENDPOINT="http://localhost:4317"
devui ./agents --tracing

如果没有 OTLP 终结点,跟踪会在本地记录,仅显示在 DevUI 调试面板中。

有关 Agent Framework 可观测性的更多详细信息:

后续步骤