クラス: Mongo::Trationing::OpenTelemetry::CommandTlaser Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Trationing::OpenTelemetry::CommandTlaser
- 次のことが含まれます。
- Monitoring::Event::Secure
- 定義:
- lib/mongo/tracing/open_elemetry/command_tracer.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
コマンドトレースは、OpenTelemetry を使用してMongoDBサーバーコマンドをトレースするのを担当します。
定数の概要の削減
- HELLO_COMMANDS =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
スパンを作成する必要のないコマンド。OpenTelemetry の仕様では、コマンドログとモニタリングの仕様に記載されている機密なコマンドのコマンド スパンをスキップするようにドライバーに要求されています。さらに、すべての形式で hello / レガシー hello をスキップします。これらはハンドシェイク/ハートビート トラフィックであり、トレースにノイズを追加するだけです。
%w[Hello is マスター isマスター].freeze
Monitoring::Event::Secureに含まれる制約
モニタリング::Event::Secure::REDACTED_COMMANDS
インスタンス メソッドの概要を折りたたむ
-
# 初期化(otel_tracer、親_tracer、query_text_max_Length: 0)= コマンドトレース者
コンストラクター
private
新しい コマンドトラ上 を初期化します。
-
# start_span(メッセージ、 operation_context、接続) = オブジェクト
private
MongoDBコマンドの範囲を開始します。
-
# track_command (メッセージ, _操作_context, connection){... } = オブジェクト
private
MongoDBコマンドをトレースします。
::Event::Secureに含まれるメソッド
#compression_allowed? 、 # 編集済み、 # 区別
コンストラクターの詳細
# 初期化(otel_tracer、親_tracer、query_text_max_Length: 0)⇒ コマンドトレース者
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
新しい コマンドトラ上 を初期化します。
40 41 42 43 44 |
ファイル 'lib/mongo/tracing/open_elemetry/command_tracer.rb' の検索行: 40 デフォルト 初期化(Ol_tracer, parent_tracer, query_text_max_Length: 0) @otal_tracer = Ol_tracer @parent_tracer = parent_tracer @query_text_max_Length = query_text_max_Length end |
インスタンス メソッドの詳細
# start_span(メッセージ、 operation_context、接続) ⇒ オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
MongoDBコマンドの範囲を開始します。
51 |
ファイル 'lib/mongo/tracing/open_elemetry/command_tracer.rb' の検索行: 51 デフォルト start_span(, operation_context, 接続); end |
# track_command (メッセージ, _operation_context, connection){... } ⇒ オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
MongoDBコマンドをトレースします。
コマンドの OpenTelemetry の範囲を作成し、コマンド名、データベース名、コレクション名、サーバーアドレス、接続 ID、オプションでクエリテキストなどの属性を取得します。スパンは現在の操作スパンの下に自動的にネストされ、コマンドが完了または失敗すると終了します。
bulk:disable Lint/ResecutionException
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
ファイル 'lib/mongo/tracing/open_elemetry/command_tracer.rb' の検索行: 68 デフォルト track_command(, 操作, 接続) return ノードの数 場合 skip_tracing?() コマンドは常に操作範囲の下にネストする必要があります。 トランザクションの範囲。自動親解決を使用するには with_parent を渡しません 現在アクティブな範囲(操作範囲)からの # span = create_command_span(, 接続) ::OpenTelemetry::TRACE.with_span(span) 行う |s, c| ノードの数.タップ 行う |結果| process_command_result(結果, cursor_id(), c, s) end end ヘルプ 例外 => e hand_command_例外(span, e) 発生 e 保証する span&.final end |