結構化 Telemetry 的事件取樣策略
抽樣保留合格事件的子集。它可以減少交付和儲存量,但它也改變了資料集可以回答的內容。抽樣應遵循測量的成本或規模問題,而不是取代模式審查、重複刪除或保留策略。
在取樣之前,刪除未使用的欄位,標準化意外的高基數值,停止重複的生產者,並使用 遙測體積配方 測量事件計數和有效負載位元組。
保留罕見且重要的成果
保持終端故障、安全相關事件、計費記錄、事件里程碑和罕見工作流程結果的完全保真度,除非經批准的控制另有說明。統一的百分之一樣本可以準確消除操作員在事故期間需要的事件。
常見的啟動策略是:
- 保留所有失敗、超時、重試耗盡以及明確的客戶影響事件;
- 在有界事件視窗期間保留小型診斷允許列表中的所有事件;
- 僅對大量成功結果進行抽樣;
- 保持小批次業務里程碑不抽樣。
確定性取樣
確定性取樣使相關決策具有可重複性。使用版本化策略對穩定識別符號(例如 request_id、trace_id 或 account_id)進行雜湊處理,然後將其與目標速率進行比較。相同的識別符號應該做出相同的決定,而策略版本保持不變。
記錄:
sampled或同等收款結果;sample_rate,如0.1;sampling_policy,如api_success_v2;- 用於決策的穩定維度。
當原始雜湊輸入敏感時,不要儲存它。如果分析期望步驟保持可連線,則不要為工作流程的每個步驟獨立生成新的隨機決策。
明確加權分析
如果成功事件的取樣率為 10%,則每個保留的成功代表在策略假設下大約十個合格的成功。儲存包含機率並在估計計數時使用顯式權重。
SELECT
route_template,
SUM(1.0 / sample_rate) AS estimated_requests
FROM api_request_completed
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template
ORDER BY estimated_requests DESC;
加權計數不會自動修復每個統計資料。尾部百分位、不同使用者數量、漏斗、群組保留和小客戶群可能會變得不穩定或有偏見。保留未取樣的資料以進行分母或序列關係必須準確的分析。
版本和評估政策
更改速率會更改資料集。記錄策略版本和有效時間,以便查詢可以避免比較不相容的時間段,就好像收集是恆定的一樣。
評價:
- 保留的事件計數和位元組。
- 失敗和罕見結果承保。
- 針對未取樣的固定裝置或臨時保留的估計度量誤差。
- 低運量航線、計劃和區域的分段覆蓋。
- 取樣資料集無法再回答的問題。
不要從收集政策變化導致的銷量下降來推斷產品的改進。
當歷史記錄出現問題時,更傾向於保留更改
取樣減少了未來的行覆蓋範圍。保留會在策略定義的期限後刪除舊資料。如果當前事件詳細資訊必須保持完整,但長期歷史記錄成本高昂,則較短的保留策略可能更合適。與取樣分開審查 資料保留和刪除。
繼續 高基數字段、遙測成本管理 和 資料品質 SQL 食譜。