Highlights
✨ sysmon --human now formats durations, and the byte-field coverage is complete
developer dvt sysmon process commands with --human now render nanosecond fields (cpuTotalUser, cpuTotalSystem, procAge, threadsUser, threadsSystem) as compact durations ("2d 16h 4m 22s", sub-second values as "74ms") instead of raw 15-digit integers. The byte-count field set was also completed — memAnonPeak, memPurgeable, memRPrvt, memRShrd and wiredSize are now humanized like physFootprint already was.
✨ New derived cpuUsageLifetime process field
Every sysmon process record now includes cpuUsageLifetime — the process's lifetime-average CPU ((cpuTotalUser + cpuTotalSystem) / procAge), on the same percent-of-one-core scale as cpuUsage. Comparing the two instantly tells chronic CPU hogs apart from momentary spikes: near-equal values mean the process has been burning CPU since it launched. The field behaves like a native one, so --key cpuUsageLifetime and --filter work with it:
pymobiledevice3 developer dvt sysmon process single --human \
-k name -k cpuUsage -k cpuUsageLifetime -k cpuTotalUser -k procAge{
"cpuTotalUser": "2d 16h 4m 22s",
"cpuUsage": 286.39,
"cpuUsageLifetime": 297.94,
"name": "dtappserviced",
"procAge": "21h 30m 19s"
}What's Changed
Full Changelog: v10.6.0...v10.7.0