Skip to content

Drop gitlab-exporter

During groupmemory's GitLab in 2GB research week we identified gitlab-exporter as a component that contributes significantly to overall memory use of GitLab. This is a dedicated service running a full Puma server just to export metrics to Prometheus and consumes roughly 100MB:

mk@omnibus-4c4g4s-mk:~$ ps -p 31766 -o 'rss='
95560

This component is already in maintenance mode as far as development goes (although this is not documented anywhere), since it comes with intrinsic limitations such as not being able to report Ruby VM specific metrics for our Ruby services. We have instead moved most metrics to be exported from the services themselves already. No new metrics are being added to this service.

The goal of this issue is to:

  1. Identify the steps necessary to remove this component. This includes investigating whether there are metrics exported via gitlab-exporter that aren't already exported elsewhere. If so, create follow-up issues to migrate those to service-level metrics.
  2. If it is safe to remove, default it to "off" in Omnibus. This would make sure that it remains available to user for a given period of time, but would not by default contribute to memory bloat.
  3. Update documentation to indicate that this service is being phased out.

Metrics overview

metric pattern source owner documented exported to .com Used in runbooks migration issue
gitlab_database_bloat_* database Database no yes no #290747 (closed)
gitlab_database_rows database Database no yes yes #290747 (closed)
gitlab_database_stat_table_* database Database no yes no #290747 (closed)
ci_*_builds database Verify/Runner no yes yes #290751 (closed)
project_remote_mirror_* database Create no yes yes #290755 (closed)
git_*_time_milliseconds procfs Create no no no #290755 (closed)
process_* procfs Memory/Infra no yes yes #290765 (closed)
process_smaps_* procfs Memory/Infra no no no #290765 (closed)
sidekiq_* redis ? no yes yes #290768 (closed)
Edited by Matthias Käppler