로깅 및 추적 개요

코드가 실행될 때 코드에서 로그 메시지 및 추적 이벤트를 캡처하여 Snowflake 함수 및 프로시저 처리기 코드(Snowpark API를 사용하여 작성하는 코드 포함)의 활동을 기록할 수 있습니다. 데이터를 수집했으면 SQL로 쿼리하여 결과를 분석할 수 있습니다.

특히, 다음을 기록하고 분석할 수 있습니다.

  • 코드 특정 부분의 상태에 대한 정보가 포함된 독립적이고 자세한 로그 메시지.

  • 코드의 여러 부분에 걸쳐 정보를 가져오고 그룹화하는 데 사용할 수 있는 정형 데이터를 사용하는 추적 이벤트.

시작하기

다음 상위 수준 단계를 사용하여 로그 및 추적 데이터 캡처 및 사용을 시작하십시오.

  1. 이벤트 테이블을 만듭니다.

    Snowflake에서는 미리 정의된 열 세트가 있는 특별한 종류의 테이블인 이벤트 테이블에 로그 및 추적 데이터를 저장합니다.

  2. 처리기 코드에서 로그 또는 추적 데이터 내보내기를 시작합니다.

    이벤트 테이블을 만들어 계정과 연결한 후 처리기 언어의 API를 사용하여 처리기 코드에서 로그 메시지를 내보냅니다. 로그 및 추적 데이터를 캡처한 후 데이터를 쿼리하여 결과를 분석할 수 있습니다.

    자세한 내용은 다음을 참조하십시오.

  3. 이벤트 테이블을 쿼리하여 수집된 로그 및 추적 데이터를 분석합니다.

    자세한 내용은 다음을 참조하십시오.

로그 메시지와 추적 이벤트 비교하기

다음 표는 로그 메시지와 추적 이벤트의 특징과 이점을 비교한 내용입니다.

특징

로그 항목

추적 이벤트

사용 목적

코드 상태에 대한 상세하지만 정형화되지 않은 정보를 기록합니다. 이 정보를 사용하여 함수 또는 프로시저의 특정 호출 중에 발생한 사항을 파악하십시오.

코드의 각 호출에 대한 간략하지만 정형화된 요약을 기록합니다. 상위 수준에서 코드의 동작을 이해하려면 이 정보를 종합하십시오.

페이로드로서의 구조

없습니다. 로그 항목은 단지 문자열일 뿐입니다.

추적 이벤트에 연결할 수 있는 특성으로 정형화됩니다. 특성은 SQL 쿼리로 쉽게 쿼리할 수 있는 키-값 페어입니다.

그룹화 지원

아니요. 각 로그 항목은 독립적인 이벤트입니다.

예. 추적 이벤트는 범위로 구성됩니다. 범위는 자체 특성을 가질 수 있습니다.

수량 제한

무제한입니다. 코드에서 내보낸 모든 로그 항목은 이벤트 테이블로 수집됩니다.

범위당 추적 이벤트 수는 128개로 제한됩니다. 범위 특성의 수에도 제한이 있습니다.

기록된 데이터에 대한 쿼리의 복잡성

비교적 높습니다. 쿼리는 각 로그 항목을 구문 분석하여 각 항목에서 의미 있는 정보를 추출해야 합니다.

비교적 낮습니다. 쿼리는 추적 이벤트의 정형화된 특성을 활용할 수 있습니다.