Web metrics exporter
What does this MR do?
This adds an ability to run unauthenticated web_metrics
exporter running on separate endpoint
to application itself.
This is added, because in heavily tested applications that are loaded with stress testing
the /metrics
endpoint might not be available, or is available with very high latency
and in such cases, we are unable to gather metrics from that period. Exposing metrics
on a separate endpoint and running on master side-steps that problem.
Consider, that this should be used only for development/staging purposes, we should rather not use that on a production system, as it is yet to verify what impact of long-running metrics generation does affect other connections (ie. how multi-threaded Ruby MRI GIL works in such cases). We might consider this as well, as this can be present on Sidekiq as well that, because of metrics endpoint we inject undisclosed latency. According to Ben gather of all metrics on GitLab.com does take around 1s due to the amount of them.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/64423