이벤트 계약
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| timestamp_utc | Timestamp | 요청 완료 시간. |
| status_code | Int64 | HTTP 응답 상태 코드입니다. |
DataFusion SQL
쿼리 복사
sql
WITH hourly AS (
SELECT
date_trunc('hour', timestamp_utc) AS hour,
COUNT(*) AS requests,
100.0 * SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS error_rate_pct
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '72 hours'
GROUP BY date_trunc('hour', timestamp_utc)
),
baseline AS (
SELECT
hour,
requests,
error_rate_pct,
AVG(error_rate_pct) OVER (
ORDER BY hour ROWS BETWEEN 7 PRECEDING AND 1 PRECEDING
) AS previous_seven_avg_pct
FROM hourly
)
SELECT
hour,
requests,
error_rate_pct,
previous_seven_avg_pct,
error_rate_pct - previous_seven_avg_pct AS increase_pct_points
FROM baseline
WHERE previous_seven_avg_pct IS NOT NULL
ORDER BY hour;이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
기준보다 시간당 오류율 증가
13:00 버킷은 최근 이동 평균에서 유일하게 확실한 긍정적인 편차입니다.
12:00
0.03 pp
13:00
1.12 pp
14:00
0.02 pp
| hour | requests | error_rate_pct | previous_seven_avg_pct | increase_pct_points |
|---|---|---|---|---|
| 12:00 | 18,420 | 0.31 | 0.28 | 0.03 |
| 13:00 | 19,110 | 1.42 | 0.3 | 1.12 |
| 14:00 | 18,780 | 0.48 | 0.46 | 0.02 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
예제 재현
공공 픽스처 다운로드
JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. illustrative 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.
SQL 작동 방식
- 1시간별 CTE는 분모로 비율을 계산합니다.
- 2기간은 이전 기간에서 끝나므로 현재 스파이크가 자체 기준선을 높일 수 없습니다.
- 3최종 차이는 백분율 변화가 아니라 백분율 포인트입니다.
결정해야 할 극단적인 경우
- 7시간 기준은 일일 계절성을 모델링하지 않습니다.
- 누락된 시간 버킷은 누락된 상태로 유지됩니다. 누락된 트래픽을 오류가 없는 것으로 자동으로 처리하지 마십시오.
- 최소 요청량을 요구하고 상대적 변화와 절대 영향 임계값을 함께 사용하세요.
추천 대시보드
- 추세: 관찰된 오류율 및 롤링 오류율
- 막대: 기준선보다 증가
- 표: 비정상적인 버킷의 경로
레시피를 활용해 보세요
관련 계측 및 가이드
분석 계속하기
실제 이벤트에서 실행
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.