kong.tracing
Kongのトレーサーモジュールアプリケーションレベルのトレーシング。
span:finish(end_time_ns)
スパンを終了します。終了時間を設定し、スパンを解放します。スパンが終了した後は、スパンテーブルを使用してはなりません。
パラメータ
-
end_time_ns (
number|nil
):
使用法
span:finish()
local time = ngx.now()
span:finish(time * 100000000)
span:set_attribute(key, value)
属性をSpanに設定する
パラメータ
-
キー (
string
): -
value (
string|number|boolean|nil
):
使用法
span:set_attribute("net.transport", "ip_tcp")
span:set_attribute("net.peer.port", 443)
span:set_attribute("exception.escaped", true)
span:set_attribute("unset.this", nil)
span:add_event(name, attributes, time_ns)
スパンにイベントを追加します
パラメータ
-
name (
string
): イベント名 -
attributes (
table|nil
): Event attributes -
time_ns (
number|nil
): イベントタイムスタンプ
span:record_error(err)
Spanにエラーイベントを追加します
パラメータ
-
err (
string
): エラー文字列
span:set_status(status)
スパンにエラーイベントを追加します。 ステータスコード:
-
0
解除 -
1
ok -
2
エラー
パラメータ
-
status (
number
): status code
kong.tracing.active_span()
アクティブスパンを取得します デフォルトでルートスパンを返します
フェーズ
- rewrite、access、header_filter、response、body_filter、log、admin_api
戻り値
-
table
:スパン
kong.tracing.set_active_span(span)
アクティブスパンの設定
フェーズ
- rewrite、access、header_filter、response、body_filter、log、admin_api
パラメータ
-
span (
table
):
kong.tracing.start_span(name, options)
新しいスパンを作成する
フェーズ
- rewrite、access、header_filter、response、body_filter、log、admin_api
パラメータ
-
name (
string
): スパン名 -
options (
table
): TODO(mayo)
戻り値
-
table
:スパン
kong.tracing.process_span(processor)
バッチ処理スパン。
ソケットはログフェーズでは使用できないので、代わりに ngx.timer.at
を使用してください
フェーズ
- ログ
パラメータ
-
processor (
function
): スパンをパラメータとして使用できる関数
kong.tracing:set_should_sample(should_sample)
すべてのスパンのshould_sampleの値を更新します。
パラメータ
-
should_sample (
bool
): サンプルパラメータの値
kong.tracing:get_sampling_decision(parent_should_sample, sampling_rate)
サンプリングの決定結果の取得
親スパンの sampled フラグが false の場合、または、trace_id が利用できない場合に、親スパンから記録しない決定を継承するために親ベースのサンプラーを使用します。
それ以外の場合は、確率ベースの should_sample 決定を適用します。
パラメータ
-
parent_should_sample (
bool
):受信トレーシングヘッダーから抽出される親スパンのサンプルフラグの値 -
sampling_rate (
number
): 確率サンプラーに適用するサンプリングレート
戻り値
-
bool
: このトレースでサンプリングされたもののサンプリング値