class OpenTSDBConsumer::Metric

Constants

ATTRIBUTES_WHITELIST

Attributes

aggregator[R]
downsample[R]
name[R]
rate[R]
tags[R]

Public Class Methods

new(name: nil, aggregator: 'sum', rate: false, downsample: '10m-avg', tags: {}) click to toggle source
# File lib/opentsdb-consumer/metric.rb, line 9
def initialize(name: nil, aggregator: 'sum', rate: false, downsample: '10m-avg', tags: {})
  @name       = name
  @aggregator = aggregator
  @rate       = Rate.new(rate) if rate
  @downsample = downsample
  @tags       = Tags.new(tags)
end

Public Instance Methods

to_h() click to toggle source
# File lib/opentsdb-consumer/metric.rb, line 23
def to_h
  hash = {
    aggregator: aggregator,
    downsample: downsample,
    metric: name,
    tags: tags.to_h,
  }

  hash.merge! rate.to_h if rate

  hash
end
to_s() click to toggle source
# File lib/opentsdb-consumer/metric.rb, line 17
def to_s
  query = tags.any? ? "{#{tags}}" : ''
  query += ":#{rate}" if rate
  [aggregator, downsample, name].compact.join(':') + query
end