Add QA test coverage for metrics
We do not currently have a way to verify that application metrics work correctly end-to-end as part of the build pipeline.
Exporting application metrics requires multiple components to be configured correctly and operate in tandem, which makes unit-testing unsuitable to verify changes.
We sometimes find only after deploying such changes that some or all metrics are broken.
We should run end-to-end smoke tests as part of our QA pipeline to verify that application metrics do not regress.
This could be done by sending HTTP requests to the /metrics
endpoints for Sidekiq and Puma and check representative metrics to exist on behalf of a class of metrics, for instance:
metric class | represents | systems |
---|---|---|
ruby_* |
Ruby process metrics | Puma, Sidekiq |
sidekiq_exporter_ruby_* |
Ruby process metrics | sidekiq-exporter |
web_exporter_ruby_* |
Ruby process metrics | web-exporter |
gitlab_ruby_threads_* |
Ruby thread metrics | Puma, Sidekiq |
puma_* |
Puma metrics | Puma |
Edited by Matthias Käppler