add prometheus initialiser

this ensures it works great in multi-process setups (like with puma)
This commit is contained in:
Georg Gadinger 2023-02-13 20:36:15 +01:00
parent 9fadeea3fe
commit c338a0c8cc
1 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,17 @@
# frozen_string_literal: true
return if Rails.env.test? # no need for the direct file store in testing
require "prometheus/client/data_stores/direct_file_store"
Rails.application.config.before_configuration do
dir = Rails.root.join("tmp/prometheus_metrics")
FileUtils.mkdir_p dir
Prometheus::Client.config.data_store = Prometheus::Client::DataStores::DirectFileStore.new(dir:)
end
Rails.application.config.after_initialize do
# ensure the version metric is populated
Retrospring::Metrics::VERSION_INFO
end