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

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

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

이 페이지에서
  1. 쿼리의 차이점
  2. 모든 것을 복제하지 않고 둘 다 사용
  3. 실용적인 선택 규칙

구조화된 이벤트와 텍스트 로그

텍스트 로그는 프로그램이 수행한 작업을 설명합니다. 구조화된 이벤트는 워크플로에 대한 안정적인 사실을 기록합니다. 둘 다 유용하지만 서로 다른 질문에 맞게 최적화됩니다.

텍스트 로그는 시작 메시지, 예기치 않은 분기, 라이브러리 출력 및 스택 추적과 같은 로컬 진단에 적합합니다. 자유 형식 메시지는 좁은 시간 범위를 읽는 사람의 맥락을 보존합니다. 경로별 실패율, 모델별 비용, 소스별 활성화 또는 대기열별 재시도 등 여러 요청에서 동일한 질문에 반복적으로 답변해야 하는 경우 구조화된 이벤트가 더 적합합니다.

쿼리의 차이점

애플리케이션이 invoice sync failed for team_123 in 940ms를 작성한다고 가정합니다. 검색을 통해 해당 문장을 찾을 수 있지만 차트는 먼저 팀, 기간 및 결과를 추출해야 합니다. 구조화된 필드를 사용하면 쿼리가 직접 작동할 수 있습니다.

SELECT
  error_type,
  COUNT(*) AS failures,
  approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms
FROM billing_syncs
WHERE status = 'failed'
  AND timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY error_type
ORDER BY failures DESC;

이벤트 계약은 필드 유형과 범주를 명시적으로 만듭니다. 또한 작은 단어 변경으로 인해 저장된 쿼리가 중단되는 것을 방지합니다.

모든 것을 복제하지 않고 둘 다 사용

엔지니어가 사고를 조사할 수 있도록 상세하고 단기적인 진단 로그를 보관하세요. 워크플로 경계에서 더 작은 내구성 있는 구조적 이벤트 집합을 내보냅니다. 요청 ID, 추적 ID, 작업 ID 또는 기타 안전한 상관 관계 값을 사용하여 두 가지를 연결합니다. 전체 스택 추적을 복사하거나 모든 분석 이벤트에 본문을 요청하지 마세요.

JSON라고 해서 이벤트가 자동으로 좋아지는 것은 아닙니다. 변경된 키와 임의의 문자열로 구성된 가방은 여전히 ​​분석하기 어렵습니다. 가치는 안정적인 이름, 문서화된 필드, 제어된 범주, 변경 사항을 검토하는 소유자 등 의도적인 계약에서 비롯됩니다.

실용적인 선택 규칙

데이터를 집계, 비교, 알림하거나 대시보드를 구축하려는 경우 구조화된 이벤트를 선택하세요. 특정 조사 중에 자세한 맥락을 읽는 것이 주요 용도인 경우 텍스트 로그를 선택합니다. 둘 다 필요한 경우 상관 관계 식별자를 공유하는 압축 이벤트 하나와 진단 레코드 하나를 내보냅니다.

대용량 이벤트를 추가하기 전에 이벤트 스키마 설계를 읽어본 후 구조화된 로깅 가이드를 사용하여 계측하고 확인하세요.

관련 제품 기능

안정적인 이벤트 이름, 타입이 지정된 필드, 개인 정보 보호 검토 컨텍스트를 캡처합니다.

소유권 및 기술 참조

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

편집 기준 검토