[Misc] Add OpenTelemetry metrics to CTA
Description
This MR adds opentelemetry to CTA.
- Some small abstractions have been introduced that allow developers to:
- Create a telemetry configuration
- Initialise telemetry in a consistent manner using this configuration
- Globally (uniquely) define instruments per library. Duplicate instrument registrations are considered a semantic error
Overview of the changes in the MR:
-
.gitlab/ci: manually triggered testing for testing telemetry correctness -
common/semconv/: Semantic conventions constants -
common/telemetry/: basic code to provide telemetry functionality -
continuousintegration/: add cta-dependencies as a repo as this contains the opentelemetry-cpp RPMs. Update the pods to use a flexible telemetry configuration and add basic system test for telemetry correctness. Add option--enable-telemetrytobuild_deploy.sh -
catalogue/andrdbms/: Updates to be able to extract info about the DB connection at the place where queries are instrumented - The remainder is for the initialisation of telemetry and the usage of instruments
Checklist
-
Documentation reflects the changes made. See https://gitlab.cern.ch/cta/eoscta-docs/-/merge_requests/73 -
Merge Request title is clear, concise, and suitable as a changelog entry. See this link -
Create operations ticket for setting this up and testing this in preproduction. Done, see https://gitlab.cern.ch/cta/operations/-/issues/1784
References
Closes #1135 (closed) Closes #1296 (closed)
Edited by Niels Alexander Buegel