| 12345678910111213141516171819202122232425262728 |
- #!/usr/bin/python
- from collections import namedtuple
- import psutil
- import json
- 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())
|