class Speedup::Adapters::Influxdb

Attributes

requests[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/speedup/adapters/influxdb.rb, line 8
def initialize(options = {})
  @memory = Speedup::Adapters::Memory.new
  @client = InfluxDB::Client.new(options.delete(:database), options)
end

Public Instance Methods

get(request_id) click to toggle source
# File lib/speedup/adapters/influxdb.rb, line 13
def get(request_id)
  @memory.get(request_id)
end
reset() click to toggle source
# File lib/speedup/adapters/influxdb.rb, line 29
def reset
  @memory.reset
end
write(request_id, data) click to toggle source
# File lib/speedup/adapters/influxdb.rb, line 17
def write(request_id, data)
  return unless data.any?
  data.contexts.each do |context|
    [data[context]].flatten.each do |context_data|
      context_data[:request_id] = request_id
      context_data[:time] = context_data[:time].to_f if context_data.has_key?(:time)
      @client.write_point(context.to_s, context_data)
    end
  end
  @memory.write(request_id, data)
end