Class: MonitoringProtocols::JSON::Parser
- Defined in:
- lib/monitoring_protocols/json/parser.rb
Overview
{
type: 'datapoints',
app_name: 'system',
linux1: =>
cpu: {
'user' => 43,
'sys' => 3.4,
'nice' => 6.0
},
memory: {
'total' => 2048,
'used' => 400
}
}
}
Direct Known Subclasses
Class Method Summary collapse
Methods inherited from Parser
Class Method Details
._parse(buffer) ⇒ Object
43 44 45 |
# File 'lib/monitoring_protocols/json/parser.rb', line 43 def self._parse(buffer) Oj.load(buffer, symbol_keys: false) end |
.parse(buffer) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/monitoring_protocols/json/parser.rb', line 47 def self.parse(buffer) packets = [] data = _parse(buffer) msg_type = data.delete('type') if msg_type == 'datapoints' parse_datapoints(data) do |pkt| packets << pkt end end packets rescue Oj::ParseError, MonitoringProtocols::ParseError puts "Unable to parse: #{buffer}" [] end |