class Aws::Telemetry::OTelProvider

client = Aws::S3::Client.new(telemetry_provider: otel_provider)
otel_provider = Aws::Telemetry::OTelProvider.new
OpenTelemetry::SDK.configure
# configures the OpenTelemetry SDK with defaults<br><br>ENV ||= ‘console’
require ‘opentelemetry-sdk’
@example Exporting via console
more information.
See {opentelemetry.io/docs/languages/ruby/exporters here} for
OpenTelemetry supports many ways to export your telemetry data.
client = Aws::S3::Client.new(telemetry_provider: otel_provider)
otel_provider = Aws::Telemetry::OTelProvider.new
OpenTelemetry::SDK.configure
# sets up the OpenTelemetry SDK with their config defaults
require ‘opentelemetry-sdk’
@example Configuration
telemetry provider in the client config.
pass in an instance of a ‘Aws::Telemetry::OTelProvider` as the
To use this provider, require the `opentelemetry-sdk` gem and then,
OTelProvider allows to emit telemetry data based on OpenTelemetry.

def initialize

def initialize
  unless otel_loaded?
    raise ArgumentError,
          'Requires the `opentelemetry-sdk` gem to use OTel Provider.'
  end
  super(
    tracer_provider: OTelTracerProvider.new,
    context_manager: OTelContextManager.new
  )
end

def otel_loaded?

def otel_loaded?
  if @use_otel.nil?
    @use_otel =
      begin
        require 'opentelemetry-sdk'
        true
      rescue LoadError, NameError
        false
      end
  end
  @use_otel
end