Module: SolidQueueGuard::Metrics::Prometheus
- Defined in:
- lib/solid_queue_guard/metrics/prometheus.rb
Constant Summary collapse
- STATUS_VALUES =
Exporter::STATUS_VALUES
- CHECK_STATUS_VALUES =
Exporter::CHECK_STATUS_VALUES
Class Method Summary collapse
Class Method Details
.export(report) ⇒ Object
10 11 12 13 14 |
# File 'lib/solid_queue_guard/metrics/prometheus.rb', line 10 def export(report) path = ENV.fetch('SOLID_QUEUE_GUARD_PROMETHEUS_FILE', Rails.root.join('tmp/solid_queue_guard.prom')) FileUtils.mkdir_p(File.dirname(path)) File.write(path, render(report)) end |
.render(report) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/solid_queue_guard/metrics/prometheus.rb', line 16 def render(report) lines = [ '# TYPE solid_queue_guard_overall_status gauge', "solid_queue_guard_overall_status #{STATUS_VALUES.fetch(report.status)}", '# TYPE solid_queue_guard_check_status gauge' ] report.results.each do |result| value = CHECK_STATUS_VALUES.fetch(result.status) lines << "solid_queue_guard_check_status{check=\"#{result.id}\"} #{value}" end "#{lines.join("\n")}\n" end |