活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 请求完成时间。 |
| release_version | Utf8 | 应用程序版本或构建标识符。 |
| status_code | Int64 | HTTP 响应状态代码。 |
| latency_ms | Float64 | 请求持续时间(以毫秒为单位)。 |
DataFusion SQL
复制查询
sql
SELECT
release_version,
COUNT(*) AS requests,
100.0 * SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS error_rate_pct,
approx_percentile_cont(latency_ms, 0.95) AS p95_latency_ms
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '7 days'
AND release_version IS NOT NULL
GROUP BY release_version
HAVING COUNT(*) >= 100
ORDER BY error_rate_pct DESC, p95_latency_ms DESC;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
按版本划分的 5xx 速率
版本 2026.07.27.2 具有最高的错误率和 p95 延迟。
2026.07.27.2
1.82%
comparison 1,180%
2026.07.27.1
0.44%
comparison 620%
2026.07.26.4
0.31%
comparison 590%
| release_version | requests | error_rate_pct | p95_latency_ms |
|---|---|---|---|
| 2026.07.27.2 | 22,640 | 1.82 | 1,180 |
| 2026.07.27.1 | 18,110 | 0.44 | 620 |
| 2026.07.26.4 | 39,400 | 0.31 | 590 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1按版本分组可将重叠的推出流量分开。
- 2最小体积规则可以保护与微小金丝雀样本的比较。
- 3将结果视为相关性:在分配原因之前先进行路线、区域、客户和错误类型细分。
需要决定的边缘情况
- 没有发布标识符的请求无法支持部署分析。
- 逐步推出需要部署开始时间和流量共享以及这些聚合。
- 不要比较服务根本不同的路线或没有细分的客户群的版本。
推荐仪表板
- 条形:error_rate_pct(按版本)
- 分组条:p95 延迟和请求量
- 表:所选版本的错误类型
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。