INNER CODE UNIT · Python
parse_powermetrics
tlkh/asitop · asitop/utils.py:10
def parse_powermetrics(path='/tmp/asitop_powermetrics', timecode="0"):
data = None
try:
with open(path+timecode, 'rb') as fp:
data = fp.read()
data = data.split(b'\x00')
powermetrics_parse = plistlib.loads(data[-1])
thermal_pressure = parse_thermal_pressure(powermetrics_parse)
cpu_metrics_dict = parse_cpu_metrics(powermetrics_parse)
gpu_metrics_dict = parse_gpu_metrics(powermetrics_parse)
#bandwidth_metrics = parse_bandwidth_metrics(powermetrics_parse)
bandwidth_metrics = None
timestamp = powermetrics_parse["timestamp"]
return cpu_metrics_dict, gpu_metrics_dict, thermal_pressure, bandwidth_metrics, timestamp
except Exception as e:
if data:
if len(data) > 1:
powermetrics_parse = plistlib.loads(data[-2])