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