Skip to content

Fix pid providing for Prometheus

Aleksei Lipniagov requested to merge 63870-fix-pid-providing-for-prometheus into master

What does this MR do?

Use relative worker identifier for metrics (instead of Process.pid) and identify when Unicorn/Puma/Sidekiq is used.

Previously, it was assumed that all metrics are gathered from Unicorn due to hardcoded implementation which was incorrect.

How to check manually

Visit http://localhost:3000/-/metrics before and after the change, grep for pid.
The same with ./bin/web_puma start_foreground.

For example, with puma before the change you could notice something like this:

# TYPE ruby_process_max_fds gauge
ruby_process_max_fds{pid="process_id_5639"} 0
ruby_process_max_fds{pid="process_id_5640"} 0

where 5639 and 5640 are the pids of puma worker processes.

Does this MR meet the acceptance criteria?

Conformity

Performance 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

Closes #63870 (closed)

Edited by 🤖 GitLab Bot 🤖

Merge request reports