이벤트 계약
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| timestamp_utc | Timestamp | 요청이 완료되면 UTC로 정규화됩니다. |
| route_template | Utf8 | /api/projects/:id와 같은 안정적인 경로 형태. |
| status_code | Int64 | HTTP 응답 상태 코드입니다. |
| latency_ms | Float64 | 요청 기간(밀리초)입니다. |
DataFusion SQL
쿼리 복사
sql
SELECT
route_template,
COUNT(*) AS requests,
SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS errors,
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 '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 20
ORDER BY error_rate_pct DESC
LIMIT 10;이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
경로별 5xx 오류율
검색에 총 트래픽이 더 많더라도 결제 경로는 가장 확실한 신뢰성 위험입니다.
/api/checkout
20%
/api/search
4%
/api/profile
0%
| route_template | requests | errors | error_rate_pct |
|---|---|---|---|
| /api/checkout | 25 | 5 | 20 |
| /api/search | 25 | 1 | 4 |
| /api/profile | 20 | 0 | 0 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
예제 재현
공공 픽스처 다운로드
JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.
SQL 작동 방식
- 1CASE 표현식은 동일한 그룹의 총 요청 수를 유지하면서 5xx 상태의 응답만 계산합니다.
- 2NULLIF는 0으로 나누는 것을 방지합니다. HAVING 절은 단일 오류로 인해 비율이 불안정해지는 요청이 20개 미만인 경로를 제외합니다.
- 3식별자가 하나의 끝점을 수천 개의 그룹으로 분할하지 않도록 원시 URL 대신 경로 템플릿을 사용하십시오.
결정해야 할 극단적인 경우
- 트래픽과 일치하는 최소 요청 임계값을 선택하세요. 20개의 요청은 예시일 뿐 보편적인 것은 아닙니다.
- API가 워크플로 제어를 위해 의도적으로 사용하는 경우 예상되는 5xx 응답을 인프라 오류와 분리하세요.
- 스테이징 트래픽이 프로덕션 속도를 변경할 수 없도록 환경별로 분류합니다.
추천 대시보드
- 막대형 차트: error_rate_pct by route_template
- 통계: 선택한 기간 동안 총 5xx개 응답
- 표: request_id 및 error_type에서 실패한 최신 요청
레시피를 활용해 보세요
관련 계측 및 가이드
분석 계속하기
실제 이벤트에서 실행
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.