이벤트 계약
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| timestamp_utc | Timestamp | 요청 완료 시간(UTC)입니다. |
| status_code | Int64 | HTTP 응답 상태 코드입니다. |
| environment | Utf8 | 배포 환경. |
DataFusion SQL
쿼리 복사
sql
WITH hourly AS (
SELECT
date_trunc('hour', timestamp_utc) AS hour,
COUNT(*) AS requests,
SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS bad_requests
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY date_trunc('hour', timestamp_utc)
)
SELECT
hour,
requests,
bad_requests,
100.0 * bad_requests / NULLIF(requests, 0) AS error_rate_pct,
(1.0 * bad_requests / NULLIF(requests, 0)) / 0.001 AS burn_rate
FROM hourly
ORDER BY hour;이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
시간당 오류 예산 소진율
13:00 버킷은 지속 가능한 비율의 3.72배로 예산을 소비했습니다.
12:00
0.49×
13:00
3.72×
14:00
1.28×
| hour | requests | bad_requests | error_rate_pct | burn_rate |
|---|---|---|---|---|
| 12:00 | 18,420 | 9 | 0.05 | 0.49 |
| 13:00 | 19,110 | 71 | 0.37 | 3.72 |
| 14:00 | 18,780 | 24 | 0.13 | 1.28 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
예제 재현
공공 픽스처 다운로드
JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. illustrative 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.
SQL 작동 방식
- 199.9% 성공 목표는 0.1% 또는 0.001의 잘못된 요청 비율을 허용합니다.
- 2관찰된 비율을 0.001로 나누면 연소율이 생성됩니다. 1×는 정확히 지속 가능한 반면 3×는 예산을 3배 너무 빨리 소비합니다.
- 3CTE는 작은 버킷을 별도로 처리할 수 있도록 요청 분모를 표시합니다.
결정해야 할 극단적인 경우
- 사용자 대상 SLI에 대해 불량으로 간주되는 상태 코드를 정의합니다. 모든 5xx가 동일한 영향을 미치는 것은 아닙니다.
- 하나의 시끄러운 시간별 임계값 대신 프로덕션 페이징에 다중 창 알림을 사용합니다.
- SLO 정의에서 명시적으로 제외하는 경우에만 종합 검사 또는 내부 트래픽을 제외하세요.
추천 대시보드
- 추세: 시간별 burn_rate
- 통계: 남은 월별 오류 예산
- 표: 가장 잘못된 요청을 유발하는 경로
레시피를 활용해 보세요
관련 계측 및 가이드
분석 계속하기
실제 이벤트에서 실행
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.