活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 交易終端事件時間。 |
| service | Utf8 | 擁有應用服務。 |
| transaction_name | Utf8 | 穩定的邏輯事務類。 |
| release | Utf8 | 應用發布。 |
| duration_ms | Float64 | 從開始到結束的交易持續時間。 |
| outcome | Utf8 | 已承諾,rolled_back 或 timed_out。 |
DataFusion SQL
複製查詢
sql
SELECT
service,
transaction_name,
release,
COUNT(*) AS transactions,
approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms,
MAX(duration_ms) AS max_duration_ms,
SUM(CASE WHEN outcome <> 'committed' THEN 1 ELSE 0 END) AS unsuccessful
FROM database_transaction_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY service, transaction_name, release
ORDER BY p95_duration_ms DESC, unsuccessful DESC;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
p95 交易持續時間
發票最終確定具有最長的尾部和最不成功的結果。
invoice-finalize
6,800 ms
comparison 28 ms
member-import
4,210 ms
comparison 9 ms
| service | transaction_name | release | transactions | p95_duration_ms | max_duration_ms | unsuccessful |
|---|---|---|---|---|---|---|
| billing | invoice-finalize | api-88 | 820 | 6,800 | 24,100 | 28 |
| projects | member-import | api-88 | 240 | 4,210 | 18,200 | 9 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1事務類將持續時間連線到應用程式所有者。
- 2最大程度暴露了穩定百分位旁邊的極端資源。
- 3非提交結果包括完整終端檢視的回滾和超時。
需要決定的邊緣情況
- 缺少終端事件需要單獨的開始到終端連線。
- 伺服器等待事件和鎖定圖需要資料庫本機診斷。
- 不要記錄具有繫結值的語句。
推薦儀表板
- 酒吧:p95_duration_ms(按交易)
- 趨勢:發布不成功
- 資料表:最長安全交易事件
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。