結構化事件的關聯 ID
關聯 ID 連線由同一工作流程建立的記錄。它可以將入站請求連結到排隊作業、將 Webhook 連結到計費同步或將結構化結果事件連結到現有追蹤。
選擇一個具有唯一含義的 ID
為其代表的事物命名識別符號:request_id、trace_id、job_id、webhook_delivery_id 或 workflow_run_id。當不同的服務賦予不同的含義時,通用的 correlation_id 會更難使用。
在最早的可信邊界生成值,並將其明確地傳遞到下游工作。當上遊追蹤 ID 可用時,保留該 ID。對於非同步作業,當每個作業回答不同的問題時,請儲存原始請求或工作流程 ID 以及作業系統自己的 ID。
請勿使用電子郵件地址、存取權杖或原始提供商有效負載作為相關值。不透明的內部識別符號更容易輪換並且更安全地在查詢結果中公開。
查詢工作流程
一旦相關資料表共享一個識別符號,SQL 就可以重建序列:
SELECT
timestamp_utc,
event_name,
status,
duration_ms,
error_type
FROM workflow_events
WHERE workflow_run_id = 'run_example'
ORDER BY timestamp_utc;
對於聚合儀表板,按穩定類別而不是 ID 本身進行分組。將相關 ID 保留在最近的故障資料表或深入查詢中,以便工程師可以從速率轉向具體範例。
避免常見的休息時間
不要在每個服務中生成新的請求 ID。不要使某一欄位過載,某些行上使用請求 ID,而其他行上使用帳戶 ID。確認重試保留工作流程 ID,同時接收不同的嘗試或交付 ID。如果該值跨越信任邊界,請在記錄之前驗證其格式和長度。
相關性創造了可導覽性,而不是因果關係本身。記錄值如何傳播以及哪個事件擁有最終結果。
將本指南與 日誌、指標、追蹤和事件 和 高基數字段 配對。