이벤트 테이블 열¶
이벤트 테이블에는 미리 정의된 열 세트가 있습니다. 이 항목에서는 열에 대해 설명합니다.
이벤트 테이블을 사용한 작업에 대한 자세한 내용은 이벤트 테이블 관련 작업하기 섹션을 참조하십시오.
이벤트 테이블 열¶
이벤트 테이블에는 다음 열이 있습니다.
열 |
데이터 타입 |
설명 |
---|---|---|
TIMESTAMP_NTZ |
이벤트가 생성된 UTC 타임스탬프입니다. 시간 범위를 나타내는 이벤트의 경우 이것은 시간 범위의 끝입니다. |
|
TIMESTAMP_NTZ |
추적 이벤트와 같이 시간 범위를 나타내는 이벤트의 경우 시간 범위의 시작은 UTC 타임스탬프로 표시됩니다. |
|
TIMESTAMP_NTZ |
로그에 사용되는 UTC 시간입니다. 현재는 TIMESTAMP과 동일한 값입니다. |
|
OBJECT |
모든 신호 유형에 대한 추적 컨텍스트입니다. 문자열 값 |
|
OBJECT |
향후 사용을 위해 예약되어 있습니다. |
|
OBJECT |
데이터베이스, 스키마, 사용자, 웨어하우스 등과 같은 이벤트의 원본을 식별하는 특성입니다. |
|
OBJECT |
이벤트의 범위입니다. 예를 들어 로그의 클래스 이름입니다. |
|
OBJECT |
향후 사용을 위해 예약되어 있습니다. |
|
STRING |
이벤트 유형입니다. 다음 중 하나:
|
|
OBJECT |
RECORD 열 에 설명된 대로 각 레코드 유형의 고정 값입니다. |
|
OBJECT |
RECORD_ATTRIBUTES 열 에 설명된 대로 각 레코드 유형에 대한 변수 특성입니다. |
|
VARIANT |
기본 이벤트 값입니다. |
|
ARRAY |
향후 사용을 위해 예약되어 있습니다. |
이벤트 유형별로 캡처된 데이터¶
로그의 데이터¶
속성 |
설명 |
---|---|
현재는 TIMESTAMP과 동일한 값입니다. |
|
로그 이벤트 에 의해 기록된 심각도 수준입니다. |
|
로그 이벤트를 내보낸 코드의 위치입니다. 값은 처리기 언어별로 다르지만 코드 파일 경로, 함수 이름, 줄 번호 등을 포함할 수 있습니다. |
|
이벤트 유형: 로그 메시지의 경우 |
|
데이터베이스, 스키마, 사용자, 웨어하우스 등과 같은 이벤트의 원본을 식별하는 특성입니다. |
|
로그 이벤트가 생성된 클래스의 이름과 같이, 이벤트가 발생한 범위입니다. |
|
이벤트가 생성된 시점의 타임스탬프입니다. |
|
로그 메시지입니다. |
추적 이벤트의 데이터¶
속성 |
설명 |
---|---|
이벤트 유형: 범위의 경우 |
|
데이터베이스, 스키마, 사용자, 웨어하우스 등과 같은 이벤트의 원본을 식별하는 특성입니다. |
|
범위의 경우 범위가 시작된 시간입니다. 범위 이벤트에는 사용되지 않습니다. |
|
이벤트가 생성된 시점의 타임스탬프입니다. |
|
범위와 그 안의 범위 이벤트에 대한 식별자 |
EXEMPLARS 열¶
향후 사용을 위해 예약되어 있습니다.
OBSERVED_TIMESTAMP 열¶
로그의 UTC 타임스탬프입니다. 추적 이벤트에는 사용되지 않습니다.
RECORD 열¶
이벤트에 대한 핵심 정보를 제공하고 로그 이벤트의 로그 수준 또는 추적 이벤트의 이름(범위 또는 범위 이벤트 레코드)을 포함합니다.
레코드에 대한 특성이 있는 경우 RECORD_ATTRIBUTES 열 에 기록됩니다.
이 열에 포함된 값은 다음 섹션에 설명된 대로 RECORD_TYPE 열 (LOG
, SPAN
또는 SPAN_EVENT
)의 값에 따라 달라집니다.
LOG
RECORD_TYPE의 경우¶
RECORD_TYPE 열 값이 LOG
인 경우 RECORD 열 값에는 로그 메시지의 심각도가 포함됩니다. 열 값에는 다음 키가 포함될 수 있습니다.
키 |
타입 |
설명 |
---|---|---|
|
STRING |
로그 심각도 텍스트입니다. 다음 중 하나:
로그 항목이 처리되지 않은 예외 에 대한 것인 경우 이 값은 현재 언어 런타임에 대해 심각도가 가장 높은 오류 수준입니다. 예를 들어 Python으로 작성된 처리기의 경우 이 값은 |
예¶
{
"severity_text": "INFO"
}
SPAN
RECORD_TYPE의 경우¶
범위는 함수와 프로시저의 개별 실행을 나타냅니다. 저장 프로시저의 경우 단일 범위가 있습니다. 사용자 정의 함수의 경우 Snowflake가 실행 예약 결정을 내리는 방법에 따라 단일 함수 호출에 대해 여러 범위가 있을 수 있습니다.
주어진 쿼리에 대한 모든 범위는 TRACE
열의 trace_id
키에 대해 값이 동일합니다.
범위의 지속 시간은 start_timestamp
열의 값과 timestamp
열의 값 사이의 차이로, 각각 범위 실행의 시작 시간과 종료 시간을 나타냅니다.
범위의 ID와 쿼리 추적은 TRACE 열의 값으로 표현됩니다.
Snowflake는 아래에 표시된 키를 사용하여 각 실행에 대해 하나의 범위를 생성합니다.
키 |
타입 |
설명 |
---|---|---|
|
int |
기록된 최대값에 도달한 후 무시되는 특성의 수입니다. |
|
문자열 |
고정 값. |
|
문자열 |
고정 값 |
|
문자열 |
범위가 처리되지 않은 예외 에 해당할 때는 |
사용자 정의 함수의 경우 Snowflake는 범위에 대한 특성을 추가하여 함수에서 처리하고 내보낸 행의 개수를 나타낼 수 있습니다.
SPAN_EVENT
RECORD_TYPE의 경우¶
범위 이벤트는 위에서 설명한 특정 범위 실행에 연결된 이벤트 레코드입니다. 애플리케이션의 요구 사항에 맞게 이벤트를 만들 수 있습니다. 범위 이벤트의 수는 128개로 제한됩니다.
TRACE 열의 값으로 이벤트가 생성된 범위를 식별할 수 있습니다.
범위 이벤트에는 단일 키 name
이 있으며 RECORD_ATTRIBUTES 열에 추가된 임의의 특성을 가질 수 있습니다.
키 |
타입 |
설명 |
---|---|---|
|
문자열 |
범위 이벤트의 이름입니다. |
RECORD_ATTRIBUTES 열¶
Snowflake 또는 처리기 코드에 의해 설정된 메타데이터로 이벤트를 설명합니다. 이 값은 다음 섹션에 설명된 대로 행에 포함된 레코드의 유형에 따라 달라집니다.
LOG
RECORD_TYPE의 경우¶
코드 파일 경로, 함수 이름, 줄 번호 등을 포함하여 로그 이벤트를 내보낸 코드의 위치입니다.
속성 |
타입 |
설명 |
---|---|---|
|
int |
메시지를 생성한 코드가 포함된 파일입니다. |
|
문자열 |
메시지를 생성한 함수의 이름입니다. |
|
int |
메시지를 생성한 코드의 줄 번호입니다. |
|
int |
메시지를 생성한 코드의 네임스페이스입니다. |
|
문자열 |
처리되지 않은 예외 로 인한 오류 메시지입니다. |
|
문자열 |
처리되지 않은 예외 에 대한 클래스 이름입니다. |
|
문자열 |
언어 런타임으로 형식이 지정된 처리되지 않은 예외 의 스택 추적입니다. |
|
boolean |
이 항목이 처리되지 않은 예외 에서 발생한 경우 |
|
int |
로그 이벤트가 생성된 스레드입니다. |
|
문자열 |
로그 이벤트가 생성된 스레드입니다. |
예¶
{
"code.filepath": "main.scala",
"code.function": "$anonfun$new$10",
"code.lineno": 149,
"code.namespace": "main.main$",
"thread.id": 1,
"thread.name": "main"
}
SPAN
RECORD_TYPE의 경우¶
범위가 기록될 때 범위에 할당된 특성입니다(있는 경우). 특성 이름과 값은 처리기 코드 또는 Snowflake에 의해 설정됩니다.
다음 표에는 Snowflake에서 설정할 수 있는 특성이 나와 있습니다.
속성 |
타입 |
설명 |
---|---|---|
|
int |
함수 범위에서 처리되는 행의 수입니다. |
예¶
다음 예제의 코드는 Snowflake에서 설정한 특성을 포함합니다.
{
"snow.rows.processed": 12
}
예¶
다음 예제의 코드는 처리기 코드에서 설정한 특성을 포함합니다.
{
"MyFunctionVersion": "1.1.0"
}
SPAN_EVENT
RECORD_TYPE의 경우¶
범위가 기록될 때 범위 이벤트에 할당된 특성입니다(있는 경우). 특성 이름과 값은 Snowflake 또는 사용자 코드에서 설정할 수 있습니다.
예¶
다음 예제의 코드는 처리기 코드에서 설정한 특성을 포함합니다.
{
"mykey1": "value1",
"mykey2": "value2"
}
RECORD_TYPE 열¶
이벤트 테이블 행에서 설명하는 레코드의 종류를 지정합니다. 이 열의 값으로 이벤트 테이블에 데이터가 포함될 수 있는 세 가지 유형의 레코드를 식별할 수 있습니다.
RECORD 열에는 이 레코드의 데이터가 포함됩니다. RECORD_ATTRIBUTES 열에는 이 레코드의 메타데이터가 포함됩니다(있는 경우).
다음 표에는 이 열에 포함될 수 있는 값이 나와 있습니다.
열 값 |
설명 |
---|---|
|
이 행은 처리기 코드에서 생성된 로그 항목을 나타냅니다. |
|
이 행은 범위를 나타냅니다. 저장 프로시저의 경우 단일 범위가 있습니다. 병렬화될 수 있는 사용자 정의 함수의 경우 함수가 실행되는 각 스레드의 범위가 있습니다. 스레드 수는 함수가 실행되는 Snowflake 웨어하우스의 크기를 비롯한 여러 요인에 따라 달라집니다. 범위는 여러 범위 이벤트를 포함할 수 있습니다. 자세한 내용은 기록된 범위 데이터 섹션을 참조하십시오. |
|
이 행은 범위 이벤트를 나타냅니다. 특정 범위에 연결된 여러 범위 이벤트 레코드일 수 있습니다. 처리기 코드는 필요에 맞는 이벤트를 생성할 수 있습니다. 범위 이벤트의 수는 128개로 제한됩니다. |
RESOURCE 열¶
향후 사용을 위해 예약되어 있습니다.
RESOURCE_ATTRIBUTES 열¶
Snowflake 오브젝트 측면에서 이벤트의 원본을 설명합니다.
이 열의 값을 구성하는 특성은 Snowflake에 의해 설정되며 변경할 수 없습니다.
이벤트 원본의 리소스 특성¶
속성 이름 |
특성 유형 |
설명 |
예 |
---|---|---|---|
|
int |
실행 파일을 포함하는 데이터베이스의 내부/시스템 생성 식별자입니다. |
|
|
문자열 |
실행 파일이 포함된 데이터베이스의 이름입니다. |
|
|
int |
이벤트를 생성하는 실행 파일(프로시저, 함수, SnowService 등)의 내부/시스템 생성 식별자입니다. |
|
|
문자열 |
이벤트를 생성하는 실행 파일(프로시저, 함수 등)의 이름입니다. |
|
|
문자열 |
다음 중 하나:
|
|
|
int |
실행 파일의 OWNERSHIP 역할의 내부/시스템 생성 식별자입니다. |
|
|
문자열 |
실행 파일의 OWNERSHIP 역할 이름입니다. |
|
|
int |
실행 파일을 포함하는 스키마의 내부/시스템 생성 식별자입니다. |
|
|
문자열 |
실행 파일을 포함하는 스키마의 이름입니다. |
|
|
문자열 |
리소스/SDK의 언어입니다. Snowflake는 Java, Scala, Python, Javascript, SQL을 사용합니다. |
|
실행 환경의 리소스 특성¶
속성 |
타입 |
설명 |
예 |
---|---|---|---|
|
문자열 |
함수를 실행하는 사용자의 이름입니다. |
|
|
문자열 |
쿼리의 ID입니다. |
|
|
문자열 |
이벤트가 생성되었을 때 실행 중인 Snowflake 릴리스입니다. |
|
|
int |
실행 파일을 실행하는 세션의 ID입니다. |
|
|
int |
세션에서 기본 역할의 내부/시스템 생성 식별자입니다. |
|
|
문자열 |
세션에서 기본 역할의 이름입니다. |
|
|
int |
쿼리를 실행하는 사용자의 내부/시스템 생성 식별자입니다. |
|
|
int |
이벤트를 생성하는 쿼리를 실행하는 웨어하우스의 내부/시스템 생성 식별자입니다. |
|
|
문자열 |
이벤트를 생성하는 쿼리를 실행하는 웨어하우스의 이름입니다. |
|
애플리케이션의 리소스 특성¶
속성 |
타입 |
설명 |
예 |
---|---|---|---|
|
문자열 |
기본 애플리케이션의 경우 컨슈머 계정의 이름입니다. |
|
|
문자열 |
기본 애플리케이션의 경우 컨슈머 조직의 이름입니다. |
|
|
문자열 |
기본 애플리케이션의 경우 애플리케이션 패키지의 이름입니다. |
|
|
문자열 |
기본 애플리케이션의 경우 목록의 내부/시스템 생성 식별자입니다. |
|
|
문자열 |
기본 애플리케이션의 경우 목록의 이름입니다. |
|
Snowflake 버전의 리소스 특성¶
속성 |
타입 |
설명 |
예 |
---|---|---|---|
|
문자열 |
관련이 있는 경우 실행 파일의 버전입니다. |
|
|
문자열 |
실행 중인 실행 파일의 패치 수준입니다. |
|
|
문자열 |
실행 중인 실행 파일의 버전입니다. |
|
예¶
{
"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"
}
SCOPE 열¶
로그 이벤트의 경우 이벤트를 내보낸 코드의 네임스페이스입니다(예: 로그 항목을 생성하는 클래스의 이름). 이는 추적 이벤트에는 사용되지 않습니다.
다음 표에는 이 열에 포함될 수 있는 특성이 나와 있습니다.
범위 값¶
속성 |
타입 |
설명 |
예 |
---|---|---|---|
|
문자열 |
이벤트를 내보내는 코드의 네임스페이스입니다. |
|
예¶
{
"name": "com.sample.MyClass"
}
SCOPE_ATTRIBUTES 열¶
향후 사용을 위해 예약되어 있습니다.
START_TIMESTAMP 열¶
범위가 UTC 타임스탬프로 시작된 시간입니다.
RECORD_TYPE 열 값 |
START_TIMESTAMP 값 설명 |
---|---|
|
사용되지 않습니다. |
|
범위가 시작된 시간입니다. |
|
사용되지 않습니다. |
TIMESTAMP 열¶
이벤트를 내보낸 시간입니다. 이 값의 의미는 다음 표에 나열된 대로 행이 나타내는 레코드 유형에 따라 달라집니다.
RECORD_TYPE 열 값 |
TIMESTAMP 값 설명 |
---|---|
|
이벤트를 내보낸 벽시계 시간입니다. |
|
실행이 종결된 시간입니다. |
|
이벤트를 내보낸 벽시계 시간입니다. |
TRACE 열¶
함수와 프로시저의 실행을 나타내는 고유 식별자입니다.
RECORD_TYPE 열 값 |
TRACE 값 설명 |
---|---|
|
사용되지 않습니다. |
|
|
|
|
추적 값¶
다음 표에는 이 열에 포함될 수 있는 특성이 나와 있습니다.
속성 |
타입 |
설명 |
예 |
---|---|---|---|
|
16진수 문자열 |
스레딩 모델에 연결된 고유 식별자입니다. 프로시저는 단일 스레드이며 단일 |
|
|
16진수 문자열 |
쿼리에서 이루어진 호출의 고유 식별자입니다. 저장 프로시저를 호출할 때마다 고유한 이 값은 각 쿼리에 고유하며 쿼리 내의 모든 범위에 대해 동일합니다. 단일 쿼리 실행 내에서 이벤트를 그룹화하는 데 사용할 수 있습니다. |
|
예¶
다음 예제의 코드는 범위 또는 범위 이벤트에 대해 존재하는 특성을 보여줍니다.
{
"span_id": "b4c28078330873a2",
"trace_id": "6992e9febf0b97f45b34a62e54936adb"
}
VALUE 열¶
로그 이벤트의 경우 이는 보통 로그 메시지입니다. 로그에 기록된 이벤트가 처리되지 않은 예외 에 대한 것인 경우 이 열의 값은 단순히 exception
입니다.
VALUE 열의 유형은 VARIANT이므로(STRING 아님) JavaScript와 같은 일부 언어의 경우 문자열이 아닌 값을 가질 수 있습니다.