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:
-
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. - 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.
- 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 |
project_remote_mirror_* |
database | Create | no | yes | yes | #290755 |
git_*_time_milliseconds |
procfs | Create | no | no | no | #290755 |
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 |
Edited by Matthias Käppler