Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndrew Newdigate <andrew@gitlab.com>2019-02-04 15:44:51 +0300
committerAndrew Newdigate <andrew@gitlab.com>2019-02-08 15:08:31 +0300
commit48bcd5248f6c1e8471393fe07ed043c4fefcb7e2 (patch)
tree99d907f6dc6f322d59af528301a889f6bb66b443 /lib
parentc48f29c15989d260ccb72d3e4bf5973a5e0f2d25 (diff)
Provide a performance bar link to the Jaeger UI
Jaeger is a distributed tracing tool. This change adds a "Tracing" link to the performance bar to directly link to a current request in Jaeger. This is useful for two reasons: 1 - it provides affordance to developers that the distributed tracing tool is available, so that it can quickly be discovered. 2 - it allows developers to quickly find a specific trace without having to manually navigate to a second user-interface.
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/tracing.rb19
-rw-r--r--lib/peek/views/tracing.rb13
2 files changed, 32 insertions, 0 deletions
diff --git a/lib/gitlab/tracing.rb b/lib/gitlab/tracing.rb
index 3c4db42ac06..0d9b0be1c8e 100644
--- a/lib/gitlab/tracing.rb
+++ b/lib/gitlab/tracing.rb
@@ -13,5 +13,24 @@ module Gitlab
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
+ return unless tracing_url_enabled?
+
+ tracing_url_template % {
+ correlation_id: Gitlab::CorrelationId.current_id.to_s,
+ service: Gitlab.process_name
+ }
+ end
end
end
diff --git a/lib/peek/views/tracing.rb b/lib/peek/views/tracing.rb
new file mode 100644
index 00000000000..0de32a8fdda
--- /dev/null
+++ b/lib/peek/views/tracing.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+module Peek
+ module Views
+ class Tracing < View
+ def results
+ {
+ tracing_url: Gitlab::Tracing.tracing_url
+ }
+ end
+ end
+ end
+end