|
@@ -1,9 +1,28 @@
|
|
|
#!/usr/bin/python
|
|
#!/usr/bin/python
|
|
|
|
|
|
|
|
|
|
+from collections import namedtuple
|
|
|
import psutil
|
|
import psutil
|
|
|
|
|
+import json
|
|
|
|
|
|
|
|
-print(psutil.cpu_times())
|
|
|
|
|
-print(psutil.virtual_memory())
|
|
|
|
|
-print(psutil.net_io_counters())
|
|
|
|
|
-for partition in psutil.disk_partitions():
|
|
|
|
|
- print(partition.mountpoint, psutil.disk_usage(partition.mountpoint))
|
|
|
|
|
|
|
+def serialize(stats, partitions):
|
|
|
|
|
+ data = {type(stat).__name__: stat._asdict() for stat in stats}
|
|
|
|
|
+ data['partitions'] = {p[0]: p[1]._asdict() for p in partitions}
|
|
|
|
|
+ return json.dumps(data)
|
|
|
|
|
+
|
|
|
|
|
+def get_stats():
|
|
|
|
|
+ stats = [
|
|
|
|
|
+ psutil.cpu_times(),
|
|
|
|
|
+ psutil.virtual_memory(),
|
|
|
|
|
+ psutil.net_io_counters(),
|
|
|
|
|
+ ]
|
|
|
|
|
+ partitions = []
|
|
|
|
|
+ for partition in psutil.disk_partitions():
|
|
|
|
|
+ partitions.append((partition.mountpoint, psutil.disk_usage(partition.mountpoint)))
|
|
|
|
|
+ return stats, partitions
|
|
|
|
|
+
|
|
|
|
|
+def post_stats():
|
|
|
|
|
+ stats, partitions = get_stats()
|
|
|
|
|
+ json_data = serialize(stats, partitions)
|
|
|
|
|
+ return json_data
|
|
|
|
|
+
|
|
|
|
|
+print(post_stats())
|