Sha256: c499e66998aad7e14c00286f2b1d4cfebb03568aaed7dda60768a53756c9f1de
Contents?: true
Size: 1.44 KB
Versions: 3
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true require "active_support/all" module Labkit # Tracing provides distributed tracing functionality module Tracing autoload :Common, "labkit/tracing/common" autoload :Factory, "labkit/tracing/factory" autoload :GRPCInterceptor, "labkit/tracing/grpc_interceptor" autoload :JaegerFactory, "labkit/tracing/jaeger_factory" autoload :RackMiddleware, "labkit/tracing/rack_middleware" autoload :Rails, "labkit/tracing/rails" autoload :Sidekiq, "labkit/tracing/sidekiq" # Tracing is only enabled when the `GITLAB_TRACING` env var is configured. def self.enabled? connection_string.present? end def self.connection_string ENV["GITLAB_TRACING"] end def self.tracing_url_template ENV["GITLAB_TRACING_URL"] end def self.tracing_url_enabled? enabled? && tracing_url_template.present? end # This will provide a link into the distributed tracing for the current trace, # if it has been captured. 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 end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gitlab-labkit-0.1.2 | lib/labkit/tracing.rb |
gitlab-labkit-0.1.0.pre.1.pre.gcb57c95 | lib/labkit/tracing.rb |
gitlab-labkit-0.1.0 | lib/labkit/tracing.rb |