跳转到内容
Telemetry
后台任务 SQL查询示例

测量死信队列增长

比较死信的创建和解决以查找累积不可恢复工作的队列。

中级job_events已审核 2026-07-27测试用 阿帕奇 DataFusion 45.2.0

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

问题已回答

哪些队列添加死信作业的速度比解决死信作业的速度快?

死信计数是库存,而创建和解决的事件是流。跟踪两者可以解释队列是否正在恢复或增长。

活动合约

查询期望的字段

字段类型为什么存在
timestamp_utcTimestamp作业生命周期事件时间。
job_idUtf8稳定的逻辑作业标识符。
queue_nameUtf8拥有该作业的队列。
event_nameUtf8dead_letter_created 或 dead_letter_resolved。
error_typeUtf8分类终端故障。
DataFusion SQL

复制查询

sql
SELECT
  date_trunc('day', timestamp_utc) AS day,
  queue_name,
  SUM(CASE
    WHEN event_name = 'dead_letter_created' THEN 1 ELSE 0
  END) AS created_jobs,
  SUM(CASE
    WHEN event_name = 'dead_letter_resolved' THEN 1 ELSE 0
  END) AS resolved_jobs,
  SUM(CASE
    WHEN event_name = 'dead_letter_created' THEN 1
    WHEN event_name = 'dead_letter_resolved' THEN -1
    ELSE 0
  END) AS net_queue_change
FROM job_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
  AND event_name IN ('dead_letter_created', 'dead_letter_resolved')
GROUP BY date_trunc('day', timestamp_utc), queue_name
ORDER BY day, queue_name;

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

查询结果

创建和解决死信作业

7 月 26 日,Billing 累计增加了 22 个死信职位,而进口则减少了排队人数。

dayqueue_namecreated_jobsresolved_jobsnet_queue_change
2026-07-25billing18162
2026-07-26billing31922
2026-07-27imports1214-2

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

Dead-letter jobs created and resolved:来自 Measure Dead-Letter Queue Growth 示例结果的合成 created_jobs 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载公共装置

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

SQL 是如何工作的

  1. 1创建的事件和已解决的事件保持独立,因此相同的净变化无法隐藏截然不同的操作工作负载。
  2. 2签署的净变化暴露了未解决工作累积的天数。
  3. 3按队列分组可以保持所有权和升级路径清晰。

需要决定的边缘情况

  • 在逻辑作业达到记录的最终成功或放弃结果之前,重试并不是解决方案。
  • 回填的生命周期事件可以改变历史网络移动。
  • 单独跟踪当前队列库存或根据已知的期初余额计算累计总和。

推荐仪表板

  • 堆叠条:按队列排列的 created_jobs 和 resolved_jobs
  • 趋势:累积死信库存
  • 表:error_type 最早的未解决作业

警报指导

当 net_queue_change 对于连续存储桶保持正值或最旧的未解决作业违反其响应目标时发出警报。

读取警报设置

让查询示例发挥作用

相关埋点和指南

继续分析

在真实事件中运行它

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

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

获取 API 密钥