Skip to content

Conditionally initialize the global opentracing tracer

Andrew Newdigate requested to merge an-opentracing-factory into master

What does this MR do?

Requires https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24422

This is an attempt to slim https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21280 down by breaking the functionality out.

This change will instantiate an OpenTracing tracer and configure it as the global tracer when the GITLAB_TRACING environment variable is configured. GITLAB_TRACING takes a "connection string"-like value, encapsulating the driver (eg jaeger, etc) and options for the driver. Since each service, whether it's written in Ruby or Golang, uses the same connection-string, it should be very easy to configure all services in a cluster, or even a single development machine to be setup to use tracing.

Note that this change does not include instrumentation or propagation changes as this is a way of breaking a previous larger change into components. The instrumentation and propagation changes will follow in separate patches.

What are the relevant issue numbers?

Does this MR meet the acceptance criteria?

Edited by Kamil Trzciński

Merge request reports