Adding prometheus instrumenting to gitlab webapp
Instrument Gitlab using the prometheus API to make it easier to track, detect and manage issues with Gitlab.
Once instrumenting is added it becomes possible to scrape Gitlab in order to detect performance issues, changes in performance, reliability issues, debug problems, spot performance trends across versions or over uptime.
Steps to integrating this:
Create a multi-proccess mode for the existing ruby prometheus library.
Update the existing ruby prometheus library to current standards. Being tracked in: client_ruby issue 9.
Have a way to set the
prometheus_multiproc_direnvironment variable within unicorn.
Document 'prometheus_multiproc_dir' usage
Link 'prometheus_multiproc_dir' in
config.ruand Application Settings in Rails app
Metrics endpoint name.
There's some existing influx instrumentation - make use of that.
Work with gitlab.com production engineering to find important metrics that are required.