JavaScript でのトレースイベントの出力¶
Snowflake JavaScript API の snowflake クラスを使用して、 JavaScript で記述された関数またはプロシージャハンドラーからトレースイベントを出力できます。JavaScript API は、 JavaScript ハンドラーコードですでに使用可能です。
トレースイベントを出力する前に、必要なデータがイベントテーブルに格納されるようにトレースレベルが設定されていることを確認してください。詳細については、 ロギング、メトリクス、トレースのレベル設定 をご参照ください。
注釈
トレースイベントの出力を開始する前に、イベントテーブルを設定する必要があります。詳細については、 イベントテーブルの概要 をご参照ください。
イベントテーブルで SELECT コマンドを実行すると、格納されたトレースイベントデータにアクセスできます。詳細については、 トレースデータの表示 をご参照ください。
Snowflakeでのログの設定とメッセージの取得に関する一般的な情報については、 関数とプロシージャのイベントをトレースする をご参照ください。
注釈
トレースイベントを追加する際に留意すべきガイドラインについては、 トレースイベントを追加するための一般的なガイドライン をご参照ください。
トレースイベントの追加¶
トレースイベントを追加するには、 snowflake.addEvent 関数を呼び出してイベントの名前を渡します。オプションで、属性(キーと値のペア)をイベントに関連付けることもできます。
addEvent メソッドは次の形式で使用できます。
次の例のハンドラーコードは、2つのイベント name_a と name_b を追加します。 name_b を使用すると、コードは2つの属性 score と pass も追加します。
これらの属性を設定すると、イベントテーブルに2つの行が作成され、それぞれの RECORD 列に異なる値が含まれます。
name_b イベント行には、行の RECORD_ATTRIBUTES 列に次の属性が含まれています。
スパン属性の追加¶
snowflake.setSpanAttribute 関数を呼び出すと、スパンに関連付けられた属性(キーと値のペア)を設定できます。
setSpanAttribute 関数は次の形式で使用できます。
スパンの詳細については、 Snowflakeがトレースイベントを表す方法 をご参照ください。
次の例のコードは4つの属性を作成し、それらの値を設定します。
これらの属性を設定すると、イベントテーブルの RECORD_ATTRIBUTES 列が次のようになります。
カスタムスパンの追加¶
Snowflakeが作成するデフォルトのスパンとは別に、カスタムスパンを追加することができます。カスタム・スパンの詳細については、 トレースへのカスタムスパンの追加 をご参照ください。
次の例のコードは、 OpenTelemetry API を使って新しい example_custom_span スパンを作成します。そして、新しいスパンにイベントと属性を追加します。最後に、スパンのイベント・データをイベント・テーブルに取り込むために、スパンを終了させます。コードが Span.end メソッドを呼び出さない場合、データはイベント・テーブルに取り込まれません。