クラス: Mongo::Trationing::OpenTelemetry::Trater Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Trationing::OpenTelemetry::Trater
- 定義:
- lib/mongo/tracing/open_elemetry/traser.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
MongoDB の操作とコマンド用の OpenTelemetry トレーサー
インスタンス属性の概要を折りたたむ
-
#otel_tracer ⇒ OpenTelemetry::Trace::Tracer
readOnly
private
MongoDB操作とコマンドの範囲を作成するために使用される OpenTelemetry のトレース実装。
インスタンス メソッドの概要を折りたたむ
-
#cursor_context_map ⇒ Hash
private
カーソル関連の OpenTelemetry コンテキストを追跡するためのカーソル コンテキスト マップを返します。
-
# cursor_map_key(セッション、カーソル_id)=string | nil
private
コンテキスト マップでカーソルを追跡するための一意のキーを生成します。
-
#有効⇒ ブール値
private
OpenTelemetry が有効かどうか。
-
#fill_transaction_span(セッション)= オブジェクト
private
トランザクション範囲を完了し、そのコンテキストを非アクティブ化します。
-
# 初期化(enabled: nil、query_text_max_Length: nil、otel_tracer: nil) = 正規表現
コンストラクター
private
新しい OpenTelemetry トレースを初期化します。
-
#親_context_for(operation_context、 cursor_id)= OpenTelemetry::Context | nil
private
操作の親 OpenTelemetry コンテキストを決定します。
-
# start_transaction_span(セッション) = オブジェクト
private
トランザクション範囲を開始し、そのコンテキストをアクティブ化します。
-
#トレース_コマンド(メッセージ、操作_コンテキスト、接続){... } ⇒ オブジェクト
private
MongoDBコマンドをトレースします。
-
# track_operation(操作、操作_context、op_name: nil){{... } = オブジェクト
private
MongoDB操作のトレース 。
-
#transaction_context_map ⇒ Hash
private
アクティブなトランザクション コンテキストを追跡するためのトランザクション コンテキスト マップを返します。
-
#トランザクション_map_key(セッション)=string | nil
private
トランザクション追跡用に一意のキーを生成します。
-
#transaction_span_map ⇒ Hash
private
アクティブなトランザクションの範囲を追跡するためのトランザクション範囲マップを返します。
-
#transaction_token_map ⇒ Hash
private
コンテキスト アタッチメント トークンを追跡するためのトランザクション トークン マップを返します。
コンストラクターの詳細
# 初期化(enabled: nil、query_text_max_Length: nil、otel_tracer: nil) ⇒ 正規表現
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
新しい OpenTelemetry トレースを初期化します。
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 42 デフォルト 初期化(次の場合に有効 nil, query_text_max_Length: nil, Ol_tracer: nil) @enabled = 場合 enabled.nil? %w[true 1 はい].include?(ENV['OTEL_RUBY_INSTRUMENTATION_MONGODB_ENABLED']&.ダウンケース) else enabled end checkpoint_openlemetry_loaded @query_text_max_Length = 場合 query_text_max_Length.nil? ENV['OTEL_RUBY_INSTRUMENTATION_MONGODB_QUERY_TEXT_MAX_LENGTH'].to_i else query_text_max_Length end @otal_tracer = Ol_tracer || initialize_tracer @operation_tracer = OperationTlaser.新着情報(@otal_tracer, 自己) @command_tracer = コマンドトレース者.新着情報(@otal_tracer, 自己, query_text_max_Length: @query_text_max_Length) end |
インスタンス属性の詳細
#ol_tracer == OpenTelemetry::Trate::Trater (読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
MongoDB操作とコマンドの範囲を作成するために使用される OpenTelemetry トラーの実装を返します。
27 28 29 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 27 デフォルト Ol_tracer @otal_tracer end |
インスタンス メソッドの詳細
#cursor_context_map ⇒ Hash
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
カーソル関連の OpenTelemetry コンテキストを追跡するためのカーソル コンテキスト マップを返します。
145 146 147 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 145 デフォルト cursor_context_map @cursor_context_map ||= {} end |
# cursor_map_key(セッション、カーソル_id)⇒ String | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
コンテキスト マップでカーソルを追跡するための一意のキーを生成します。
155 156 157 158 159 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 155 デフォルト cursor_map_key(セッション, cursor_id) return 場合 cursor_id.nil? || セッション.nil? "#{session.session_id['id'].to_uuid}-#{cursor_id}" end |
#有効⇒ ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
OpenTelemetry が有効かどうか。
62 63 64 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 62 デフォルト 有効か @enabled end |
#finish_transaction_span(セッション)⇒ オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
トランザクション範囲を完了し、そのコンテキストを非アクティブ化します。
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 123 デフォルト final_transaction_span(セッション) return ただし、 有効か キー = transaction_map_key(セッション) return ただし、 キー span = transaction_span_map.削除(キー) token = transaction_token_map.削除(キー) transaction_context_map.削除(キー) return ただし、 span & & token begin span.final 保証する ::OpenTelemetry::Context.detach(token) end end |
#親_context_for(operation_context、 cursor_id)= OpenTelemetry::Context | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
操作の親 OpenTelemetry コンテキストを決定します。
操作がトランザクションの一部である場合はトランザクションコンテキストを返し、それ以外の場合は nil を返します。カーソルベースのコンテキストのネストは現在実装されていません。
170 171 172 173 174 175 176 177 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 170 デフォルト parent_context_for(operation_context, cursor_id) 場合 (キー = transaction_map_key(operation_context.セッション)) transaction_context_map[キー] elsif (_key = cursor_map_key(operation_context.セッション, cursor_id)) # カーソル操作のネスト方法が決定されない限り、ここでは nil が返されます。 nil end end |
# start_transaction_span(セッション) = オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
トランザクション範囲を開始し、そのコンテキストをアクティブ化します。
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 95 デフォルト start_transaction_span(セッション) return ただし、 有効か キー = transaction_map_key(セッション) return ただし、 キー 最小限の属性でトランザクション範囲を作成する span = @otal_tracer.start_span( 'transaction', 属性: { 'db.system.name' => 'mongodb' }, kind: :client ) # この範囲を含むコンテキストを作成 context = ::OpenTelemetry::TRACE.context_with_span(span) # コンテキストをアクティブ化し、後でデタッチするためにトークンを保存する token = ::OpenTelemetry::Context.添付する(context) 後で取得するためにスパン、トークン、コンテキストを保存 transaction_span_map[キー] = span transaction_token_map[キー] = token transaction_context_map[キー] = context end |
#トレース_コマンド(メッセージ、操作_コンテキスト、接続){... } ⇒ オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
MongoDBコマンドをトレースします。
86 87 88 89 90 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 86 デフォルト track_command(, operation_context, 接続, &ブロック) return ノードの数 ただし、 有効か @command_tracer.track_command(, operation_context, 接続, &ブロック) end |
# track_operation(操作、操作_context、op_name: nil){{... } ⇒ オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
MongoDB操作のトレース 。
73 74 75 76 77 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 73 デフォルト track_operation(操作, operation_context, op_name: nil, &ブロック) return ノードの数 ただし、 有効か @operation_tracer.track_operation(操作, operation_context, op_name: op_name, &ブロック) end |
#transaction_context_map ⇒ Hash
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
アクティブなトランザクション コンテキストを追跡するためのトランザクション コンテキスト マップを返します。
182 183 184 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 182 デフォルト transaction_context_map @transaction_context_map ||= {} end |
#トランザクション_map_key(セッション)⇒string | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
トランザクション追跡用に一意のキーを生成します。
暗黙的なセッションまたはトランザクションにないセッションの場合 nil を返します。
207 208 209 210 211 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 207 デフォルト transaction_map_key(セッション) return 場合 セッション.nil? || セッション.implicit? || !セッション.in_transaction? " #{ session. session_id[' id']. to_uuid} - #{ session. txn_num} " end |
#transaction_span_map ⇒ Hash
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
アクティブなトランザクションの範囲を追跡するためのトランザクション範囲マップを返します。
189 190 191 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 189 デフォルト transaction_span_map @transaction_span_map ||= {} end |
#transaction_token_map ⇒ Hash
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
コンテキスト アタッチメント トークンを追跡するためのトランザクション トークン マップを返します。
196 197 198 |
ファイル 'lib/mongo/tracing/open_elemetry/tracer.rb' の検索行: 196 デフォルト transaction_token_map @transaction_token_map ||= {} end |