Cleanup stale Prometheus metrics

Summary

Stale Prometheus metrics are not removed on Unicorn start-up. Only on restarts.

Stale Prometheus metrics are not removed if envvar prometheus_multiproc_dir is missing which is true for e.g. development environment.

Steps to reproduce

What is the current bug behavior?

Stale Prometheus metrics are not removed

  • after starting Unicorn
  • in development environment

What is the expected correct behavior?

Stale Prometheus metrics are removed

  • after Unicorn has been started
  • in development environment

Possible fixes

  unless Rails.env.test?
    prometheus_multiproc_dir = Prometheus::Client.configuration.multiprocess_files_dir
    old_metrics = Dir[File.join(prometheus_multiproc_dir, '*.db')]
    FileUtils.rm_rf(old_metrics)
  end

/cc @bjk-gitlab