Skip to content

Add distributed tracing to GitLab-Shell

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

Done using govendor fetch -v gitlab.com/gitlab-org/labkit/...@master

What this changes

  1. Makes the implementation of the three Gitaly commands almost identical (previously there was a lot of duplicated code as they were implemented at different times, iirc)
  2. Extract much of the logic of the commands into handler.RunHandler
  3. Before exiting the program, ensures that any deferred functions are executed, allowing for distributed tracing to send off traces if necessary
  4. Adds distributed tracing instrumentation
  5. Adds more tests

Currently blocked on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25150 as the config file mentions docs which have yet to land on master.

Reviewers Guide

This change consists of three commits:

  1. Vendor LabKit into GitLab-Shell LabKit gives us observability and distributed tracing functionality
  2. Add testify/require to vendored packages
  3. Adds distributed tracing instrumentation to GitLab-Shell Instruments GitLab-Shell's Gitaly handlers for Distributed Tracing
Edited by Andrew Newdigate

Merge request reports