class Fluent::Plugin::EverySenseFilter

EverySenseFilter Split EverySense data into multiple output entries to store each datum separately

Public Instance Methods

filter_stream(tag, es) click to toggle source
# File lib/fluent/plugin/filter_everysense.rb, line 11
def filter_stream(tag, es)
  new_es = Fluent::MultiEventStream.new
  es.each do |time, record|
    # log.debug "filter_everysense: #{record}"
    split_record(time, record, new_es)
  end
  new_es
end

Private Instance Methods

split_record(time, record, new_es) click to toggle source
# File lib/fluent/plugin/filter_everysense.rb, line 22
def split_record(time, record, new_es)
  log.debug "split_record: #{record.inspect}"
  # add each sensor as an event of fluentd
  record[:device].each do |sensor|
    new_es.add(Time.parse(sensor["data"]["at"]), sensor)
  end
end