活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| 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
- 趋势:按源划分的事件计数和字节数
- 表:平均大小、拒绝率、保留所有者和架构版本
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。