콘텐츠로 건너뛰기
Telemetry
문서 찾아보기
개념 및 SQL 패턴업데이트된 2026년 7월 28일Telemetry 편집 및 제품 팀의 검토2 최소 읽기

코딩 에이전트와 함께 이 문서를 사용하세요.

Claude Code, Codex, Cursor 또는 다른 코딩 에이전트에 대한 집중 프롬프트 팩을 연 다음 여기에서 다루는 워크플로에 맞게 조정하세요.

이 페이지에서
  1. 결과 계산 및 분모 보호
  2. 의도적으로 인구를 선택하십시오
  3. 요금에는 운영 컨텍스트가 필요합니다.

SQL 조건부 집계

조건부 집계는 하나의 그룹화된 쿼리로 여러 관련 질문에 답합니다. 성공적인 요청에 대해 테이블을 한 번 스캔하고 실패한 요청에 대해 다시 스캔하는 대신 CASE 표현식 안에 조건을 넣고 두 결과를 함께 집계합니다. 이 패턴은 오류율, 전환율, 재시도율, 캐시 적중률 및 분모가 계속 표시되어야 하는 모든 결과에 유용합니다.

결과 계산 및 분모 보호

SELECT
  route_template,
  COUNT(*) AS requests,
  SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS server_errors,
  100.0 * SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS server_error_rate_pct
FROM api_request_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 20
ORDER BY server_error_rate_pct DESC;

총계, 조건부 개수, 백분율은 이야기의 다른 부분을 알려줍니다. 총계는 표본 크기를 설정합니다. 개수는 절대적인 영향을 보여줍니다. 이 비율은 교통량이 서로 다른 경로를 비교할 수 있게 해줍니다. NULLIF는 분모가 0인 비율을 보호하는 반면 100.0는 결과를 백분율 산술로 유지합니다.

의도적으로 인구를 선택하십시오

WHERE 절은 그룹화 전 모집단을 정의합니다. CASE 표현식은 해당 모집단의 어떤 행이 결과와 일치하는지 정의합니다. 이러한 구별은 중요합니다. WHERE에서 오류를 제외하면 오류율이 불가능해지고 분모에 상태 확인을 포함하면 고객 트래픽이 실제보다 더 건강해 보일 수 있습니다.

모든 행이 하나의 상태 버킷에 있어야 하는 경우 상호 배타적 조건을 사용합니다. 행이 둘 이상의 레이블을 합법적으로 충족할 수 있는 경우 독립 조건을 사용합니다. 버킷의 합계가 합계와 같을 것으로 예상되는지 항상 확인하세요.

요금에는 운영 컨텍스트가 필요합니다.

두 이벤트의 높은 비율은 200만 이벤트의 동일한 비율과 거의 동일하지 않습니다. 결과에 개수를 유지하고, 검토된 최소 볼륨 규칙을 사용하고, 전체 기간을 비교하세요. Null 상태 값, 재시도, 중복 전달 및 지연 이벤트도 명시적으로 처리해야 합니다.

테스트된 API 오류율 레시피, 트랜잭션 롤백 레시피 또는 변환율 가이드로 시작하세요. 지원되는 다른 구문은 DataFusion SQL 참조를 참조하세요.

관련 제품 기능

구조화된 이벤트 테이블에 대해 읽기 전용 DataFusion SQL을 실행하고 결과를 재사용합니다.

소유권 및 기술 참조

이 설명은 Telemetry 편집팀의 소유입니다. 제품 팀은 동작, 예시, 경계를 검토합니다.

편집 기준 검토