BatteryUI: per-app runtime, buckets and upgrade marker from a sysdiag… · abrignoni/iLEAPP@3f77e2c · GitHub
Skip to content

Commit 3f77e2c

Browse files
danjethhclaude
andcommitted
BatteryUI: per-app runtime, buckets and upgrade marker from a sysdiagnose
Three artifacts over logs/BatteryUIPlist in a sysdiagnose (an extracted folder, a sysdiagnose_*.tar.gz, or a standalone file): - Battery UI - Per-App Runtime: one row per app entry of each bucket of the Day, DayTap, Week and WeekTap range entries of BatteryUISysdiagnose.plist and BatteryUIUpgrade_<old>_<new>.plist, with the bucket start and end (UTC, Unix epoch seconds, first column so the rows reach the timeline), the stored bucket width, foreground and background runtime in seconds, the plugged-in runtimes, energy values and the remaining numeric keys as stored. The unit of the runtimes is shown from the files (no tap-bucket value above the bucket width, an exact 3,600.0 cap, bucket totals equal to the sum of the app values); energy has no unit. - Battery UI - Time Buckets: one row per bucket, including buckets with no app entries, with the stored totals, error code and app count. - Battery UI - Snapshots and Upgrade Marker: one row per file with the query time, last charge entry and, for an upgrade file, the old and new build taken from the file name. The bucket width differs between the iOS 26.6 and iOS 27.0 samples (hourly DayTap buckets against day-wide ones), so it is reported as stored and the notes say not to assume it. Tested on a generated synthetic tree in both shapes (damaged values, missing keys, unreadable file, decoys) against an independent count taken straight from the property lists. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
1 parent 13e8264 commit 3f77e2c

3 files changed

Lines changed: 705 additions & 0 deletions

File tree

Lines changed: 168 additions & 0 deletions
Lines changed: 195 additions & 0 deletions

0 commit comments

Comments
 (0)