class InfluxDB::AsyncQueue::Queue

Attributes

adapter[R]

Public Class Methods

new(adapter) click to toggle source
# File lib/influxdb/async_queue/queue.rb, line 7
def initialize(adapter)
  @adapter = adapter
end

Public Instance Methods

pop(*args) click to toggle source
# File lib/influxdb/async_queue/queue.rb, line 30
def pop(*args)
  adapter.pop(*args)
end
push(*args) click to toggle source
# File lib/influxdb/async_queue/queue.rb, line 26
def push(*args)
  adapter.push(*args)
end
write_point(series_name, data) click to toggle source
# File lib/influxdb/async_queue/queue.rb, line 12
def write_point(series_name, data)
  push(
    serialize_point(
      data.merge(series: series_name)
    )
  )
end
write_points(data) click to toggle source
# File lib/influxdb/async_queue/queue.rb, line 20
def write_points(data)
  push(
    *data.map { |point| serialize_point(point) }
  )
end

Private Instance Methods

serialize_point(point) click to toggle source
# File lib/influxdb/async_queue/queue.rb, line 36
def serialize_point(point)
  p = point.dup
  p[:timestamp] = (Time.now.to_f * 1000).ceil unless p[:timestamp]
  ::InfluxDB::PointValue.new(p).dump
end