class InfluxDB::Rails::Metric

Attributes

configuration[R]
tags[R]
timestamp[R]
values[R]

Public Class Methods

new(configuration:, timestamp:, tags: {}, values: {}) click to toggle source
# File lib/influxdb/rails/metric.rb, line 7
def initialize(configuration:, timestamp:, tags: {}, values: {})
  @configuration = configuration
  @timestamp = timestamp
  @tags = tags
  @values = values
end

Public Instance Methods

write() click to toggle source
# File lib/influxdb/rails/metric.rb, line 14
def write
  client.write_point configuration.measurement_name, options
end

Private Instance Methods

client() click to toggle source
# File lib/influxdb/rails/metric.rb, line 34
def client
  InfluxDB::Rails.client
end
options() click to toggle source
# File lib/influxdb/rails/metric.rb, line 22
def options
  {
    values:    Values.new(values: values).to_h,
    tags:      Tags.new(tags: tags, config: configuration).to_h,
    timestamp: timestamp_with_precision,
  }
end
timestamp_with_precision() click to toggle source
# File lib/influxdb/rails/metric.rb, line 30
def timestamp_with_precision
  InfluxDB.convert_timestamp(timestamp.utc, configuration.client.time_precision)
end