活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 請求完成時間。 |
| service | Utf8 | 穩定的服務名稱。 |
| slo_eligible | Boolean | 請求是否屬於 SLO 分母。 |
| slo_good | Boolean | 請求是否滿足 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% 的目標。
2026-07-25
99.93%
2026-07-26
99.82%
2026-07-27
99.95%
| day | service | eligible_requests | good_requests | availability_pct | objective_pct |
|---|---|---|---|---|---|
| 2026-07-25 | query_api | 182,400 | 182,274 | 99.93 | 99.9 |
| 2026-07-26 | query_api | 176,820 | 176,501 | 99.82 | 99.9 |
| 2026-07-27 | ingestion_api | 248,100 | 247,976 | 99.95 | 99.9 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1明確的資格可以保護分母免受健康檢查或不受支援的流量的影響。
- 2當目標需要正確性和延遲時,slo_good 可以對兩者進行編碼。
- 3目標在觀察值旁邊返回,因此圖表和評論保留了決策邊界。
需要決定的邊緣情況
- 使用完整的時間段進行尋呼和合規性報告。
- 記錄排除的流量,以便 SLO 無法透過靜默的分母更改來改進。
- 每日檢視有助於回顧;快速的錯誤預算警示通常需要更短的視窗。
推薦儀表板
- 趨勢:availability_pct 與目標線
- 統計:所選時間段內的合規天數
- 資料表:錯過服務日的不良事件
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。