Don't init http metrics in sidekiq
Summary
The sidekiq component internalizes http_request_duration_seconds
histogram metrics to zero them out, but since this service doesn't receive any traffic, these metrics are un-used.
This results in about 1200 un-used metrics per target, at gitlab.com scale, this is over 300k extra metrics.
Steps to reproduce
On GDK:
- Enable Prometheus in
gdk.yml
(see gdk configuration)
prometheus:
enabled: true
- Re-configure GDK via
gdk reconfigure
- Restart GDK via
gdk restart
Then:
- Scrape sidekiq
/metrics
(e.g. http://127.0.0.1:3807/metrics), see that allhttp_request_duration_seconds_count
values are 0.
What is the current bug behavior?
Scrape sidekiq /metrics
, see that all http_request_duration_seconds_count
values are 0.
What is the expected correct behavior?
No http_request_duration_seconds_count
metrics are returned for sidekiq (e.g. http://127.0.0.1:3807/metrics).
Note, http_request_duration_seconds_count
metrics are still returned for web server (e.g. http://127.0.0.1:3000/-/metrics).
Possible fixes
Skip init initialize_http_request_duration_seconds
in lib/gitlab/metrics/requests_rack_middleware.rb
for sidekiq.
Edited by Peter Leitzen