이벤트 계약
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| timestamp_utc | Timestamp | 거래 단말 이벤트 시간. |
| service | Utf8 | 소유 애플리케이션 서비스. |
| transaction_name | Utf8 | 안정적인 논리적 트랜잭션 클래스. |
| release | Utf8 | 애플리케이션 출시. |
| duration_ms | Float64 | 시작부터 단말까지의 트랜잭션 기간. |
| outcome | Utf8 | 커밋, rolled_back 또는 timed_out. |
DataFusion SQL
쿼리 복사
sql
SELECT
service,
transaction_name,
release,
COUNT(*) AS transactions,
approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms,
MAX(duration_ms) AS max_duration_ms,
SUM(CASE WHEN outcome <> 'committed' THEN 1 ELSE 0 END) AS unsuccessful
FROM database_transaction_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY service, transaction_name, release
ORDER BY p95_duration_ms DESC, unsuccessful DESC;이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
p95 거래 기간
송장 확정은 꼬리가 가장 길고 실패한 결과도 가장 많습니다.
invoice-finalize
6,800 ms
comparison 28 ms
member-import
4,210 ms
comparison 9 ms
| service | transaction_name | release | transactions | p95_duration_ms | max_duration_ms | unsuccessful |
|---|---|---|---|---|---|---|
| billing | invoice-finalize | api-88 | 820 | 6,800 | 24,100 | 28 |
| projects | member-import | api-88 | 240 | 4,210 | 18,200 | 9 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
예제 재현
공공 픽스처 다운로드
JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. illustrative 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.
SQL 작동 방식
- 1트랜잭션 클래스는 기간을 애플리케이션 소유자와 연결합니다.
- 2최대값은 안정적인 백분위수 옆에 극단적인 리소스 보유를 노출합니다.
- 3커밋되지 않은 결과에는 전체 터미널 보기에 대한 롤백 및 시간 초과가 포함됩니다.
결정해야 할 극단적인 경우
- 누락된 터미널 이벤트에는 별도의 시작-터미널 조인이 필요합니다.
- 서버 대기 이벤트 및 잠금 그래프에는 데이터베이스 기반 진단이 필요합니다.
- 바인딩된 값이 있는 문을 기록하지 마세요.
추천 대시보드
- 바: 거래별 p95_duration_ms
- 추세: 출시 실패
- 표: 가장 긴 안전 거래 이벤트
레시피를 활용해 보세요
관련 계측 및 가이드
분석 계속하기
실제 이벤트에서 실행
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.