跳转到内容
Telemetry
数据质量 SQL查询示例

测量事件摄取新鲜度

查找停止传送数据或比发生时间晚得多的事件源。

入门telemetry_events已审核 2026-07-27测试用 阿帕奇 DataFusion 45.2.0

审阅者 Telemetry产品团队 . SQL 兼容性、事件契约、合成输出和操作注意事项. 审查标准和所有权

问题已回答

哪些生产事件源现在已过时或已延迟?

健康的仪表板可能会变得过时而不显示错误。比较事件时间、接收时间和当前时钟,将静默源与延迟传送区分开。

活动合约

查询期望的字段

字段类型为什么存在
timestamp_utcTimestamp当事件发生在生产者中时。
received_atTimestamp当摄取服务接受事件时。
sourceUtf8稳定的生产者或工作流程名称。
environmentUtf8部署环境。
DataFusion SQL

复制查询

sql
SELECT
  source,
  MAX(timestamp_utc) AS latest_event_at,
  MAX(received_at) AS latest_received_at,
  date_part('second', now() - MAX(received_at)) / 60.0
    AS minutes_since_receive,
  AVG(date_part('second', received_at - timestamp_utc)) / 60.0
    AS average_delivery_delay_minutes
FROM telemetry_events
WHERE received_at >= now() - INTERVAL '24 hours'
  AND environment = 'production'
GROUP BY source
ORDER BY minutes_since_receive DESC;

此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。

查询结果

自最新收到事件以来的分钟数

尽管正常的交付延迟很小,但计费同步已过时。

sourcelatest_event_atlatest_received_atminutes_since_receiveaverage_delivery_delay_minutes
billing_sync2026-07-27 12:112026-07-27 12:12481.4
api_gateway2026-07-27 12:592026-07-27 12:5910.1
queue_workers2026-07-27 12:582026-07-27 12:5910.8

综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。

Minutes since the newest received event:来自 Measure Event Ingestion Freshness 示例结果的合成 minutes_since_receive 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载公共装置

JSON 包包含类型化事件契约, illustrative 输入行、确切的 SQL、预期输出、审阅注释和引擎版本。 CSV 包含显示的结果。

SQL 是如何工作的

  1. 1MAX(received_at) 测量每个源是否仍在传送数据。
  2. 2received_at 和 timestamp_utc 之间的平均差异测量传输延迟与源静默分开。
  3. 3生产过滤器可防止开发流量使已停止的生产源看起来正常。

需要决定的边缘情况

  • 每天仅发出一次的源需要与 API 源不同的新鲜度阈值。
  • 生产者时钟偏差会使交付延迟为负值;监视并纠正时钟同步。
  • 24 小时回溯无法返回静默时间超过窗口时间的源。保留预期来源注册表以进行缺勤监控。

推荐仪表板

  • 条形图:minutes_since_receive(按来源)
  • 趋势:按来源划分的平均交付延迟
  • 表:当前窗口中缺少的预期来源

警报指导

当 minutes_since_receive 超出源计划加上记录的宽限期时发出警报。

读取警报设置

让查询示例发挥作用

相关埋点和指南

定义源数据

此分析的事件模式

继续分析

在真实事件中运行它

创建表,调整字段并保存结果

免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。

获取 API 密钥