class Panoptimon::Metric

Public Class Methods

new(name, data) click to toggle source
# File lib/panoptimon/collector.rb, line 60
def initialize (name, data)
  name = data.delete('_name') if data['_name']
  self.merge!(_flatten_hash({}, name, data))
end

Public Instance Methods

_flatten_hash(i,p,h) click to toggle source
# File lib/panoptimon/collector.rb, line 65
def _flatten_hash (i,p,h)
  h.each {|k,v|
    ok = "#{p}|#{k}"
    # TODO reject non-numeric data?
    if k != '_info' and v.is_a?(Hash)
      _flatten_hash(i, ok, v)
    else
      i[ok] = v
    end
  }
  return i
end