class Aws::Telemetry::OTelProvider
OTelProvider
allows to emit telemetry data based on OpenTelemetry.
To use this provider, require the ‘opentelemetry-sdk` gem and then, pass in an instance of a `Aws::Telemetry::OTelProvider` as the telemetry provider in the client config.
@example Configuration
require 'opentelemetry-sdk' # sets up the OpenTelemetry SDK with their config defaults OpenTelemetry::SDK.configure otel_provider = Aws::Telemetry::OTelProvider.new client = Aws::S3::Client.new(telemetry_provider: otel_provider)
OpenTelemetry supports many ways to export your telemetry data. See {opentelemetry.io/docs/languages/ruby/exporters here} for more information.
@example Exporting via console
require 'opentelemetry-sdk' ENV['OTEL_TRACES_EXPORTER'] ||= 'console' # configures the OpenTelemetry SDK with defaults OpenTelemetry::SDK.configure otel_provider = Aws::Telemetry::OTelProvider.new client = Aws::S3::Client.new(telemetry_provider: otel_provider)
Public Class Methods
Source
# File lib/aws-sdk-core/telemetry/otel.rb, line 35 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
Calls superclass method
Aws::Telemetry::TelemetryProviderBase::new
Private Instance Methods
Source
# File lib/aws-sdk-core/telemetry/otel.rb, line 48 def otel_loaded? if @use_otel.nil? @use_otel = begin require 'opentelemetry-sdk' true rescue LoadError, NameError false end end @use_otel end