Module: Flapjack::Gateways::JSONAPI::MetricsMethods

Defined in:
lib/flapjack/gateways/jsonapi/metrics_methods.rb

Defined Under Namespace

Modules: Helpers

Class Method Summary collapse

Class Method Details

.registered(app) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/flapjack/gateways/jsonapi/metrics_methods.rb', line 75

def self.registered(app)
  app.helpers Flapjack::Gateways::JSONAPI::Helpers
  app.helpers Flapjack::Gateways::JSONAPI::MetricsMethods::Helpers

  app.get %r{^/metrics} do

    filter = params[:filter] ? filter_query(params[:filter]) : 'all'

    keys = %w(fqdn pid total_keys processed_events event_queue_length check_freshness entities checks)
    keys = keys.find_all {|m| filter.include?(m) } unless filter == 'all'

    metrics = {}
    keys.each do |key|
      metrics[key] = self.send(key.to_sym)
    end

    Flapjack.dump_json(metrics)
  end
end