class Edwig::Munin::StopVisitStatus

Constants

ARRIVAL_STATUS
DEPARTURE_STATUS
UNKNOWN_STATUS

Public Instance Methods

arrival_key(status) click to toggle source
# File lib/edwig/munin/stop_visit_status.rb, line 53
def arrival_key(status)
  "ArrivalStatus-#{status}"
end
arrival_keys() click to toggle source
# File lib/edwig/munin/stop_visit_status.rb, line 61
def arrival_keys
  ARRIVAL_STATUS.map { |status| arrival_key status }
end
config() click to toggle source
# File lib/edwig/munin/stop_visit_status.rb, line 29
def config
  config = {
    host_name: server,
    graph_title: "Arrivals and Departures by status",
    graph_order: keys.join(' '),
    graph_info: "Represent StopVisits count by Arrival and Departure statuses",
    graph_args: "--base 1000 -l 0",
    graph_vlabel: "count"
  }

  keys.each_with_index do |key, index|
    label = key.gsub('-',' ')
    config["#{key}.label"] = label
    config["#{key}.draw"] = index == 0 ? 'AREA' : 'STACK'
    config["#{key}.info"] = "The number of StopVisits in #{label}"
  end

  config
end
departure_key(status) click to toggle source
# File lib/edwig/munin/stop_visit_status.rb, line 49
def departure_key(status)
  "DepartureStatus-#{status}"
end
departure_keys() click to toggle source
# File lib/edwig/munin/stop_visit_status.rb, line 57
def departure_keys
  DEPARTURE_STATUS.map { |status| departure_key status }
end
keys() click to toggle source
# File lib/edwig/munin/stop_visit_status.rb, line 65
def keys
  @keys ||= (departure_keys + arrival_keys + [departure_key(UNKNOWN_STATUS), arrival_key(UNKNOWN_STATUS)]).sort
end
values() click to toggle source
# File lib/edwig/munin/stop_visit_status.rb, line 8
def values
  stopVisits = RestClient.get("http://#{server}/#{referential}/stop_visits" , {content_type: :json, :Authorization => "Token token=#{token}"})
  stopVisitsTab = JSON.parse(stopVisits)

  counts = {}
  keys.each { |k| counts[k] = 0 }

  stopVisitsTab.each do |stopVisit|
          departureState = stopVisit["DepartureStatus"]
    departureState = UNKNOWN_STATUS unless DEPARTURE_STATUS.include?(departureState)

          arrivalState = stopVisit["ArrivalStatus"]
    arrivalState = UNKNOWN_STATUS unless ARRIVAL_STATUS.include?(arrivalState)

          counts[departure_key(departureState)] += 1
          counts[arrival_key(arrivalState)] += 1
  end

  counts
end