data · CC BY 4.0 · v1.0

macOS 27 IOReport Energy Model publication trace (M5 Pro)

Raw IOReport CPU Energy, DRAM0 and GPU Energy totals with driver timestamps: 22 publication gaps of 2.2 to 108.5 s, then a 363 s trace with no publication at all.

about

What this is

Two traces of the IOReport "Energy Model" running totals on a MacBook Pro Mac17,8 (Apple M5 Pro) running macOS 27.0 (26A428), read without sudo. For CPU Energy, DRAM0 and GPU Energy, each row gives the raw counter value, its unit, the driver-side timestamp stored at byte 24 of the channel's RawElements (mach ticks, 125/3 ns each) and the age of that timestamp at the sample. The 5 s trace (2026-09-23, 170 samples, 847 s) holds 23 distinct CPU Energy timestamps, so 22 publication gaps between 2.2 and 108.5 s (median 29.0 s); the per-interval energy delta is exactly zero in 147 of 169 intervals. The 1 s trace (2026-09-24, 360 samples, 363 s) shows no CPU Energy publication at all: the timestamp was 1,398 s old at the first sample and 1,761 s old at the last, while the GPU Energy timestamp advanced on every read. Derived columns give what a per-interval sampler computes (delta over its own interval), the rate over the driver's own publication window, and whether that held rate is more than 10 s old. This is the primary data behind the plottypus post on why macOS 27 shows 0.00 W CPU power.

Captured 2026-09-23 to 2026-09-24. Method: IOReport (libIOReport) Energy Model group subscription, IOReportCreateSamples; IOReportElement driver timestamp at byte 24 of RawElements (mach absolute time); mach_absolute_time with mach_timebase_info 125/3. Full notes: README.md.

Used by: the macOS 27 post.

files

Files

FileRowsSizeSHA-256
samples.csv
One row per sample per channel (CPU Energy, DRAM0, GPU Energy).
1,590253.5 KB0d119f5ea8f20d5156feaa179f1a563237ddbbba7a5369479eb7926903d38cef
samples.ndjson
The same rows as samples.csv, one JSON object per line.
1,590624.6 KB28ea86a3c1d93898c67d20b9970b76b5336df1a29d458ea1dd1fd280f27c7151
publications.csv
One row per CPU Energy or DRAM0 publication seen, with the rate over its window.
444.1 KBd0e0bd0a3c98379198d6b83757aaf75687bfaab31eae0be0e286ac7fe1ec0029
publications.ndjson
The same rows as publications.csv, one JSON object per line.
4410.9 KB99f56c57b8a720c0a5c03246f02dbecbd52e31c6ea666aabece84336d5ae50f4

columns

Variables

energy_j (J)
Running energy total of the channel (raw mJ for CPU Energy and DRAM0, nJ for GPU Energy).
driver_ts_ticks (mach ticks)
Driver-side publication timestamp of the channel value.
age_s (s)
Seconds since the driver last published the value, at the sample.
per_interval_w (W)
Energy delta divided by the sampler's own interval: what a per-interval sampler prints.
held_rate_w (W)
Energy over the driver's last complete publication window divided by that window.

licence

Cite and reuse

Licensed CC BY 4.0: reuse it anywhere, with credit.

Sheth, L. (2026). macOS 27 IOReport Energy Model publication trace (M5 Pro) (Version 1.0) [Data set]. plottypus.com. https://plottypus.com/data/macos27-energy-publication-trace