Skip to content

Add distributed tracing support with LabKit

Andrew Newdigate requested to merge an-distributed-tracing-with-labkit into master

See labkit!2 (merged) for details

Workhorse companion MR: gitlab-workhorse!325 (merged)

GitLab-CE companion MRs: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21280 https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24186

Adds distributed tracing via LabKit.

By default, this merge request does not add any functionality to Gitaly, since it only inserts a zero-cost null-operation tracer.

OpenTracing implementations can be compiled into the binary using build tags. Initially, this will be done for GDK compilations, but may in future be used to compile opentracing support into production, using the as-yet-unselected opentracing provider.

To compile support for Jaeger, set the make variable BUILD_TAGS="tracer_static tracer_static_jaeger", For example:

$ make BUILD_TAGS="tracer_static tracer_static_jaeger"

Testing

The best way to get a feel for how this works is to test it end-to-end. You can find detailed instructions of how to do this in the How to Test section here: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21280#how-to-test

Edited by GitLab Release Tools Bot

Merge request reports