From 157eb4a592309bd3f85d58c7526b4ff3604b63b1 Mon Sep 17 00:00:00 2001 From: Dave Pedu Date: Sat, 5 Dec 2015 01:22:07 -0800 Subject: [PATCH] add system load module --- examples/config.test.json | 5 +++++ pymonitor/monitors/load.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 pymonitor/monitors/load.py diff --git a/examples/config.test.json b/examples/config.test.json index 7a002a0..e9c0a04 100644 --- a/examples/config.test.json +++ b/examples/config.test.json @@ -7,6 +7,11 @@ "type":"uptime", "freq":"30", "args":{} + }, + { + "type":"load", + "freq":"30", + "args":{} } ] } \ No newline at end of file diff --git a/pymonitor/monitors/load.py b/pymonitor/monitors/load.py new file mode 100644 index 0000000..2889c9b --- /dev/null +++ b/pymonitor/monitors/load.py @@ -0,0 +1,28 @@ +def load(): + with open("/proc/loadavg", "r") as f: + m1, m5, m15, procs, pid = f.read().strip().split(" ") + return { + "load_1m": m1, + "load_5m": m5, + "load_15m":m15 + } + +mapping = { + "load": { + "properties": { + "load_15m": { + "type": "double" + }, + "load_5m": { + "type": "double" + }, + "load_1m": { + "type": "double" + } + } + } +} + +if __name__ == '__main__': + avg = load() + print(' '.join([avg["load_1m"], avg["load_5m"], avg["load_15m"]]))