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

根据 SLO 衡量 API 可用性

计算每日可用性并显示服务是否达到其明确的目标。

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

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

问题已回答

每项服务是否达到其每日可用性目标?

SLO 将可靠性率转变为决策边界。将良好事件、总体事件和目标放在一起使得合规审查可审计。

活动合约

查询期望的字段

字段类型为什么存在
timestamp_utcTimestamp请求完成时间。
serviceUtf8稳定的服务名称。
slo_eligibleBoolean请求是否属于 SLO 分母。
slo_goodBoolean请求是否满足 SLO。
DataFusion SQL

复制查询

sql
SELECT
  date_trunc('day', timestamp_utc) AS day,
  service,
  SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END) AS eligible_requests,
  SUM(CASE WHEN slo_eligible AND slo_good THEN 1 ELSE 0 END)
    AS good_requests,
  100.0 * SUM(CASE WHEN slo_eligible AND slo_good THEN 1 ELSE 0 END)
    / NULLIF(SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END), 0)
    AS availability_pct,
  99.9 AS objective_pct
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '30 days'
GROUP BY date_trunc('day', timestamp_utc), service
HAVING SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END) > 0
ORDER BY day, service;

此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。

查询结果

每日服务可用性

7 月 26 日,查询 API 未达到 99.9% 的目标。

dayserviceeligible_requestsgood_requestsavailability_pctobjective_pct
2026-07-25query_api182,400182,27499.9399.9
2026-07-26query_api176,820176,50199.8299.9
2026-07-27ingestion_api248,100247,97699.9599.9

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

Daily service availability:来自 Measure API Availability Against an SLO 示例结果的合成 availability_pct 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载公共装置

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

SQL 是如何工作的

  1. 1明确的资格可以保护分母免受健康检查或不受支持的流量的影响。
  2. 2当目标需要正确性和延迟时,slo_good 可以对两者进行编码。
  3. 3目标在观察值旁边返回,因此图表和评论保留了决策边界。

需要决定的边缘情况

  • 使用完整的时间段进行寻呼和合规性报告。
  • 记录排除的流量,以便 SLO 无法通过静默的分母更改来改进。
  • 每日视图有助于回顾;快速的错误预算警报通常需要更短的窗口。

推荐仪表板

  • 趋势:availability_pct 与目标线
  • 统计:所选时间段内的合规天数
  • 表:错过服务日的不良事件

警报指导

使用多窗口错误预算消耗警报进行寻呼,并使用每日视图进行合规性审查。

读取警报设置

让查询示例发挥作用

相关埋点和指南

继续分析

在真实事件中运行它

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

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

获取 API 密钥