Skip to content

Don't initialize http_request_duration_seconds bucket in sidekiq

Peter Leitzen requested to merge 250671-don-t-init-http-metrics-in-sidekiq into master

What does this MR do?

The sidekiq exporter does not use Gitlab::Metrics::RequestsRackMiddleware because it uses the WEBrick server which does not any middlewares at all.

Therefore, we don't need to initialize those metrics so the are not exported which saves traffic and Prometheus storage.

Contributes to #250671 (closed)

Local verification

Enable Prometheus (and thus sidekiq exporter) in GDK. See #250671 (closed)

Before each gdk restart rails-background-jobs please remove stale Prometheus sidekiq metrics via rm tmp/prometheus_multiproc_dir/sidekiq/*.db since we are not cleaning them in GDK; we do, however, clean them in omnibus!

Before

# sidekiq exporter
curl -s  http://127.0.0.1:3807/metrics | grep http_request_duration_seconds | wc -l
1042

# rails
curl -s  http://127.0.0.1:3000/-/metrics | grep http_request_duration_seconds | wc -l
1048

After

# sidekiq exporter
curl -s  http://127.0.0.1:3807/metrics | grep http_request_duration_seconds | wc -l
0

# rails
curl -s  http://127.0.0.1:3000/-/metrics | grep http_request_duration_seconds | wc -l
1048

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Peter Leitzen

Merge request reports