Module: Mongo::Tracing

Defined in:
lib/mongo/tracing.rb,
lib/mongo/tracing/open_telemetry.rb,
lib/mongo/tracing/open_telemetry/tracer.rb,
lib/mongo/tracing/open_telemetry/command_tracer.rb,
lib/mongo/tracing/open_telemetry/operation_tracer.rb

Overview

Provides OpenTelemetry tracing capabilities for MongoDB operations.

Defined Under Namespace

Modules: OpenTelemetry

Class Method Summary collapse

Class Method Details

.create_tracer(enabled: nil, query_text_max_length: nil, otel_tracer: nil) ⇒ Mongo::Tracing::OpenTelemetry::Tracer

Creates a new OpenTelemetry tracer for instrumenting MongoDB operations.

Parameters:

  • enabled (Boolean, nil) (defaults to: nil)

    Whether tracing is enabled. Default to nil, which means it will check the environment variable OTEL_RUBY_INSTRUMENTATION_MONGODB_ENABLED. See Mongo::Tracing::OpenTelemetry::Tracer for details.

  • query_text_max_length (Integer, nil) (defaults to: nil)

    Maximum length for captured query text. Default to nil, which means it will check the environment variable OTEL_RUBY_INSTRUMENTATION_MONGODB_QUERY_TEXT_MAX_LENGTH. See Mongo::Tracing::OpenTelemetry::Tracer for details.

  • otel_tracer (OpenTelemetry::Trace::Tracer, nil) (defaults to: nil)

    Custom OpenTelemetry tracer instance.

Returns:



31
32
33
34
35
36
37
# File 'lib/mongo/tracing.rb', line 31

def create_tracer(enabled: nil, query_text_max_length: nil, otel_tracer: nil)
  OpenTelemetry::Tracer.new(
    enabled: enabled,
    query_text_max_length: query_text_max_length,
    otel_tracer: otel_tracer
  )
end