Class: RailsHealthChecks::PrometheusFormatter
- Inherits:
-
Object
- Object
- RailsHealthChecks::PrometheusFormatter
- Defined in:
- lib/rails_health_checks/prometheus_formatter.rb
Constant Summary collapse
- STATUS_CODES =
{ "ok" => 0, "degraded" => 1, "critical" => 2 }.freeze
Instance Method Summary collapse
-
#initialize(results) ⇒ PrometheusFormatter
constructor
A new instance of PrometheusFormatter.
- #to_text ⇒ Object
Constructor Details
#initialize(results) ⇒ PrometheusFormatter
Returns a new instance of PrometheusFormatter.
7 8 9 |
# File 'lib/rails_health_checks/prometheus_formatter.rb', line 7 def initialize(results) @results = results end |
Instance Method Details
#to_text ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rails_health_checks/prometheus_formatter.rb', line 11 def to_text lines = [] lines << "# HELP rails_health_check_status Health check status (0=ok, 1=degraded, 2=critical)" lines << "# TYPE rails_health_check_status gauge" @results.each { |name, check| lines << "rails_health_check_status{check=\"#{name}\"} #{STATUS_CODES[check.status]}" } lines << "" lines << "# HELP rails_health_check_latency_ms Health check latency in milliseconds" lines << "# TYPE rails_health_check_latency_ms gauge" @results.each do |name, check| lines << "rails_health_check_latency_ms{check=\"#{name}\"} #{check.latency_ms}" if check.latency_ms end lines.join("\n") + "\n" end |