Module: Labkit::Tracing
- Defined in:
- lib/labkit/tracing.rb,
lib/labkit/tracing/rails.rb,
lib/labkit/tracing/common.rb,
lib/labkit/tracing/factory.rb,
lib/labkit/tracing/sidekiq.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
Overview
Tracing provides distributed tracing functionality
Defined Under Namespace
Modules: Common, Rails, Sidekiq Classes: Factory, GRPCInterceptor, JaegerFactory, RackMiddleware
Class Method Summary collapse
- .connection_string ⇒ Object
-
.enabled? ⇒ Boolean
Tracing is only enabled when the ‘GITLAB_TRACING` env var is configured.
-
.tracing_url(service_name) ⇒ 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
21 22 23 |
# File 'lib/labkit/tracing.rb', line 21 def self.connection_string ENV["GITLAB_TRACING"] end |
.enabled? ⇒ Boolean
Tracing is only enabled when the ‘GITLAB_TRACING` env var is configured.
17 18 19 |
# File 'lib/labkit/tracing.rb', line 17 def self.enabled? connection_string.present? end |
.tracing_url(service_name) ⇒ Object
This will provide a link into the distributed tracing for the current trace, if it has been captured.
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/labkit/tracing.rb', line 35 def self.tracing_url(service_name) return unless tracing_url_enabled? correlation_id = Labkit::Correlation::CorrelationId.current_id.to_s # Avoid using `format` since it can throw TypeErrors # which we want to avoid on unsanitised env var input tracing_url_template.to_s .gsub("{{ correlation_id }}", correlation_id) .gsub("{{ service }}", service_name) end |
.tracing_url_enabled? ⇒ Boolean
29 30 31 |
# File 'lib/labkit/tracing.rb', line 29 def self.tracing_url_enabled? enabled? && tracing_url_template.present? end |
.tracing_url_template ⇒ Object
25 26 27 |
# File 'lib/labkit/tracing.rb', line 25 def self.tracing_url_template ENV["GITLAB_TRACING_URL"] end |