class InfluxReporter::DataBuilders::Event

Public Instance Methods

build(event) click to toggle source

@param event [InfluxReporter::Event]

# File lib/influx_reporter/data_builders/event.rb, line 7
def build(event)
  {
      series: build_series_name(event),
      values: build_values(event),
      tags: build_tags(event),
      timestamp: event.timestamp
  }
end

Private Instance Methods

build_series_name(event) click to toggle source

@param event [InfluxReporter::Event]

# File lib/influx_reporter/data_builders/event.rb, line 19
def build_series_name(event)
  return event.extra[:series] if event.extra && event.extra[:series].is_a?(String)
  'events'
end
build_tags(event) click to toggle source

@param event [InfluxReporter::Event]

# File lib/influx_reporter/data_builders/event.rb, line 25
def build_tags(event)
  tags = event.extra[:tags] if event.extra && event.extra[:tags].is_a?(Hash)
  tags = event.config.tags.merge(tags || {})
  tags.reject { |_, value| value.nil? || value == '' }
end
build_values(event) click to toggle source

@param event [InfluxReporter::Event]

# File lib/influx_reporter/data_builders/event.rb, line 32
def build_values(event)
  values = {
      message: event.message
  }
  values = event.extra[:values].merge(values) if event.extra && event.extra[:values].is_a?(Hash)

  values.reject { |_, value| value.nil? }
end