Class: Reacter::Message::TsdbParser
- Defined in:
- lib/reacter/parsers/tsdb.rb
Class Method Summary collapse
Methods inherited from Parser
Class Method Details
.detected?(message) ⇒ Boolean
7 8 9 |
# File 'lib/reacter/parsers/tsdb.rb', line 7 def detected?() return (.downcase[0..4] == 'put ') end |
.dump(message) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/reacter/parsers/tsdb.rb', line 22 def dump() = .to_h if .is_a?(Message) return nil unless .is_a?(Hash) return nil unless [:source] return nil unless [:metric] return nil unless [:value] return nil unless [:time] attributes = { :host => [:source] }.merge([:attributes] || {}) ([ 'put', [:metric], [:time].to_i, [:value], attributes.collect{|k,v| "#{k}=#{v}" }.join(' ') ].join(' ')).strip end |
.parse(message) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/reacter/parsers/tsdb.rb', line 11 def parse() = .split(' ') { :metric => [1], :time => ([2].to_i > 2147483647 ? [2].to_i : [2].to_i * 1000), :value => [3].to_f, :attributes => Hash[[4..-1].collect{|i| i.split('=',2) }] } end |