Class: Speedup::Adapters::Influxdb

Inherits:
Base
  • Object
show all
Defined in:
lib/speedup/adapters/influxdb.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Influxdb

Returns a new instance of Influxdb.



8
9
10
11
# 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

Instance Attribute Details

#requestsObject

Returns the value of attribute requests.



6
7
8
# File 'lib/speedup/adapters/influxdb.rb', line 6

def requests
  @requests
end

Instance Method Details

#get(request_id) ⇒ Object



13
14
15
# File 'lib/speedup/adapters/influxdb.rb', line 13

def get(request_id)
  @memory.get(request_id)
end

#resetObject



29
30
31
# File 'lib/speedup/adapters/influxdb.rb', line 29

def reset
  @memory.reset
end

#write(request_id, data) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# 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