이벤트 계약
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| timestamp_utc | Timestamp | UTC 기준의 이벤트 시간입니다. |
| workflow_id | Utf8 | 워크플로 단계 전반에 걸쳐 공유되는 식별자입니다. |
| event_name | Utf8 | 제한된 수명주기 이벤트 이름입니다. |
| status | Utf8 | 괜찮거나 실패했습니다. |
| service | Utf8 | 이벤트를 내보낸 서비스입니다. |
| correlation_id | Utf8 | 선택적 요청-워크플로 상관 식별자입니다. |
| environment | Utf8 | 배포 환경. |
DataFusion SQL
쿼리 복사
sql
WITH target_workflow AS (
SELECT workflow_id
FROM workflow_timeline_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
AND status = 'failed'
ORDER BY timestamp_utc DESC
LIMIT 1
),
workflow_start AS (
SELECT
events.workflow_id,
MIN(events.timestamp_utc) AS started_at
FROM workflow_timeline_events AS events
JOIN target_workflow AS target
ON target.workflow_id = events.workflow_id
GROUP BY events.workflow_id
)
SELECT
events.workflow_id,
ROW_NUMBER() OVER (
PARTITION BY events.workflow_id
ORDER BY events.timestamp_utc, events.event_name
) AS step_number,
events.event_name,
events.service,
events.status,
date_part('epoch', events.timestamp_utc - starts.started_at)
AS elapsed_seconds
FROM workflow_timeline_events AS events
JOIN workflow_start AS starts
ON starts.workflow_id = events.workflow_id
ORDER BY events.workflow_id, step_number;이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
실패한 워크플로 이벤트 타임라인
결제와 재고가 모두 성공한 후 워크플로가 시작된 지 47초 후에 배송 생성이 실패합니다.
| workflow_id | step_number | event_name | service | status | elapsed_seconds |
|---|---|---|---|---|---|
| workflow_1024 | 1 | workflow_started | checkout-api | ok | 0 |
| workflow_1024 | 2 | payment_authorized | checkout-api | ok | 8 |
| workflow_1024 | 3 | inventory_reserved | fulfillment-worker | ok | 21 |
| workflow_1024 | 4 | shipment_created | fulfillment-worker | failed | 47 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
예제 재현
공공 픽스처 다운로드
JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.
SQL 작동 방식
- 1대상 CTE는 독립적인 실행을 혼합하는 대신 실패한 워크플로 하나를 선택합니다.
- 2워크플로 시작은 서비스 전반에 걸쳐 공통 경과 시간 원본을 제공합니다.
- 3ROW_NUMBER는 상태 및 서비스 필드가 디버깅 컨텍스트를 유지하는 동안 사람이 읽을 수 있는 단계 시퀀스를 생성합니다.
결정해야 할 극단적인 경우
- 충돌 방지 워크플로우 식별자와 그것이 전파되는 문서를 사용하십시오.
- 늦거나 시간이 왜곡되는 이벤트에는 보조 순서 필드로 수집 시간이 필요할 수 있습니다.
- 대용량 워크플로에는 제한된 이벤트 이름 허용 목록 또는 추적 샘플링이 필요할 수 있습니다.
추천 대시보드
- 타임라인: event_name의 elapsed_seconds 및 서비스
- 표: 마지막으로 성공한 단계에서 실패한 워크플로
- 링크: workflow_id로 필터링된 이벤트 세부정보
레시피를 활용해 보세요
관련 계측 및 가이드
분석 계속하기
실제 이벤트에서 실행
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.