活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 依賴呼叫完成時間。 |
| dependency_name | Utf8 | 穩定的邏輯依賴名稱。 |
| operation | Utf8 | 規範化操作或路線。 |
| status | Utf8 | 成功、失敗或超時。 |
| latency_ms | Float64 | 依賴持續時間(以毫秒為單位)。 |
DataFusion SQL
複製查詢
sql
SELECT
dependency_name,
operation,
COUNT(*) AS calls,
approx_percentile_cont(latency_ms, 0.50) AS p50_ms,
approx_percentile_cont(latency_ms, 0.95) AS p95_ms,
100.0 * SUM(CASE WHEN status <> 'success' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS failure_rate_pct
FROM dependency_calls
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY dependency_name, operation
HAVING COUNT(*) >= 50
ORDER BY p95_ms DESC
LIMIT 20;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
依賴 p95 延遲
儘管中位數可以接受,但發票歷史記錄仍存在嚴重的長尾現象。
billing_database
1,820 ms
comparison 84 ms
search_provider
760 ms
comparison 132 ms
redis
12 ms
comparison 3 ms
| dependency_name | operation | calls | p50_ms | p95_ms | failure_rate_pct |
|---|---|---|---|---|---|
| billing_database | invoice_history | 1,840 | 84 | 1,820 | 0.49 |
| search_provider | document_search | 6,220 | 132 | 760 | 1.21 |
| redis | session_lookup | 44,100 | 3 | 12 | 0.02 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1按邏輯依賴性和操作進行分組可以使結果具有可操作性。
- 2p50 和 p95 之間的差距將持續緩慢的服務與間歇性的尾部行為區分開來。
- 3失敗率會阻止快速失敗的依賴關係顯得健康。
需要決定的邊緣情況
- 避免在操作名稱中使用原始 SQL 文字、完整 URL 或客戶識別符號。
- 並行依賴呼叫不會線性增加請求持續時間。
- 如果追蹤已包含此計時,則僅記錄連線結果所需的業務上下文。
推薦儀表板
- 分組條:按依賴性劃分的 p50_ms 和 p95_ms
- 趨勢:p95 延遲和故障率
- 資料表:具有路由、發布和追蹤 ID 的慢速依賴項呼叫
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。