class Suricate::Newrelic::ResponseTimesLineChartCollector

Public Class Methods

new(options = {}) click to toggle source
# File lib/suricate/newrelic/collectors/response_times_line_chart_collector.rb, line 3
def initialize(options = {})
  @client  = Client.new(options.delete(:api_key))
  @app_id  = options.delete(:app_id)
  @color   = options.delete(:color)
  @options = options
end

Public Instance Methods

populate(response, options = {}) click to toggle source
# File lib/suricate/newrelic/collectors/response_times_line_chart_collector.rb, line 10
def populate(response, options = {})
  metrics = response_times
  dates = metrics.map { |metric| metric.at.strftime('%d/%m - %T') }
  response.chart do |chart|
    chart.labels dates
    chart.serie do |serie|
      serie.name 'Response time'
      serie.values metrics.map(&:value)
      serie.color @color
    end
  end
end

Private Instance Methods

response_times() click to toggle source
# File lib/suricate/newrelic/collectors/response_times_line_chart_collector.rb, line 24
def response_times
  @client.get_app_response_times(@app_id, @options)
end