콘텐츠로 건너뛰기
Telemetry
데이터 품질 SQL 레시피

이벤트 스키마 버전 채택 추적

프로듀서별 스키마 버전 롤아웃을 측정하고 배포 후에도 활성 상태로 남아 있는 이전 이벤트 계약을 찾습니다.

초보자product_events검토됨 2026-07-28테스트됨 아파치 DataFusion 45.2.0

검토자 Telemetry 제품 팀 . SQL 호환성, 이벤트 계약, 합성 출력 및 운영상의 주의사항. 표준 및 소유권 검토

질문에 답변됨

어떤 프로듀서가 아직도 중요한 이벤트의 이전 버전을 내보냅니까?

새 코드가 제공되면 스키마 마이그레이션이 완료되지 않습니다. 버전 배포는 이전 작업자, 클라이언트 또는 재시도 대기열이 여전히 다운스트림 SQL이 지원해야 하는 계약을 내보내고 있는지 여부를 보여줍니다.

이벤트 계약

쿼리가 예상하는 필드

필드유형그것이 존재하는 이유
timestamp_utcTimestamp이벤트 수신 시간.
event_nameUtf8안정적인 논리적 이벤트 이름입니다.
schema_versionUtf8v2와 같은 명시적 계약 버전.
producer_versionUtf8애플리케이션 빌드 또는 작업자 릴리스.
DataFusion SQL

쿼리 복사

sql
WITH version_counts AS (
  SELECT
    event_name,
    producer_version,
    schema_version,
    COUNT(*) AS events
  FROM product_events
  WHERE timestamp_utc >= now() - INTERVAL '24 hours'
  GROUP BY event_name, producer_version, schema_version
),
producer_totals AS (
  SELECT
    event_name,
    producer_version,
    SUM(events) AS producer_events
  FROM version_counts
  GROUP BY event_name, producer_version
)
SELECT
  counts.event_name,
  counts.producer_version,
  counts.schema_version,
  counts.events,
  100.0 * counts.events / NULLIF(totals.producer_events, 0)
    AS version_share_pct
FROM version_counts AS counts
JOIN producer_totals AS totals
  ON totals.event_name = counts.event_name
  AND totals.producer_version = counts.producer_version
ORDER BY counts.event_name, counts.producer_version, counts.events DESC;

이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

프로듀서별 스키마 버전 공유

웹 배포는 v2로 수렴되었지만 작업자 릴리스는 여전히 상당한 v1 공유를 내보냅니다.

event_nameproducer_versionschema_versioneventsversion_share_pct
checkout_completedweb-1848v29,84099.72
checkout_completedworker-411v174238.11

합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.

Schema-version share by producer: Track Event Schema-Version Adoption 예제 결과의 합성 version_share_pct 값에 대한 정적 차트
결정론적 예제 출력의 색인 생성 가능한 SVG입니다. 기사, 런북 또는 저작자가 포함된 디자인 검토를 위해 다운로드하세요.

예제 재현

공공 픽스처 다운로드

JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. illustrative 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.

SQL 작동 방식

  1. 1첫 번째 CTE는 관찰된 모든 이벤트 계약을 프로듀서 및 스키마 버전별로 계산합니다.
  2. 2프로듀서 총계는 대량 출시와 소량 출시를 공정하게 비교하는 데 필요한 분모를 만듭니다.
  3. 3출력에 두 버전을 모두 유지하면 최신 버전만 보고하는 대신 혼합 출시가 표시됩니다.

결정해야 할 극단적인 경우

  • 버전이 지정되지 않은 기록 이벤트에는 자동 NULL이 아닌 명시적인 레거시 레이블이 필요합니다.
  • 모바일 및 데스크톱 클라이언트는 서버 릴리스보다 롤아웃 기간이 훨씬 길 수 있습니다.
  • 버전 라벨은 의미적 변경 사항이 함께 문서화되어 있는 경우에만 유용합니다.

추천 대시보드

  • 바: version_share_pct by producer_version
  • 추세: 배포 시간에 따른 레거시 버전 공유
  • 표: 둘 이상의 활성 버전이 있는 이벤트 이름

알림 안내

서버 측 프로듀서가 마이그레이션 기간이 지나도 만료된 계약을 계속 내보내면 알림합니다. 클라이언트 릴리스에 대해 더 긴 검토 기간을 사용하십시오.

알림 설정 읽기

레시피를 활용해 보세요

관련 계측 및 가이드

분석 계속하기

실제 이벤트에서 실행

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기