活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | UTC 中的攝取嘗試時間。 |
| event_name | Utf8 | 受控事件名稱。 |
| source | Utf8 | 有限的生產者或 SDK 源。 |
| payload_bytes | Int64 | 傳輸壓縮之前的序列化事件大小。 |
| accepted | Boolean | 攝取是否接受該事件。 |
| environment | Utf8 | 部署環境。 |
DataFusion SQL
複製查詢
sql
SELECT
event_name,
source,
COUNT(*) AS events,
SUM(payload_bytes) AS total_payload_bytes,
AVG(payload_bytes) AS avg_payload_bytes,
SUM(CASE WHEN accepted THEN 0 ELSE 1 END) AS rejected_events,
100.0 * SUM(CASE WHEN accepted THEN 0 ELSE 1 END)
/ NULLIF(COUNT(*), 0) AS rejection_rate_pct
FROM telemetry_ingestion_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY event_name, source
ORDER BY total_payload_bytes DESC, event_name;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
按事件合約劃分的有效負載量
儘管事件少於頁面檢視,但綜合除錯追蹤具有最大的位元組量。
debug_trace
16,000 bytes
comparison 4 bytes
llm_request_completed
6,000 bytes
comparison 3 bytes
page_viewed
3,000 bytes
comparison 6 bytes
| event_name | source | events | total_payload_bytes | avg_payload_bytes | rejected_events | rejection_rate_pct |
|---|---|---|---|---|---|---|
| debug_trace | worker | 4 | 16,000 | 4,000 | 1 | 25 |
| llm_request_completed | api | 3 | 6,000 | 2,000 | 0 | 0 |
| page_viewed | web | 6 | 3,000 | 500 | 1 | 16.67 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1總位元組數和平均位元組數可區分高頻事件和超大合約。
- 2當多個生產者可以發出相同的事件名稱時,源保持所有權可見。
- 3拒絕率將收集更改轉變為資料品質審查,而不是僅花費成本的活動。
需要決定的邊緣情況
- 序列化有效負載大小不是儲存大小、掃描位元組、網路出口或發票成本。
- 單獨測量維度基數;一個小事件仍然可以建立昂貴或無法使用的組。
- 在更改生產保留之前排除合成和開發流量。
推薦儀表板
- 酒吧:total_payload_bytes by event_name
- 趨勢:按源劃分的事件計數和位元組數
- 資料表:平均大小、拒絕率、保留所有者和架構版本
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。