跳转到内容
Telemetry
API 可靠性 SQL查询示例

按版本比较 API 可靠性

比较跨应用程序版本的流量、5xx 速率和 p95 延迟,无需将每个部署后更改都归因于部署。

中级api_requests已审核 2026-07-27测试用 阿帕奇 DataFusion 45.2.0

审阅者 Telemetry产品团队 . SQL 兼容性、事件契约、合成输出和操作注意事项. 审查标准和所有权

问题已回答

哪些版本会出现更严重的 API 错误或尾部延迟?

发布标签将时间相关的事件转变为可测试的比较。数量、故障和延迟是一体的,因此小金丝雀不会被视为全面部署。

活动合约

查询期望的字段

字段类型为什么存在
timestamp_utcTimestamp请求完成时间。
release_versionUtf8应用程序版本或构建标识符。
status_codeInt64HTTP 响应状态代码。
latency_msFloat64请求持续时间(以毫秒为单位)。
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 延迟。

release_versionrequestserror_rate_pctp95_latency_ms
2026.07.27.222,6401.821,180
2026.07.27.118,1100.44620
2026.07.26.439,4000.31590

综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。

5xx rate by release:来自 Compare API Reliability by Release 示例结果的合成 error_rate_pct 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载公共装置

JSON 包包含类型化事件契约, illustrative 输入行、确切的 SQL、预期输出、审阅注释和引擎版本。 CSV 包含显示的结果。

SQL 是如何工作的

  1. 1按版本分组可将重叠的推出流量分开。
  2. 2最小体积规则可以保护与微小金丝雀样本的比较。
  3. 3将结果视为相关性:在分配原因之前先进行路线、区域、客户和错误类型细分。

需要决定的边缘情况

  • 没有发布标识符的请求无法支持部署分析。
  • 逐步推出需要部署开始时间和流量共享以及这些聚合。
  • 不要比较服务根本不同的路线或没有细分的客户群的版本。

推荐仪表板

  • 条形:error_rate_pct(按版本)
  • 分组条:p95 延迟和请求量
  • 表:所选版本的错误类型

警报指导

当最新版本在速率和最小数量上超过之前的稳定版本时发出警报。

读取警报设置

让查询示例发挥作用

相关埋点和指南

继续分析

在真实事件中运行它

创建表,调整字段并保存结果

免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。

获取 API 密钥