jmw327 преди 11 години
родител
ревизия
4994025486
променени са 1 файла, в които са добавени 24 реда и са изтрити 5 реда
  1. 24 5
      client/sysvitals_client

+ 24 - 5
client/sysvitals_client

@@ -1,9 +1,28 @@
 #!/usr/bin/python
 
+from collections import namedtuple
 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())