Module: Datadog::OpenTelemetry::SDK::Configurator
- Defined in:
- lib/datadog/opentelemetry/sdk/configurator.rb
Overview
The Configurator is responsible for setting wiring up different OpenTelemetry requirements together. Some of the requirements will be changed to Datadog versions.
Instance Method Summary collapse
-
#configure_propagation ⇒ Object
Ensure Datadog-configure propagation styles have are applied when configured.
- #initialize ⇒ Object
- #metrics_configuration_hook ⇒ Object
-
#wrapped_exporters_from_env ⇒ Object
Ensure Datadog-configure trace writer is configured.
Instance Method Details
#configure_propagation ⇒ Object
Ensure Datadog-configure propagation styles have are applied when configured.
DEV: Support configuring propagation through the environment variable DEV: ‘OTEL_PROPAGATORS`, alias to `DD_TRACE_PROPAGATION_STYLE`
23 24 25 26 |
# File 'lib/datadog/opentelemetry/sdk/configurator.rb', line 23 def configure_propagation @propagators = [Propagator.new(Tracing::Contrib::HTTP)] super end |
#initialize ⇒ Object
14 15 16 17 |
# File 'lib/datadog/opentelemetry/sdk/configurator.rb', line 14 def initialize super @id_generator = IdGenerator end |
#metrics_configuration_hook ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/datadog/opentelemetry/sdk/configurator.rb', line 33 def metrics_configuration_hook components = Datadog.send(:components) return super unless components.settings.opentelemetry.metrics.enabled begin require 'opentelemetry-metrics-sdk' rescue LoadError => exc components.logger.warn("Failed to load OpenTelemetry metrics gems: #{exc.class}: #{exc}") return super end success = Datadog::OpenTelemetry::Metrics.initialize!(components) super unless success end |
#wrapped_exporters_from_env ⇒ Object
Ensure Datadog-configure trace writer is configured.
29 30 31 |
# File 'lib/datadog/opentelemetry/sdk/configurator.rb', line 29 def wrapped_exporters_from_env [SpanProcessor.new] end |