이벤트 테이블 열

이벤트 테이블에는 미리 정의된 열 세트가 있습니다. 이 항목에서는 열에 대해 설명합니다.

이벤트 테이블을 사용한 작업에 대한 자세한 내용은 이벤트 테이블 관련 작업하기 섹션을 참조하십시오.

이벤트 테이블 열

이벤트 테이블에는 다음 열이 있습니다.

데이터 타입

설명

TIMESTAMP

TIMESTAMP_NTZ

이벤트가 생성된 UTC 타임스탬프입니다. 시간 범위를 나타내는 이벤트의 경우 이것은 시간 범위의 끝입니다.

START_TIMESTAMP

TIMESTAMP_NTZ

추적 이벤트와 같이 시간 범위를 나타내는 이벤트의 경우 시간 범위의 시작은 UTC 타임스탬프로 표시됩니다.

OBSERVED_TIMESTAMP

TIMESTAMP_NTZ

로그에 사용되는 UTC 시간입니다. 현재는 TIMESTAMP과 동일한 값입니다.

TRACE

OBJECT

모든 신호 유형에 대한 추적 컨텍스트입니다. 문자열 값 trace_idspan_id 를 포함합니다.

RESOURCE

OBJECT

향후 사용을 위해 예약되어 있습니다.

RESOURCE_ATTRIBUTES

OBJECT

데이터베이스, 스키마, 사용자, 웨어하우스 등과 같은 이벤트의 원본을 식별하는 특성입니다.

SCOPE

OBJECT

이벤트의 범위입니다. 예를 들어 로그의 클래스 이름입니다.

SCOPE_ATTRIBUTES

OBJECT

향후 사용을 위해 예약되어 있습니다.

RECORD_TYPE

STRING

이벤트 유형입니다. 다음 중 하나:

  • 로그 메시지의 경우 LOG.

  • 같은 스레드에서 순차적으로 수행되는 사용자 정의 함수 호출의 경우 SPAN. 자세한 내용은 RECORD_TYPE 열 섹션을 참조하십시오.

  • 단일 추적 이벤트의 경우 SPAN_EVENT. 단일 쿼리는 둘 이상의 SPAN_EVENT 를 내보낼 수 있습니다.

RECORD

OBJECT

RECORD 열 에 설명된 대로 각 레코드 유형의 고정 값입니다.

RECORD_ATTRIBUTES

OBJECT

RECORD_ATTRIBUTES 열 에 설명된 대로 각 레코드 유형에 대한 변수 특성입니다.

VALUE

VARIANT

기본 이벤트 값입니다.

EXEMPLARS

ARRAY

향후 사용을 위해 예약되어 있습니다.

이벤트 유형별로 캡처된 데이터

로그의 데이터

속성

설명

OBSERVED_TIMESTAMP

현재는 TIMESTAMP과 동일한 값입니다.

RECORD

로그 이벤트 에 의해 기록된 심각도 수준입니다.

RECORD_ATTRIBUTES

로그 이벤트를 내보낸 코드의 위치입니다. 값은 처리기 언어별로 다르지만 코드 파일 경로, 함수 이름, 줄 번호 등을 포함할 수 있습니다.

RECORD_TYPE

이벤트 유형: 로그 메시지의 경우 LOG

RESOURCE_ATTRIBUTES

데이터베이스, 스키마, 사용자, 웨어하우스 등과 같은 이벤트의 원본을 식별하는 특성입니다.

SCOPE

로그 이벤트가 생성된 클래스의 이름과 같이, 이벤트가 발생한 범위입니다.

TIMESTAMP

이벤트가 생성된 시점의 타임스탬프입니다.

VALUE

로그 메시지입니다.

추적 이벤트의 데이터

속성

설명

RECORD

범위 의 경우 범위의 이름과 종류를 포함하고, 범위 이벤트 의 경우 범위의 이름을 포함하는 오브젝트입니다.

RECORD_ATTRIBUTES

범위 또는 범위 이벤트 와 관련된 특성 데이터입니다.

RECORD_TYPE

이벤트 유형: 범위의 경우 SPAN, 범위 이벤트의 경우 SPAN_EVENT 입니다.

RESOURCE_ATTRIBUTES

데이터베이스, 스키마, 사용자, 웨어하우스 등과 같은 이벤트의 원본을 식별하는 특성입니다.

START_TIMESTAMP

범위의 경우 범위가 시작된 시간입니다. 범위 이벤트에는 사용되지 않습니다.

TIMESTAMP

이벤트가 생성된 시점의 타임스탬프입니다.

TRACE

범위와 그 안의 범위 이벤트에 대한 식별자 trace_idspan_id 입니다.

EXEMPLARS 열

향후 사용을 위해 예약되어 있습니다.

OBSERVED_TIMESTAMP 열

로그의 UTC 타임스탬프입니다. 추적 이벤트에는 사용되지 않습니다.

RECORD 열

이벤트에 대한 핵심 정보를 제공하고 로그 이벤트의 로그 수준 또는 추적 이벤트의 이름(범위 또는 범위 이벤트 레코드)을 포함합니다.

레코드에 대한 특성이 있는 경우 RECORD_ATTRIBUTES 열 에 기록됩니다.

이 열에 포함된 값은 다음 섹션에 설명된 대로 RECORD_TYPE 열 (LOG, SPAN 또는 SPAN_EVENT)의 값에 따라 달라집니다.

LOG RECORD_TYPE의 경우

RECORD_TYPE 열 값이 LOG 인 경우 RECORD 열 값에는 로그 메시지의 심각도가 포함됩니다. 열 값에는 다음 키가 포함될 수 있습니다.

타입

설명

severity_text

STRING

로그 심각도 텍스트입니다. 다음 중 하나:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

로그 항목이 처리되지 않은 예외 에 대한 것인 경우 이 값은 현재 언어 런타임에 대해 심각도가 가장 높은 오류 수준입니다. 예를 들어 Python으로 작성된 처리기의 경우 이 값은 FATAL 입니다.

{
  "severity_text": "INFO"
}
Copy

SPAN RECORD_TYPE의 경우

범위는 함수와 프로시저의 개별 실행을 나타냅니다. 저장 프로시저의 경우 단일 범위가 있습니다. 사용자 정의 함수의 경우 Snowflake가 실행 예약 결정을 내리는 방법에 따라 단일 함수 호출에 대해 여러 범위가 있을 수 있습니다.

주어진 쿼리에 대한 모든 범위는 TRACE 열의 trace_id 키에 대해 값이 동일합니다.

범위의 지속 시간은 start_timestamp 열의 값과 timestamp 열의 값 사이의 차이로, 각각 범위 실행의 시작 시간과 종료 시간을 나타냅니다.

범위의 ID와 쿼리 추적은 TRACE 열의 값으로 표현됩니다.

Snowflake는 아래에 표시된 키를 사용하여 각 실행에 대해 하나의 범위를 생성합니다.

타입

설명

dropped_attributes_count

int

기록된 최대값에 도달한 후 무시되는 특성의 수입니다.

name

문자열

고정 값.

kind

문자열

고정 값 SPAN_KIND_INTERNAL

status

문자열

범위가 처리되지 않은 예외 에 해당할 때는 STATUS_CODE_ERROR 입니다. 그렇지 않으면, STATUS_CODE_UNSET 입니다.

사용자 정의 함수의 경우 Snowflake는 범위에 대한 특성을 추가하여 함수에서 처리하고 내보낸 행의 개수를 나타낼 수 있습니다.

SPAN_EVENT RECORD_TYPE의 경우

범위 이벤트는 위에서 설명한 특정 범위 실행에 연결된 이벤트 레코드입니다. 애플리케이션의 요구 사항에 맞게 이벤트를 만들 수 있습니다. 범위 이벤트의 수는 128개로 제한됩니다.

TRACE 열의 값으로 이벤트가 생성된 범위를 식별할 수 있습니다.

범위 이벤트에는 단일 키 name 이 있으며 RECORD_ATTRIBUTES 열에 추가된 임의의 특성을 가질 수 있습니다.

타입

설명

name

문자열

범위 이벤트의 이름입니다.

RECORD_ATTRIBUTES 열

Snowflake 또는 처리기 코드에 의해 설정된 메타데이터로 이벤트를 설명합니다. 이 값은 다음 섹션에 설명된 대로 행에 포함된 레코드의 유형에 따라 달라집니다.

LOG RECORD_TYPE의 경우

코드 파일 경로, 함수 이름, 줄 번호 등을 포함하여 로그 이벤트를 내보낸 코드의 위치입니다.

속성

타입

설명

code.filepath

int

메시지를 생성한 코드가 포함된 파일입니다.

code.function

문자열

메시지를 생성한 함수의 이름입니다.

code.lineno

int

메시지를 생성한 코드의 줄 번호입니다.

code.namespace

int

메시지를 생성한 코드의 네임스페이스입니다.

exception.message

문자열

처리되지 않은 예외 로 인한 오류 메시지입니다.

exception.type

문자열

처리되지 않은 예외 에 대한 클래스 이름입니다.

exception.stacktrace

문자열

언어 런타임으로 형식이 지정된 처리되지 않은 예외 의 스택 추적입니다.

exception.escaped

boolean

이 항목이 처리되지 않은 예외 에서 발생한 경우 true 입니다.

thread.id

int

로그 이벤트가 생성된 스레드입니다.

thread.name

문자열

로그 이벤트가 생성된 스레드입니다.

{
  "code.filepath": "main.scala",
  "code.function": "$anonfun$new$10",
  "code.lineno": 149,
  "code.namespace": "main.main$",
  "thread.id": 1,
  "thread.name": "main"
}
Copy

SPAN RECORD_TYPE의 경우

범위가 기록될 때 범위에 할당된 특성입니다(있는 경우). 특성 이름과 값은 처리기 코드 또는 Snowflake에 의해 설정됩니다.

다음 표에는 Snowflake에서 설정할 수 있는 특성이 나와 있습니다.

속성

타입

설명

snow.rows.processed

int

함수 범위에서 처리되는 행의 수입니다.

다음 예제의 코드는 Snowflake에서 설정한 특성을 포함합니다.

{
  "snow.rows.processed": 12
}
Copy

다음 예제의 코드는 처리기 코드에서 설정한 특성을 포함합니다.

{
  "MyFunctionVersion": "1.1.0"
}
Copy

SPAN_EVENT RECORD_TYPE의 경우

범위가 기록될 때 범위 이벤트에 할당된 특성입니다(있는 경우). 특성 이름과 값은 Snowflake 또는 사용자 코드에서 설정할 수 있습니다.

다음 예제의 코드는 처리기 코드에서 설정한 특성을 포함합니다.

{
  "mykey1": "value1",
  "mykey2": "value2"
}
Copy

RECORD_TYPE 열

이벤트 테이블 행에서 설명하는 레코드의 종류를 지정합니다. 이 열의 값으로 이벤트 테이블에 데이터가 포함될 수 있는 세 가지 유형의 레코드를 식별할 수 있습니다.

RECORD 열에는 이 레코드의 데이터가 포함됩니다. RECORD_ATTRIBUTES 열에는 이 레코드의 메타데이터가 포함됩니다(있는 경우).

다음 표에는 이 열에 포함될 수 있는 값이 나와 있습니다.

열 값

설명

LOG

이 행은 처리기 코드에서 생성된 로그 항목을 나타냅니다.

SPAN

이 행은 범위를 나타냅니다.

저장 프로시저의 경우 단일 범위가 있습니다. 병렬화될 수 있는 사용자 정의 함수의 경우 함수가 실행되는 각 스레드의 범위가 있습니다. 스레드 수는 함수가 실행되는 Snowflake 웨어하우스의 크기를 비롯한 여러 요인에 따라 달라집니다.

범위는 여러 범위 이벤트를 포함할 수 있습니다. 자세한 내용은 기록된 범위 데이터 섹션을 참조하십시오.

SPAN_EVENT

이 행은 범위 이벤트를 나타냅니다. 특정 범위에 연결된 여러 범위 이벤트 레코드일 수 있습니다. 처리기 코드는 필요에 맞는 이벤트를 생성할 수 있습니다. 범위 이벤트의 수는 128개로 제한됩니다.

RESOURCE 열

향후 사용을 위해 예약되어 있습니다.

RESOURCE_ATTRIBUTES 열

Snowflake 오브젝트 측면에서 이벤트의 원본을 설명합니다.

이 열의 값을 구성하는 특성은 Snowflake에 의해 설정되며 변경할 수 없습니다.

이벤트 원본의 리소스 특성

속성 이름

특성 유형

설명

snow.database.id

int

실행 파일을 포함하는 데이터베이스의 내부/시스템 생성 식별자입니다.

12345

snow.database.name

문자열

실행 파일이 포함된 데이터베이스의 이름입니다.

MY_DATABASE

snow.executable.id

int

이벤트를 생성하는 실행 파일(프로시저, 함수, SnowService 등)의 내부/시스템 생성 식별자입니다.

12345

snow.executable.name

문자열

이벤트를 생성하는 실행 파일(프로시저, 함수 등)의 이름입니다.

MY_UDF

snow.executable.type

문자열

다음 중 하나:

  • procedure (저장 프로시저의 경우)

  • function (사용자 정의 함수의 경우)

  • sql (Snowflake Scripting 블록과 같은 단일 쿼리의 이벤트인 경우).

  • service (Snowflake SnowService의 경우)

procedure

snow.owner.id

int

실행 파일의 OWNERSHIP 역할의 내부/시스템 생성 식별자입니다.

1234

snow.owner.name

문자열

실행 파일의 OWNERSHIP 역할 이름입니다.

UDF_OWNER_RL

snow.schema.id

int

실행 파일을 포함하는 스키마의 내부/시스템 생성 식별자입니다.

12345

snow.schema.name

문자열

실행 파일을 포함하는 스키마의 이름입니다.

MY_SCHEMA

telemetry.sdk.language

문자열

리소스/SDK의 언어입니다. Snowflake는 Java, Scala, Python, Javascript, SQL을 사용합니다.

java

실행 환경의 리소스 특성

속성

타입

설명

db.user

문자열

함수를 실행하는 사용자의 이름입니다.

MY_USER_NAME

snow.query.id

문자열

쿼리의 ID입니다.

01a6aeb7-0604-c466-0000-097127d13812

snow.release.version

문자열

이벤트가 생성되었을 때 실행 중인 Snowflake 릴리스입니다.

7.9.0

snow.session.id

int

실행 파일을 실행하는 세션의 ID입니다.

10

snow.session.role.primary.id

int

세션에서 기본 역할의 내부/시스템 생성 식별자입니다.

10

snow.session.role.primary.name

문자열

세션에서 기본 역할의 이름입니다.

MY_ROLE

snow.user.id

int

쿼리를 실행하는 사용자의 내부/시스템 생성 식별자입니다.

1234

snow.warehouse.id

int

이벤트를 생성하는 쿼리를 실행하는 웨어하우스의 내부/시스템 생성 식별자입니다.

12345

snow.warehouse.name

문자열

이벤트를 생성하는 쿼리를 실행하는 웨어하우스의 이름입니다.

MY_WAREHOUSE

애플리케이션의 리소스 특성

속성

타입

설명

snow.application.consumer.name

문자열

기본 애플리케이션의 경우 컨슈머 계정의 이름입니다.

CONSUMER_NAME

snow.application.consumer.organization

문자열

기본 애플리케이션의 경우 컨슈머 조직의 이름입니다.

CONSUMER_ORG_NAME

snow.application.package.name

문자열

기본 애플리케이션의 경우 애플리케이션 패키지의 이름입니다.

MY_INSTALLED_PACKAGE_NAME

snow.listing.global_name

문자열

기본 애플리케이션의 경우 목록의 내부/시스템 생성 식별자입니다.

GZYZN3J3

snow.listing.name

문자열

기본 애플리케이션의 경우 목록의 이름입니다.

MY_LISTING_NAME

Snowflake 버전의 리소스 특성

속성

타입

설명

service.version

문자열

관련이 있는 경우 실행 파일의 버전입니다. snow.versionsnow.patch 가 존재하는 곳에 점으로 연결된 이 둘의 조합입니다. 표준 OpenTelemetry 특성입니다.

2.3.1

snow.patch

문자열

실행 중인 실행 파일의 패치 수준입니다.

1

snow.version

문자열

실행 중인 실행 파일의 버전입니다.

2.3

{
  "db.user": "MYUSERNAME",
  "snow.database.id": 13,
  "snow.database.name": "MY_DB",
  "snow.executable.id": 197,
  "snow.executable.name": "FUNCTION_NAME(I NUMBER):ARG_NAME(38,0)",
  "snow.executable.type": "FUNCTION",
  "snow.owner.id": 2,
  "snow.owner.name": "MY_ROLE",
  "snow.query.id": "01ab0f07-0000-15c8-0000-0129000592c2",
  "snow.schema.id": 16,
  "snow.schema.name": "PUBLIC",
  "snow.session.id": 1275605667850,
  "snow.session.role.primary.id": 2,
  "snow.session.role.primary.name": "MY_ROLE",
  "snow.user.id": 25,
  "snow.warehouse.id": 5,
  "snow.warehouse.name": "MYWH",
  "telemetry.sdk.language": "python"
}
Copy

SCOPE 열

로그 이벤트의 경우 이벤트를 내보낸 코드의 네임스페이스입니다(예: 로그 항목을 생성하는 클래스의 이름). 이는 추적 이벤트에는 사용되지 않습니다.

다음 표에는 이 열에 포함될 수 있는 특성이 나와 있습니다.

범위 값

속성

타입

설명

name

문자열

이벤트를 내보내는 코드의 네임스페이스입니다.

com.sample.MyClass

{
  "name": "com.sample.MyClass"
}
Copy

SCOPE_ATTRIBUTES 열

향후 사용을 위해 예약되어 있습니다.

START_TIMESTAMP 열

범위가 UTC 타임스탬프로 시작된 시간입니다.

RECORD_TYPE 열 값

START_TIMESTAMP 값 설명

LOG

사용되지 않습니다.

SPAN

범위가 시작된 시간입니다.

SPAN_EVENT

사용되지 않습니다.

TIMESTAMP 열

이벤트를 내보낸 시간입니다. 이 값의 의미는 다음 표에 나열된 대로 행이 나타내는 레코드 유형에 따라 달라집니다.

RECORD_TYPE 열 값

TIMESTAMP 값 설명

LOG

이벤트를 내보낸 벽시계 시간입니다.

SPAN

실행이 종결된 시간입니다.

SPAN_EVENT

이벤트를 내보낸 벽시계 시간입니다.

TRACE 열

함수와 프로시저의 실행을 나타내는 고유 식별자입니다.

RECORD_TYPE 열 값

TRACE 값 설명

LOG

사용되지 않습니다.

SPAN

trace_idspan_id

SPAN_EVENT

trace_idspan_id

추적 값

다음 표에는 이 열에 포함될 수 있는 특성이 나와 있습니다.

속성

타입

설명

span_id

16진수 문자열

스레딩 모델에 연결된 고유 식별자입니다. 프로시저는 단일 스레드이며 단일 span_id 값을 갖습니다. 여러 스레드(예: 여러 행의 경우)에서 Snowflake가 실행할 수 있는 함수는 span_id 값을 여러 개 가질 수 있습니다.

b4c28078330873a2

trace_id

16진수 문자열

쿼리에서 이루어진 호출의 고유 식별자입니다. 저장 프로시저를 호출할 때마다 고유한 trace_id 값을 갖습니다. 쿼리 내에서, 쿼리에서 이루어진 모든 함수 호출은 동일한 trace_id 값을 공유합니다.

이 값은 각 쿼리에 고유하며 쿼리 내의 모든 범위에 대해 동일합니다. 단일 쿼리 실행 내에서 이벤트를 그룹화하는 데 사용할 수 있습니다.

6992e9febf0b97f45b34a62e54936adb

다음 예제의 코드는 범위 또는 범위 이벤트에 대해 존재하는 특성을 보여줍니다.

{
  "span_id": "b4c28078330873a2",
  "trace_id": "6992e9febf0b97f45b34a62e54936adb"
}
Copy

VALUE 열

로그 이벤트의 경우 이는 보통 로그 메시지입니다. 로그에 기록된 이벤트가 처리되지 않은 예외 에 대한 것인 경우 이 열의 값은 단순히 exception 입니다.

VALUE 열의 유형은 VARIANT이므로(STRING 아님) JavaScript와 같은 일부 언어의 경우 문자열이 아닌 값을 가질 수 있습니다.