diff --git a/monitor.py b/monitor.py index 7f4cbb0..662de5b 100755 --- a/monitor.py +++ b/monitor.py @@ -55,14 +55,14 @@ class Stats(): self.release_write() time.sleep(1) - - def getStats(self): - message = '' + data = [] + self.acquire_read() for s in self.sensors: - self.acquire_read() - message += '{'+s.getFormatedData()+'}' - self.release_read() + data.append(s.getFormatedData()) + message = '{"Stats":['+','.join('%s'%x for x in data)+']}' + + self.release_read() return message def acquire_read(self): 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