イベントテーブル列

イベントテーブルには、事前定義された一連の列があります。このトピックでは、列について説明します。

イベントテーブルの操作の詳細については、 イベントテーブルの使用 をご参照ください。

イベントテーブル列

イベントテーブルには次の列があります。

データ型

説明

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。1つのクエリで複数の 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 列LOGSPAN、または 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が実行スケジュールをどのように決定したかに応じて、1つの関数呼び出しに複数のスパンが存在する場合があります。

特定のクエリのスパンすべては、 TRACE 列の trace_id キーに同じ値を持ちます。

スパンの継続時間は、 start_timestamp 列と timestamp 列の値の差であり、それぞれスパン実行の開始時刻と終了時刻を示します。

スパンの ID とクエリトレースは、 TRACE 列の値で表されます。

Snowflakeは、以下に示すキーを使用して実行ごとに1つのスパンを作成します。

キー

説明

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 列

イベントテーブルの行で記述される記録の種類を指定します。この列の値は、イベントテーブルにデータを含めることができる3種類の記録のどれであるかを識別します。

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

  • Snowflake スクリプトブロックなど、単一クエリからのイベントの場合は sql

  • Snowflake SnowService の場合は service

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_id および span_id

SPAN_EVENT

trace_id および span_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 列の型は(STRING ではなく) VARIANT であるため、 JavaScript などの一部の言語では文字列以外の値を持つことができることに注意してください。