Class: Labkit::Tracing::Factory
- Inherits:
-
Object
- Object
- Labkit::Tracing::Factory
- Defined in:
- lib/labkit/tracing/factory.rb
Overview
Factory provides tools for setting up and configuring the distributed tracing system within the process, given the tracing connection string
Constant Summary collapse
- DEFAULT_PROBABILISTIC_RATE =
When the probabilistic sampler is used, by default 0.1% of requests will be traced
0.001
Class Method Summary collapse
-
.create_tracer(service_name, connection_string) {|config| ... } ⇒ Tracer?
The configured tracer or nil if initialization fails.
Class Method Details
.create_tracer(service_name, connection_string) {|config| ... } ⇒ Tracer?
Returns The configured tracer or nil if initialization fails.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/labkit/tracing/factory.rb', line 17 def self.create_tracer(service_name, connection_string, &config_block) return unless connection_string.present? tracer = if Tracing.otlp_connection?(connection_string) OpenTelemetryFactory.create_tracer(service_name, connection_string, &config_block) elsif Tracing.opentracing_connection?(connection_string) warn_opentracing_block_ignored if config_block OpenTracingFactory.create_tracer(service_name, connection_string) else raise "Unknown protocol" end Tracing.configured_service_name = service_name tracer rescue StandardError => e warn "Unable to instantiate tracer: #{e}" nil end |