From 17cadcd44034edf7cc4088ad74fa825105db7f73 Mon Sep 17 00:00:00 2001 From: Robert Hausch Date: Sat, 7 Apr 2012 17:46:42 -0700 Subject: [PATCH] Now with valid JSON format :D --- monitor.py | 6 ++++-- sensors/cpu.py | 8 +++----- sensors/memory.py | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/monitor.py b/monitor.py index 49d8f08..5ecbf3c 100755 --- a/monitor.py +++ b/monitor.py @@ -43,10 +43,12 @@ class Stats: self.sensors.append(mem_monitor()) def getStats(self): - message = '' + data = [] for s in self.sensors: s.update() - message += '{'+s.getFormatedData()+'}' + data.append(s.getFormatedData()) + message = '{"Stats":['+','.join('%s'%x for x in data)+']}' + return message diff --git a/sensors/cpu.py b/sensors/cpu.py index 80cde81..c523336 100755 --- a/sensors/cpu.py +++ b/sensors/cpu.py @@ -11,10 +11,8 @@ class cpu_monitor: self.cpu_times = psutil.cpu_times() def getFormatedData(self): - message = '' - message += 'Cpu usage: ' - message += ', '.join('%.1f'%x for x in self.cpu_usage) - message += ' CPU times: ' - message += ', '.join('%.3f'%x for x in self.cpu_times) + data = '{"name": "Usage", "values": ['+','.join('{"value": %.1f}'%x for x in self.cpu_usage)+']}' + data += ',{"name": "Times", "values": [{"name": "user", "value": %.2f},{"name": "system", "value": %.2f},{"name": "idle", "value": %.2f},{"name":"nice", "value": %.2f},{"name": "iowait", "value": %.2f},{"name": "irq", "value": %.2f},{"name": "softirq", "value": %.2f}]}' % (self.cpu_times.user, self.cpu_times.system, self.cpu_times.idle, self.cpu_times.nice, self.cpu_times.iowait, self.cpu_times.irq, self.cpu_times.softirq) + message = '{"type": "Cpu", "value": "%.1f", "data": [%s]}' % ( sum(self.cpu_usage)/self.num_cpus, data ) return message diff --git a/sensors/memory.py b/sensors/memory.py index e14d3ee..6b9fbbf 100644 --- a/sensors/memory.py +++ b/sensors/memory.py @@ -12,7 +12,7 @@ class mem_monitor: self.virt_mem_usage = psutil.virtmem_usage() def getFormatedData(self): - message = 'Memory- Phys: %.1f Virt: %.1f' % (self.mem_usage.percent, self.virt_mem_usage.percent) + message = '{"type": "Memory", "value": "%.1f", "data": [{"name": "Physical", "value": "%.1f"},{"name": "Virtual", "value": "%.1f"}]}' % (self.mem_usage.percent, self.mem_usage.percent, self.virt_mem_usage.percent) return message