콘텐츠로 건너뛰기
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. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

배달 못한 편지 작업이 생성되고 해결되었습니다.

Billing은 7월 26일에 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 키 받기