module Promenade

Constants

VERSION

Public Class Methods

metric(name) click to toggle source
# File lib/promenade.rb, line 14
def metric(name)
  Promenade::Prometheus.metric(name)
end
multiprocess_files_dir() click to toggle source
# File lib/promenade/setup.rb, line 9
def self.multiprocess_files_dir
  ENV.fetch("PROMETHEUS_MULTIPROC_DIR", root_dir.join("tmp", "promenade"))
end
root_dir() click to toggle source
# File lib/promenade/setup.rb, line 4
def self.root_dir
  rails_root = defined?(Rails) && Rails.root
  rails_root || Pathname.new(ENV.fetch("RAILS_ROOT", Dir.pwd))
end
setup() click to toggle source
# File lib/promenade/setup.rb, line 13
def self.setup
  unless File.directory? multiprocess_files_dir
    FileUtils.mkdir_p multiprocess_files_dir
  end

  ENV["prometheus_multiproc_dir"] = multiprocess_files_dir.to_s

  require "prometheus/client"
  require "prometheus/client/support/unicorn"

  ::Prometheus::Client.configure do |config|
    config.multiprocess_files_dir = multiprocess_files_dir
    config.pid_provider = ::Prometheus::Client::Support::Unicorn.method(:worker_pid_provider)
  end
end