Add distributed tracing to GitLab-Shell
Done using govendor fetch -v gitlab.com/gitlab-org/labkit/...@master
What this changes
- 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)
- Extract much of the logic of the commands into
handler.RunHandler
- Before exiting the program, ensures that any deferred functions are executed, allowing for distributed tracing to send off traces if necessary
- Adds distributed tracing instrumentation
- 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:
- Vendor LabKit into GitLab-Shell LabKit gives us observability and distributed tracing functionality
- Add testify/require to vendored packages
- Adds distributed tracing instrumentation to GitLab-Shell Instruments GitLab-Shell's Gitaly handlers for Distributed Tracing
Edited by Andrew Newdigate