class InfluxDB::Metrics::Configuration

Constants

EVENTS

Attributes

app_name[RW]
async[RW]
client[W]
database[RW]
debug[RW]
events[R]
hosts[RW]
logger[R]
password[RW]
port[RW]
subscribed[R]
username[RW]

Public Class Methods

new() click to toggle source
# File lib/influxdb/metrics/configuration.rb, line 27
def initialize
  @hosts      = []
  @app_name   = 'rails'
  @username   = 'root'
  @password   = 'root'
  @database   = 'rails'
  @port       = 8086
  @async      = true
  @debug      = false
  @events     = EVENTS.values
  @subscribed = []
end

Public Instance Methods

client() click to toggle source
# File lib/influxdb/metrics/configuration.rb, line 57
def client
  @client ||= InfluxDB::Client.new(database,
    hosts: hosts,
    username: username,
    password: password,
    port: port,
    async: async,
    debug: debug
  )
end
events=(names) click to toggle source

Configure specific subscriptions

# File lib/influxdb/metrics/configuration.rb, line 45
def events=(names)
  @events = [*names].map do |name|
    EVENTS.fetch(name)
  end
end
host=(value) click to toggle source
# File lib/influxdb/metrics/configuration.rb, line 40
def host=(value)
  hosts << value
end
logger=(value) click to toggle source
# File lib/influxdb/metrics/configuration.rb, line 68
def logger=(value)
  InfluxDB::Logging.logger = value if debug
  @logger = value
end
subscribe() click to toggle source
# File lib/influxdb/metrics/configuration.rb, line 51
def subscribe
  @subscribed = events.map do |event|
    event.new.tap(&:subscribe)
  end
end