Module: Foam::Ruby::OtelSetup
- Defined in:
- lib/foam/ruby/otel_setup.rb
Class Method Summary collapse
Class Method Details
.configure!(config) ⇒ Object
14 15 16 17 |
# File 'lib/foam/ruby/otel_setup.rb', line 14 def configure!(config) configure_traces(config) configure_logs(config) end |
.configure_logs(config) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/foam/ruby/otel_setup.rb', line 36 def configure_logs(config) resource = OpenTelemetry::SDK::Resources::Resource.create( "service.name" => config.service_name, "deployment.environment" => ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "production" ) exporter = OpenTelemetry::Exporter::OTLP::Logs::LogsExporter.new( endpoint: config.logs_endpoint, headers: config.otel_headers ) processor = OpenTelemetry::SDK::Logs::Export::BatchLogRecordProcessor.new(exporter) logger_provider = OpenTelemetry::SDK::Logs::LoggerProvider.new(resource: resource) logger_provider.add_log_record_processor(processor) OpenTelemetry.logger_provider = logger_provider end |
.configure_traces(config) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/foam/ruby/otel_setup.rb', line 19 def configure_traces(config) OpenTelemetry::SDK.configure do |c| c.service_name = config.service_name c.add_span_processor( OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new( OpenTelemetry::Exporter::OTLP::Exporter.new( endpoint: config.traces_endpoint, headers: config.otel_headers ) ) ) c.use_all end end |