Module: Epsagon
- Defined in:
- lib/epsagon.rb
Overview
Epsagon tracing main entry point
Constant Summary collapse
- DEFAULT_BACKEND =
'opentelemetry.tc.epsagon.com:443/traces'- @@epsagon_config =
{ metadata_only: ENV['EPSAGON_METADATA']&.to_s&.downcase != 'false', debug: ENV['EPSAGON_DEBUG']&.to_s&.downcase == 'true', token: ENV['EPSAGON_TOKEN'], app_name: ENV['EPSAGON_APP_NAME'], max_attribute_size: ENV['EPSAGON_MAX_ATTRIBUTE_SIZE'] || 5000, backend: ENV['EPSAGON_BACKEND'] || DEFAULT_BACKEND }
Class Method Summary collapse
-
.epsagon_confs(configurator) ⇒ Object
config opentelemetry with epsaon extensions:.
- .get_config ⇒ Object
- .init(**args) ⇒ Object
Class Method Details
.epsagon_confs(configurator) ⇒ Object
config opentelemetry with epsaon extensions:
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/epsagon.rb', line 46 def epsagon_confs(configurator) configurator.resource = OpenTelemetry::SDK::Resources::Resource.telemetry_sdk.merge( OpenTelemetry::SDK::Resources::Resource.create({ 'application' => @@epsagon_config[:app_name], 'epsagon.version' => EpsagonConstants::VERSION }) ) configurator.use 'EpsagonSinatraInstrumentation', { epsagon: @@epsagon_config } configurator.use 'EpsagonNetHTTPInstrumentation', { epsagon: @@epsagon_config } configurator.use 'EpsagonFaradayInstrumentation', { epsagon: @@epsagon_config } configurator.use 'EpsagonAwsSdkInstrumentation', { epsagon: @@epsagon_config } configurator.use 'EpsagonRailsInstrumentation', { epsagon: @@epsagon_config } configurator.use 'OpenTelemetry::Instrumentation::Sidekiq' if @@epsagon_config[:debug] configurator.add_span_processor OpenTelemetry::SDK::Trace::Export::SimpleSpanProcessor.new( OpenTelemetry::Exporter::OTLP::Exporter.new(headers: { 'x-epsagon-token' => @@epsagon_config[:token] }, endpoint: @@epsagon_config[:backend], insecure: @@epsagon_config[:insecure] || false) ) configurator.add_span_processor OpenTelemetry::SDK::Trace::Export::SimpleSpanProcessor.new( OpenTelemetry::SDK::Trace::Export::ConsoleSpanExporter.new ) else configurator.add_span_processor OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new( exporter: OpenTelemetry::Exporter::OTLP::Exporter.new(headers: { 'x-epsagon-token' => @@epsagon_config[:token] }, endpoint: @@epsagon_config[:backend], insecure: @@epsagon_config[:insecure] || false) ) end end |
.get_config ⇒ Object
40 41 42 |
# File 'lib/epsagon.rb', line 40 def get_config @@epsagon_config end |
.init(**args) ⇒ Object
35 36 37 38 |
# File 'lib/epsagon.rb', line 35 def init(**args) @@epsagon_config.merge!(args) OpenTelemetry::SDK.configure end |