Module: Labkit::Tracing
- Defined in:
- lib/labkit/tracing.rb,
 lib/labkit/tracing/common.rb,
 lib/labkit/tracing/factory.rb,
 lib/labkit/tracing/jaeger_factory.rb,
 lib/labkit/tracing/rack_middleware.rb,
 lib/labkit/tracing/grpc_interceptor.rb,
 lib/labkit/tracing/rails/rails_common.rb,
 lib/labkit/tracing/sidekiq/sidekiq_common.rb,
 lib/labkit/tracing/sidekiq/client_middleware.rb,
 lib/labkit/tracing/sidekiq/server_middleware.rb,
 lib/labkit/tracing/rails/action_view_subscriber.rb,
 lib/labkit/tracing/rails/active_record_subscriber.rb
Defined Under Namespace
Modules: Common, Rails, Sidekiq Classes: Factory, GRPCInterceptor, JaegerFactory, RackMiddleware
Class Method Summary collapse
- .connection_string ⇒ Object
- 
  
    
      .enabled?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Only enable tracing when the ‘GITLAB_TRACING` env var is configured. 
- 
  
    
      .tracing_url  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    This will provide a link into the distributed tracing for the current trace, if it has been captured. 
- .tracing_url_enabled? ⇒ Boolean
- .tracing_url_template ⇒ Object
Class Method Details
.connection_string ⇒ Object
| 33 34 35 | # File 'lib/labkit/tracing.rb', line 33 def self.connection_string ENV['GITLAB_TRACING'] end | 
.enabled? ⇒ Boolean
Only enable tracing when the ‘GITLAB_TRACING` env var is configured. Note that we avoid using ApplicationSettings since the same environment variable needs to be configured for Workhorse, Gitaly and any other components which emit tracing. Since other components may start before Rails, and may not have access to ApplicationSettings, an env var makes more sense.
| 29 30 31 | # File 'lib/labkit/tracing.rb', line 29 def self.enabled? connection_string.present? end | 
.tracing_url ⇒ Object
This will provide a link into the distributed tracing for the current trace, if it has been captured.
| 47 48 49 50 51 | # File 'lib/labkit/tracing.rb', line 47 def self.tracing_url return unless tracing_url_enabled? tracing_url_template.to_s % { correlation_id: Labkit::Correlation::CorrelationId.current_id.to_s, service: Labkit.process_name } end | 
.tracing_url_enabled? ⇒ Boolean
| 41 42 43 | # File 'lib/labkit/tracing.rb', line 41 def self.tracing_url_enabled? enabled? && tracing_url_template.present? end | 
.tracing_url_template ⇒ Object
| 37 38 39 | # File 'lib/labkit/tracing.rb', line 37 def self.tracing_url_template ENV['GITLAB_TRACING_URL'] end |