跳至主要內容
Telemetry
資料庫可靠性 SQL查詢範例

測量長時間執行的資料庫事務

查詢具有長尾、回滾和開放持續時間過長的應用程式事務類。

中級database_transaction_events已審查 2026-07-28測試用 阿帕奇 DataFusion 45.2.0

審閱者 Telemetry產品團隊 . SQL 相容性、事件契約、合成輸出和操作注意事項. 審查標準和所有權

問題已回答

哪些應用程式事務類別保持開放時間最長?

長事務會佔用資源並會加劇鎖爭用。即使仍然需要伺服器端診斷,應用程式事件也可以識別所屬工作流程併發布。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp交易終端事件時間。
serviceUtf8擁有應用服務。
transaction_nameUtf8穩定的邏輯事務類。
releaseUtf8應用發布。
duration_msFloat64從開始到結束的交易持續時間。
outcomeUtf8已承諾,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 交易持續時間

發票最終確定具有最長的尾部和最不成功的結果。

servicetransaction_namereleasetransactionsp95_duration_msmax_duration_msunsuccessful
billinginvoice-finalizeapi-888206,80024,10028
projectsmember-importapi-882404,21018,2009

綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。

p95 transaction duration:來自 Measure Long-Running Database Transactions 範例結果的合成 p95_duration_ms 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

JSON 包包含型別化事件契約, illustrative 輸入行、確切的 SQL、預期輸出、審閱註釋和引擎版本。 CSV 包含顯示的結果。

SQL 是如何工作的

  1. 1事務類將持續時間連線到應用程式所有者。
  2. 2最大程度暴露了穩定百分位旁邊的極端資源。
  3. 3非提交結果包括完整終端檢視的回滾和超時。

需要決定的邊緣情況

  • 缺少終端事件需要單獨的開始到終端連線。
  • 伺服器等待事件和鎖定圖需要資料庫本機診斷。
  • 不要記錄具有繫結值的語句。

推薦儀表板

  • 酒吧:p95_duration_ms(按交易)
  • 趨勢:發布不成功
  • 資料表:最長安全交易事件

警示指導

當關鍵事務超時或其 p95 超出所有者批准的界限時發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

建立資料表,調整欄位並儲存結果

免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。

獲取 API 金鑰