JavaScript でのトレースイベントの出力¶
Snowflake JavaScript API の snowflake
クラスを使用して、 JavaScript で記述された関数またはプロシージャハンドラーからトレースイベントを出力できます。JavaScript API は、 JavaScript ハンドラーコードですでに使用可能です。
トレースイベントを出力する前に、必要なデータがイベントテーブルに格納されるようにトレースレベルが設定されていることを確認してください。詳細については、 トレースレベルの設定 をご参照ください。
注釈
トレースイベントの出力を開始する前に、イベントテーブルを設定する必要があります。詳細については、 イベントテーブルの設定 をご参照ください。
イベントテーブルで SELECT コマンドを実行すると、格納されたトレースイベントデータにアクセスできます。詳細については、 トレースデータへのアクセス をご参照ください。
Snowflakeでのログの設定とメッセージの取得に関する一般的な情報については、 関数とプロシージャのイベントをトレースする をご参照ください。
注釈
トレースイベントを追加する際に留意すべきガイドラインについては、 トレースイベントを追加するための一般的なガイドライン をご参照ください。
トレースイベントの追加¶
トレースイベントを追加するには、 snowflake.addEvent
関数を呼び出してイベントの名前を渡します。オプションで、属性(キーと値のペア)をイベントに関連付けることもできます。
addEvent
メソッドは次の形式で使用できます。
snowflake.addEvent(name [, { key:value [, key:value] } ] );
次の例のハンドラーコードは、2つのイベント name_a
と name_b
を追加します。 name_b
を使用すると、コードは2つの属性 score
と pass
も追加します。
create procedure PI_JS()
returns double
language javascript
as
$$
snowflake.addEvent('name_a'); // add an event without attributes
snowflake.addEvent('name_b', {'score': 89, 'pass': true});
return 3.14;
$$
;
これらの属性を設定すると、イベントテーブルに2つの行が作成され、それぞれの RECORD 列に異なる値が含まれます。
{
"name": "name_a"
}
{
"name": "name_b"
}
name_b
イベント行には、行の RECORD_ATTRIBUTES 列に次の属性が含まれています。
{
"score": 89,
"pass": true
}
スパン属性の追加¶
snowflake.setSpanAttribute
関数を呼び出すと、スパンに関連付けられた属性(キーと値のペア)を設定できます。
setSpanAttribute
関数は次の形式で使用できます。
snowflake.setSpanAttribute(key, value);
スパンの詳細については、 Snowflakeがトレースイベントを表す方法 をご参照ください。
次の例のコードは4つの属性を作成し、それらの値を設定します。
// Setting span attributes.
snowflake.setSpanAttribute("example.boolean", true);
snowflake.setSpanAttribute("example.long", 2L);
snowflake.setSpanAttribute("example.double", 2.5);
snowflake.setSpanAttribute("example.string", "testAttribute");
これらの属性を設定すると、イベントテーブルの RECORD_ATTRIBUTES 列が次のようになります。
{
"example.boolean": true,
"example.long": 2,
"example.double": 2.5,
"example.string": "testAttribute"
}