로깅, 추적 및 메트릭¶
코드가 실행될 때 코드에서 로그 메시지 및 추적 이벤트를 캡처하여 Snowflake 함수 및 프로시저 처리기 코드(Snowpark API를 사용하여 작성하는 코드 포함)의 활동을 기록할 수 있습니다. 데이터를 수집했으면 SQL로 쿼리하여 결과를 분석할 수 있습니다.
로깅, 추적 및 메트릭은 애플리케이션을 더 쉽게 디버깅하고 최적화할 수 있도록 Snowflake가 제공하는 통합 가시성 기능 중 하나입니다. Snowflake는 OpenTelemetry 표준에 기반한 구조로 통합 가시성 데이터를 캡처합니다.
특히, 다음을 기록하고 분석할 수 있습니다.
- 로그 메시지 — 사용자 코드의 특정 조각에 대한 상태 정보가 포함된 독립적이고 상세한 메시지입니다. 
- 메트릭 데이터 — Snowflake가 생성하는 CPU 및 메모리 메트릭입니다. 
- 추적 이벤트 — 사용자가 코드의 여러 부분에 걸쳐 정보를 얻고 그룹화하는 데 사용할 수 있는 정형 데이터입니다. 
시작하기¶
다음 상위 수준 단계를 사용하여 로그 및 추적 데이터 캡처 및 사용을 시작하십시오.
- 활성 이벤트 테이블이 있는지 확인합니다. 다음 중 하나를 수행할 수 있습니다. - 기본적으로 활성화되어 있는 기본 이벤트 테이블을 사용 합니다. 
 - Snowflake는 이벤트 테이블의 코드에서 원격 분석 데이터를 수집합니다. 
- 데이터를 수집하도록 원격 분석 수준을 설정 합니다. - 수준을 사용하면 어떤 데이터를 얼마나 많이 수집할지 지정할 수 있습니다. 수준이 올바르게 설정되었는지 확인합니다. 
- 처리기 코드에서 로그 또는 추적 데이터 내보내기를 시작합니다. - 이벤트 테이블을 만들어 계정과 연결한 후에는 처리기 언어의 API를 사용하여 로그 메시지를 내보낼 수 있습니다. 로그 및 추적 데이터를 캡처한 후 데이터를 쿼리하여 결과를 분석할 수 있습니다. - 코드 작성 지침에 대한 자세한 내용은 다음을 참조하십시오. 
- 이벤트 테이블을 쿼리하여 수집된 로그 및 추적 데이터를 분석합니다. - 자세한 내용은 다음을 참조하십시오. 
원격 분석 수준 설정¶
로그, 추적, 메트릭 데이터 등 이벤트 테이블에 저장된 원격 분석 데이터의 수준을 각 데이터 타입별로 설정하여 관리할 수 있습니다. 원하는 양과 종류의 데이터를 수집하고 있는지 확인하려면 수준 설정을 사용합니다.
자세한 내용은 로깅, 메트릭 및 추적을 위한 수준 설정하기 섹션을 참조하십시오.
로그 메시지와 추적 이벤트 비교하기¶
다음 표는 로그 메시지와 추적 이벤트의 특징과 이점을 비교한 내용입니다.
| 특징 | 로그 항목 | 추적 이벤트 | 
|---|---|---|
| 사용 목적 | 코드 상태에 대한 상세하지만 정형화되지 않은 정보를 기록합니다. 이 정보를 사용하여 함수 또는 프로시저의 특정 호출 중에 발생한 사항을 파악하십시오. | 코드의 각 호출에 대한 간략하지만 정형화된 요약을 기록합니다. 상위 수준에서 코드의 동작을 이해하려면 이 정보를 종합하십시오. | 
| 페이로드로서의 구조 | 없습니다. 로그 항목은 단지 문자열일 뿐입니다. | 추적 이벤트에 연결할 수 있는 특성으로 정형화됩니다. 특성은 SQL 쿼리로 쉽게 쿼리할 수 있는 키-값 페어입니다. | 
| 그룹화 지원 | 아니요. 각 로그 항목은 독립적인 이벤트입니다. | 예. 추적 이벤트는 범위로 구성됩니다. 범위는 자체 특성을 가질 수 있습니다. | 
| 수량 제한 | 무제한입니다. 코드에서 내보낸 모든 로그 항목은 이벤트 테이블로 수집됩니다. | 범위당 추적 이벤트 수는 128개로 제한됩니다. 범위 특성의 수에도 제한이 있습니다. | 
| 기록된 데이터에 대한 쿼리의 복잡성 | 비교적 높습니다. 쿼리는 각 로그 항목을 구문 분석하여 각 항목에서 의미 있는 정보를 추출해야 합니다. | 비교적 낮습니다. 쿼리는 추적 이벤트의 정형화된 특성을 활용할 수 있습니다. |