活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 事件時間(UTC)。 |
| workflow_id | Utf8 | 跨工作流程步驟共享的識別符號。 |
| event_name | Utf8 | 有界生命週期事件名稱。 |
| status | Utf8 | 正常或失敗。 |
| service | Utf8 | 發出事件的服務。 |
| correlation_id | Utf8 | 可選的請求到工作流程關聯識別符號。 |
| environment | Utf8 | 部署環境。 |
DataFusion SQL
複製查詢
sql
WITH target_workflow AS (
SELECT workflow_id
FROM workflow_timeline_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
AND status = 'failed'
ORDER BY timestamp_utc DESC
LIMIT 1
),
workflow_start AS (
SELECT
events.workflow_id,
MIN(events.timestamp_utc) AS started_at
FROM workflow_timeline_events AS events
JOIN target_workflow AS target
ON target.workflow_id = events.workflow_id
GROUP BY events.workflow_id
)
SELECT
events.workflow_id,
ROW_NUMBER() OVER (
PARTITION BY events.workflow_id
ORDER BY events.timestamp_utc, events.event_name
) AS step_number,
events.event_name,
events.service,
events.status,
date_part('epoch', events.timestamp_utc - starts.started_at)
AS elapsed_seconds
FROM workflow_timeline_events AS events
JOIN workflow_start AS starts
ON starts.workflow_id = events.workflow_id
ORDER BY events.workflow_id, step_number;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
失敗的工作流程事件時間線
工作流程開始 47 秒後,付款和庫存均成功後,貨件建立失敗。
| workflow_id | step_number | event_name | service | status | elapsed_seconds |
|---|---|---|---|---|---|
| workflow_1024 | 1 | workflow_started | checkout-api | ok | 0 |
| workflow_1024 | 2 | payment_authorized | checkout-api | ok | 8 |
| workflow_1024 | 3 | inventory_reserved | fulfillment-worker | ok | 21 |
| workflow_1024 | 4 | shipment_created | fulfillment-worker | failed | 47 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1目標 CTE 選擇一個失敗的工作流程,而不是混合獨立的執行。
- 2工作流程啟動提供跨服務的公共經過時間源。
- 3ROW_NUMBER 生成人類可讀的步驟序列,同時狀態和服務欄位保留除錯上下文。
需要決定的邊緣情況
- 使用防衝突工作流程識別符號和傳播它的文件。
- 延遲或時鐘偏差的事件可能需要攝取時間作為輔助排序欄位。
- 大容量工作流程可能需要有界事件名稱白名單或追蹤取樣。
推薦儀表板
- 時間表:elapsed_seconds by event_name 和服務
- 資料表:最後一個成功步驟的失敗工作流程
- 連結:workflow_id 過濾的事件詳細資訊
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。