活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 当工具调用完成时。 |
| event_name | Utf8 | agent_tool_called 用于这些事件。 |
| data.tool_name | Utf8 | 嵌套工具标识符显示为虚线列。 |
| data.status | Utf8 | 嵌套成功或失败状态。 |
| data.args.operation | Utf8 | 安全、分类的操作而不是原始参数。 |
| data.latency_ms | Float64 | 嵌套工具调用延迟。 |
DataFusion SQL
复制查询
sql
SELECT
"data.tool_name" AS tool_name,
"data.args.operation" AS operation,
COUNT(*) AS calls,
SUM(CASE
WHEN "data.status" = 'failed' THEN 1 ELSE 0
END) AS failures,
100.0 * SUM(CASE
WHEN "data.status" = 'failed' THEN 1 ELSE 0
END) / NULLIF(COUNT(*), 0) AS failure_rate_pct,
approx_percentile_cont("data.latency_ms", 0.95) AS p95_latency_ms
FROM agent_events
WHERE event_name = 'agent_tool_called'
AND timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY "data.tool_name", "data.args.operation"
HAVING COUNT(*) >= 20
ORDER BY failure_rate_pct DESC, calls DESC;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
工具调用失败率
CRM 查找是最不可靠的工具操作,而且在 p95 上也是最慢的。
crm_lookup
7.24%
order_api
1.99%
knowledge_search
0.42%
| tool_name | operation | calls | failures | failure_rate_pct | p95_latency_ms |
|---|---|---|---|---|---|
| crm_lookup | search_contact | 842 | 61 | 7.24 | 2,180 |
| order_api | fetch_order | 2,210 | 44 | 1.99 | 940 |
| knowledge_search | semantic_search | 4,510 | 19 | 0.42 | 720 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1点式字段名称用双引号引起来,因为点是推断的列名称的一部分。
- 2查询按工具和分类操作进行分组,保留足够的上下文来区分一种工具的不同行为。
- 3默认情况下不应记录原始工具参数。而是存储安全类别、标识符和结果字段。
需要决定的边缘情况
- 随着架构的发展,保持嵌套字段类型稳定。
- 不同的工具可能有不同的成功语义;在检测时标准化状态值。
- 高基数原始参数可能会产生隐私、成本和可用性问题。
推荐仪表板
- 条形图:failure_rate_pct by tool_name
- 折线图:p95_latency_ms 随着时间的推移按工具划分
- 表:error_type 和智能体工作流程的最近故障
让查询示例发挥作用
相关埋点和指南
定义源数据
此分析的事件模式
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。