活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 資料庫操作完成時(UTC)。 |
| query_fingerprint | Utf8 | 沒有參數值的標準化、有界操作標籤。 |
| service | Utf8 | 發出操作的應用程式或工作人員。 |
| database_name | Utf8 | 批准的邏輯資料庫名稱。 |
| status | Utf8 | 成功或失敗。 |
| duration_ms | Float64 | 端到端資料庫操作持續時間(以毫秒為單位)。 |
| rows_returned | Int64 | 當客戶端公開計數時返回或受影響的行。 |
| release | Utf8 | 發出查詢的應用程式版本。 |
| environment | Utf8 | 部署環境。 |
DataFusion SQL
複製查詢
sql
SELECT
query_fingerprint,
service,
database_name,
COUNT(*) AS executions,
SUM(CASE WHEN duration_ms >= 1000 THEN 1 ELSE 0 END) AS slow_executions,
100.0 * SUM(CASE WHEN duration_ms >= 1000 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS slow_query_rate_pct,
AVG(duration_ms) AS average_duration_ms,
MAX(duration_ms) AS maximum_duration_ms
FROM database_query_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
AND environment = 'production'
GROUP BY query_fingerprint, service, database_name
HAVING COUNT(*) >= 10
ORDER BY slow_query_rate_pct DESC, executions DESC
LIMIT 20;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
指紋慢查詢率
大多數執行中發票更新都很慢,而目錄查詢仍低於說明性的一秒閾值。
UPDATE invoices SET status = ?
80%
comparison 1,250%
SELECT checkout WITH line_items
50%
comparison 1,012.5%
SELECT products BY category
0%
comparison 330%
| query_fingerprint | service | database_name | executions | slow_executions | slow_query_rate_pct | average_duration_ms | maximum_duration_ms |
|---|---|---|---|---|---|---|---|
| UPDATE invoices SET status = ? | billing-worker | app_production | 10 | 8 | 80 | 1,250 | 1,700 |
| SELECT checkout WITH line_items | checkout-api | app_production | 12 | 6 | 50 | 1,012.5 | 1,600 |
| SELECT products BY category | catalog-api | catalog_production | 12 | 0 | 0 | 330 | 440 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1指紋是應用程式控制的標籤,而不是原始 SQL。這限制了基數並避免捕獲參數值。
- 2速率可區分偶爾緩慢的高容量操作和大多數時間緩慢的操作。
- 3最小執行計數可以防止單個冷查詢主導排名。
需要決定的邊緣情況
- 每個工作負載選擇一個慢速閾值;一秒是說明性的,對於互動式請求來說可能太長了。
- 客戶端持續時間包括池等待和網路時間,除非這些階段是單獨記錄的。
- 不要記錄原始查詢參數、連線字串或不受限制的 SQL 文字。
推薦儀表板
- 酒吧:slow_query_rate_pct by query_fingerprint
- 趨勢:average_duration_ms(按版本)
- 資料表:所選指紋和服務的最新故障
讓查詢範例發揮作用
相關埋點和指南
定義源資料
此分析的事件模式
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。