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