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 |