Skip to content

Update Puma exporter docs

Matthias Käppler requested to merge mk-update-puma-exporter-docs into master

What does this MR do?

Rewrote the "Puma Exporter" page: https://docs.gitlab.com/ee/administration/monitoring/prometheus/puma_exporter.html

These docs were not correct. We do not use the puma-exporter project (perhaps we did in the past?) but run our own dedicated server instead: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/3dccb752f4d9b40478e8823ad61c5ec07d9aa217/files/gitlab-cookbooks/gitlab/templates/default/gitlab.yml.erb#L1029

The server is implemented here: https://gitlab.com/gitlab-org/gitlab/blob/5af70128ee5d026e0595b8ffb9ea1691db8aefc6/lib/gitlab/metrics/exporter/base_exporter.rb It will soon be replaced by a new server written from scratch in Golang: &7396 (closed)

This is a dedicated metrics server that runs alongside Puma and Sidekiq and serves metrics written to disk by Sidekiq or Rails via prometheus-client-mmap (this page is specific to the "web variant" of it).

I also clarified how this relates to the /-/metrics endpoint, which always exists and is part of the Rails application, since it is served by a Rails controller. It exports the same metric data as web_exporter but requires a web worker to service requests, which can be detrimental to scalability in very large GitLab installations (think SaaS).

I remained somewhat vague about when the dedicated server should be used. We originally added it due to the high volume and load induced by metrics on SaaS, but I am not sure how many self-managed users use it because it was not a well-documented feature.

Related issues

&7396 (closed)

Author's checklist

If you are a GitLab team member and only adding documentation, do not add any of the following labels:

  • ~"frontend"
  • ~"backend"
  • ~"type::bug"
  • ~"database"

These labels cause the MR to be added to code verification QA issues.

Reviewer's checklist

Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.

  • If the content requires it, ensure the information is reviewed by a subject matter expert.
  • Technical writer review items:
    • Ensure docs metadata is present and up-to-date.
    • Ensure the appropriate labels are added to this MR.
    • Ensure a release milestone is set.
    • If relevant to this MR, ensure content topic type principles are in use, including:
      • The headings should be something you'd do a Google search for. Instead of Default behavior, say something like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure GDK.
      • Any task steps should be written as a numbered list.
      • If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
  • Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
Edited by Matthias Käppler

Merge request reports