이벤트 계약
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| timestamp_utc | Timestamp | 데이터베이스 작업이 완료된 시간(UTC 기준)입니다. |
| query_fingerprint | Utf8 | 매개변수 값이 없는 정규화된 제한된 작업 레이블입니다. |
| service | Utf8 | 작업을 실행한 애플리케이션 또는 작업자입니다. |
| database_name | Utf8 | 승인된 논리적 데이터베이스 이름입니다. |
| status | Utf8 | 성공 또는 실패. |
| duration_ms | Float64 | 밀리초 단위의 엔드투엔드 데이터베이스 작업 기간입니다. |
| rows_returned | Int64 | 클라이언트가 개수를 공개할 때 반환되거나 영향을 받는 행입니다. |
| release | Utf8 | 쿼리를 발행한 애플리케이션 릴리스입니다. |
| environment | Utf8 | 배포 환경. |
쿼리 복사
SELECT
query_fingerprint,
service,
database_name,
COUNT(*) AS executions,
SUM(CASE WHEN duration_ms >= 1000 THEN 1 ELSE 0 END) AS slow_executions,
100.0 * SUM(CASE WHEN duration_ms >= 1000 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS slow_query_rate_pct,
AVG(duration_ms) AS average_duration_ms,
MAX(duration_ms) AS maximum_duration_ms
FROM database_query_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
AND environment = 'production'
GROUP BY query_fingerprint, service, database_name
HAVING COUNT(*) >= 10
ORDER BY slow_query_rate_pct DESC, executions DESC
LIMIT 20;이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
지문별 느린 쿼리 속도
송장 업데이트는 대부분의 실행에서 느린 반면, 카탈로그 쿼리는 예시된 1초 임계값 미만으로 유지됩니다.
| query_fingerprint | service | database_name | executions | slow_executions | slow_query_rate_pct | average_duration_ms | maximum_duration_ms |
|---|---|---|---|---|---|---|---|
| UPDATE invoices SET status = ? | billing-worker | app_production | 10 | 8 | 80 | 1,250 | 1,700 |
| SELECT checkout WITH line_items | checkout-api | app_production | 12 | 6 | 50 | 1,012.5 | 1,600 |
| SELECT products BY category | catalog-api | catalog_production | 12 | 0 | 0 | 330 | 440 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
예제 재현
공공 픽스처 다운로드
JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.
SQL 작동 방식
- 1지문은 원시 SQL이 아닌 애플리케이션에서 제어하는 라벨입니다. 이는 카디널리티를 제한하고 매개변수 값 캡처를 방지합니다.
- 2속도는 가끔 느린 대용량 작업과 대부분의 경우 느린 작업을 구별합니다.
- 3최소 실행 횟수는 단일 콜드 쿼리가 순위를 지배하는 것을 방지합니다.
결정해야 할 극단적인 경우
- 워크로드당 느린 임계값을 선택하십시오. 1초는 설명을 위한 것이며 대화형 요청에 비해 너무 높을 수 있습니다.
- 클라이언트 기간에는 해당 단계가 별도로 기록되지 않는 한 풀 대기 및 네트워크 시간이 포함됩니다.
- 원시 쿼리 매개 변수, 연결 문자열 또는 제한되지 않은 SQL 텍스트를 기록하지 마세요.
추천 대시보드
- 바: slow_query_rate_pct by query_fingerprint
- 트렌드: 릴리스별 average_duration_ms
- 표: 선택한 지문 및 서비스에 대한 최신 오류
레시피를 활용해 보세요
관련 계측 및 가이드
소스 데이터 정의
이 분석을 위한 이벤트 스키마
분석 계속하기
실제 이벤트에서 실행
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.