{
  "catalogue": "plottypus.com open data",
  "version": 1,
  "updated": "2026-09-24",
  "url": "https://plottypus.com/data",
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/"
  },
  "creator": {
    "name": "Lay Sheth",
    "url": "https://plottypus.com/",
    "email": "hello@plottypus.com"
  },
  "machine": "MacBook Pro Mac17,8, Apple M5 Pro (6 Super + 12 Performance cores, 20-core GPU, 24 GB), macOS 27.0 (26A428), no sudo",
  "checksums": "https://plottypus.com/data/SHA256SUMS",
  "datasets": [
    {
      "id": "macos27-energy-publication-trace",
      "name": "macOS 27 IOReport Energy Model publication trace (M5 Pro)",
      "summary": "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.",
      "description": "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.",
      "url": "https://plottypus.com/data/macos27-energy-publication-trace",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "version": "1.0",
      "dateCreated": "2026-09-23",
      "dateModified": "2026-09-24",
      "datePublished": "2026-09-24",
      "temporalCoverage": "2026-09-23T12:22:55Z/2026-09-23T19:03:10Z",
      "machine": "MacBook Pro Mac17,8, Apple M5 Pro (6 Super + 12 Performance cores, 20-core GPU, 24 GB), macOS 27.0 (26A428), no sudo",
      "measurementTechnique": [
        "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"
      ],
      "variableMeasured": [
        {
          "name": "energy_j",
          "unitText": "J",
          "description": "Running energy total of the channel (raw mJ for CPU Energy and DRAM0, nJ for GPU Energy)."
        },
        {
          "name": "driver_ts_ticks",
          "unitText": "mach ticks",
          "description": "Driver-side publication timestamp of the channel value."
        },
        {
          "name": "age_s",
          "unitText": "s",
          "description": "Seconds since the driver last published the value, at the sample."
        },
        {
          "name": "per_interval_w",
          "unitText": "W",
          "description": "Energy delta divided by the sampler's own interval: what a per-interval sampler prints."
        },
        {
          "name": "held_rate_w",
          "unitText": "W",
          "description": "Energy over the driver's last complete publication window divided by that window."
        }
      ],
      "keywords": [
        "macOS 27",
        "IOReport",
        "Energy Model",
        "CPU power",
        "Apple Silicon",
        "M5 Pro",
        "PMGR",
        "powermetrics",
        "macmon",
        "energy counter"
      ],
      "citation": "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",
      "readme": {
        "name": "README.md",
        "url": "https://plottypus.com/data/macos27-energy-publication-trace/README.md",
        "encodingFormat": "text/markdown",
        "bytes": 7564,
        "sha256": "79d478f273ae95444e772dfe49f1e41f05887ec434c8e2fd3ca5510239204ee9"
      },
      "files": [
        {
          "name": "samples.csv",
          "url": "https://plottypus.com/data/macos27-energy-publication-trace/samples.csv",
          "encodingFormat": "text/csv",
          "description": "One row per sample per channel (CPU Energy, DRAM0, GPU Energy).",
          "bytes": 253498,
          "sha256": "0d119f5ea8f20d5156feaa179f1a563237ddbbba7a5369479eb7926903d38cef",
          "rows": 1590
        },
        {
          "name": "samples.ndjson",
          "url": "https://plottypus.com/data/macos27-energy-publication-trace/samples.ndjson",
          "encodingFormat": "application/x-ndjson",
          "description": "The same rows as samples.csv, one JSON object per line.",
          "bytes": 624590,
          "sha256": "28ea86a3c1d93898c67d20b9970b76b5336df1a29d458ea1dd1fd280f27c7151",
          "rows": 1590
        },
        {
          "name": "publications.csv",
          "url": "https://plottypus.com/data/macos27-energy-publication-trace/publications.csv",
          "encodingFormat": "text/csv",
          "description": "One row per CPU Energy or DRAM0 publication seen, with the rate over its window.",
          "bytes": 4141,
          "sha256": "d0e0bd0a3c98379198d6b83757aaf75687bfaab31eae0be0e286ac7fe1ec0029",
          "rows": 44
        },
        {
          "name": "publications.ndjson",
          "url": "https://plottypus.com/data/macos27-energy-publication-trace/publications.ndjson",
          "encodingFormat": "application/x-ndjson",
          "description": "The same rows as publications.csv, one JSON object per line.",
          "bytes": 10938,
          "sha256": "99f56c57b8a720c0a5c03246f02dbecbd52e31c6ea666aabece84336d5ae50f4",
          "rows": 44
        }
      ]
    },
    {
      "id": "macos27-cpu-power-side-by-side",
      "name": "macOS 27 CPU power side by side: macmon, mactop and plottypus (M5 Pro)",
      "summary": "Three simultaneous 1 Hz runs: macmon 0.8.2 and mactop 2.1.5 report 0.0 W CPU in every sample while plottypus 1.0.0 reads 0.18 to 50.5 W.",
      "description": "CPU power, system power and CPU usage reported by macmon 0.8.2 (macmon pipe), mactop 2.1.5 (mactop --headless) and plottypus 1.0.0 (plottypus --json-stream), run at the same time at a 1 s interval on a MacBook Pro Mac17,8 (Apple M5 Pro) with macOS 27.0 (26A428), without sudo, on 2026-09-24. Three runs: 20 s (macmon and plottypus), 30 s (macmon and plottypus) and 20 s (all three tools). macmon reported cpu_power 0.0 in 70 of 70 samples and mactop in 20 of 20, with system power between 11.0 and 103.7 W, while plottypus reported 0.18 to 50.46 W from the SMC CPU power rails. One tidy table: run, tool, version, timestamp, cpu_power_w, sys_power_w, cpu_usage (0 to 1), plus GPU, ANE and DRAM watts as each tool reported them (plottypus writes null where it has no current reading). Only numeric power and usage fields are kept; process names, users and volume names from the raw captures are not published.",
      "url": "https://plottypus.com/data/macos27-cpu-power-side-by-side",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "version": "1.0",
      "dateCreated": "2026-09-24",
      "dateModified": "2026-09-24",
      "datePublished": "2026-09-24",
      "temporalCoverage": "2026-09-23T18:58:16Z/2026-09-23T19:09:57Z",
      "machine": "MacBook Pro Mac17,8, Apple M5 Pro (6 Super + 12 Performance cores, 20-core GPU, 24 GB), macOS 27.0 (26A428), no sudo",
      "measurementTechnique": [
        "macmon 0.8.2 pipe (IOReport Energy Model, per-interval delta)",
        "mactop 2.1.5 headless JSON (IOReport Energy Model, per-interval delta)",
        "plottypus 1.0.0 --json-stream (SMC CPU power rails on Mac17,8, SMC PSTR system power)"
      ],
      "variableMeasured": [
        {
          "name": "cpu_power_w",
          "unitText": "W",
          "description": "CPU power as the tool reported it."
        },
        {
          "name": "sys_power_w",
          "unitText": "W",
          "description": "Whole-system power as the tool reported it."
        },
        {
          "name": "cpu_usage",
          "unitText": "fraction 0 to 1",
          "description": "CPU busy share as the tool reported it, normalised to 0 to 1."
        },
        {
          "name": "gpu_power_w",
          "unitText": "W",
          "description": "GPU power as the tool reported it."
        },
        {
          "name": "ane_power_w",
          "unitText": "W",
          "description": "Neural Engine power as the tool reported it."
        },
        {
          "name": "ram_power_w",
          "unitText": "W",
          "description": "DRAM power as the tool reported it."
        }
      ],
      "keywords": [
        "macOS 27",
        "CPU power",
        "0 W",
        "macmon",
        "mactop",
        "plottypus",
        "SMC",
        "IOReport",
        "Apple Silicon",
        "M5 Pro",
        "benchmark"
      ],
      "citation": "Sheth, L. (2026). macOS 27 CPU power side by side: macmon 0.8.2, mactop 2.1.5 and plottypus 1.0.0 (M5 Pro) (Version 1.0) [Data set]. plottypus.com. https://plottypus.com/data/macos27-cpu-power-side-by-side",
      "readme": {
        "name": "README.md",
        "url": "https://plottypus.com/data/macos27-cpu-power-side-by-side/README.md",
        "encodingFormat": "text/markdown",
        "bytes": 5765,
        "sha256": "58723e8961fe53eb831f64f650e8917ac0c2d35696fe1caa86eb881baea113c0"
      },
      "files": [
        {
          "name": "samples.csv",
          "url": "https://plottypus.com/data/macos27-cpu-power-side-by-side/samples.csv",
          "encodingFormat": "text/csv",
          "description": "One row per tool sample.",
          "bytes": 19009,
          "sha256": "8f7df53f773f8d547ec9a659e730b4332281f4ddc57650c54cc760653e53c4dd",
          "rows": 160
        },
        {
          "name": "samples.ndjson",
          "url": "https://plottypus.com/data/macos27-cpu-power-side-by-side/samples.ndjson",
          "encodingFormat": "application/x-ndjson",
          "description": "The same rows as samples.csv, one JSON object per line.",
          "bytes": 44193,
          "sha256": "b971c63377cf118071b3f918cf77077294ae21b9fa32f03ff54d3fe60db18c8b",
          "rows": 160
        }
      ]
    },
    {
      "id": "smc-rails-calibration",
      "name": "SMC CPU power rails vs IOReport CPU Energy calibration (Mac17,8, macOS 27)",
      "summary": "Six SMC CPU power rails against IOReport CPU Energy over four publication spans: ratios 0.896 to 0.997.",
      "description": "A 202 s capture (760 rows, one about every 0.27 s) on a MacBook Pro Mac17,8 (Apple M5 Pro), macOS 27.0 (26A428), without sudo, on 2026-09-23, through idle and an 18-thread load. Each row holds the IOReport CPU Energy running total and its driver timestamp, the GPU Energy total, and eleven SMC power keys in watts, including the six CPU rails PP0b, PP4b, PP1b, PP7b, PR0b and PR7b and the system figure PSTR. For every complete publication span of CPU Energy, the spans table compares the IOReport rate (energy over the driver's own window) with the mean of the rail sum over the same span. Over the four complete spans (94.3, 27.3, 12.8 and 2.2 s) the rails read 0.989, 0.947, 0.896 and 0.997 of the IOReport figure: slightly low, never high. A fifth, partial span is included and flagged, because the capture began 14.2 s into it. The rail mapping is undocumented by Apple and applies to the Mac17,8 only.",
      "url": "https://plottypus.com/data/smc-rails-calibration",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "version": "1.0",
      "dateCreated": "2026-09-23",
      "dateModified": "2026-09-24",
      "datePublished": "2026-09-24",
      "temporalCoverage": "2026-09-23T12:30:08Z/2026-09-23T12:33:32Z",
      "machine": "MacBook Pro Mac17,8, Apple M5 Pro (6 Super + 12 Performance cores, 20-core GPU, 24 GB), macOS 27.0 (26A428), no sudo",
      "measurementTechnique": [
        "AppleSMC user client reads (flt keys, watts), no sudo",
        "IOReport Energy Model CPU Energy with the RawElements driver timestamp",
        "Rate over the driver publication window compared with the mean SMC rail sum over the same window"
      ],
      "variableMeasured": [
        {
          "name": "ioreport_cpu_w",
          "unitText": "W",
          "description": "IOReport CPU Energy over a publication span divided by the span."
        },
        {
          "name": "smc_rail_sum_mean_w",
          "unitText": "W",
          "description": "Mean of PP0b + PP4b + PP1b + PP7b + PR0b + PR7b over the same span."
        },
        {
          "name": "ratio_rails_to_ioreport",
          "unitText": "ratio",
          "description": "smc_rail_sum_mean_w divided by ioreport_cpu_w."
        },
        {
          "name": "smc_pstr_w",
          "unitText": "W",
          "description": "SMC PSTR, total system power."
        }
      ],
      "keywords": [
        "SMC",
        "power rails",
        "PSTR",
        "IOReport",
        "CPU Energy",
        "calibration",
        "Mac17,8",
        "M5 Pro",
        "macOS 27",
        "Apple Silicon"
      ],
      "citation": "Sheth, L. (2026). SMC CPU power rails vs IOReport CPU Energy calibration (Mac17,8, macOS 27) (Version 1.0) [Data set]. plottypus.com. https://plottypus.com/data/smc-rails-calibration",
      "readme": {
        "name": "README.md",
        "url": "https://plottypus.com/data/smc-rails-calibration/README.md",
        "encodingFormat": "text/markdown",
        "bytes": 5920,
        "sha256": "38c193371dd636c5a9fe9c937637d3e0ce3fd2302e19369fcc66f7b0d5634797"
      },
      "files": [
        {
          "name": "spans.csv",
          "url": "https://plottypus.com/data/smc-rails-calibration/spans.csv",
          "encodingFormat": "text/csv",
          "description": "One row per CPU Energy publication span: IOReport rate, mean rail sum, ratio.",
          "bytes": 620,
          "sha256": "6953e5e8c8fc20102128e0f9dc649fe4ad0d6d311ad425347d5b9516e41d3ac7",
          "rows": 5
        },
        {
          "name": "samples.csv",
          "url": "https://plottypus.com/data/smc-rails-calibration/samples.csv",
          "encodingFormat": "text/csv",
          "description": "One row per sample: IOReport totals, driver timestamp and eleven SMC power keys.",
          "bytes": 135560,
          "sha256": "87517a5021330afa546ae010efbdab53489750d2c8ad4fc257b641cc9909ff5d",
          "rows": 760
        }
      ]
    },
    {
      "id": "plottypus-self-cost",
      "name": "plottypus self-cost measurements (perf-smoke, M5 Pro, macOS 27)",
      "summary": "CPU, energy, redraws, wakeups and memory of plottypus, btop 1.4.7 and macmon 0.8.2 at 160x45, medians of three 20 s runs, with the load on the machine for each set.",
      "description": "What plottypus costs to leave open in a terminal, and what btop 1.4.7 and macmon 0.8.2 cost on the same machine, measured with perf-smoke: each tool runs under a pseudo-terminal at 160x45 with a fresh config, a 5 s warm-up and a 20 s window, three times, and the median of each metric is reported with its range. Metrics include CPU as a percentage of one core, the kernel's per-task energy estimate in watts, draws and idle draws per second, wakeups, syscalls, context switches, RSS, memory footprint, first frame and snapshot period. Machine: MacBook Pro Mac17,8 (Apple M5 Pro), macOS 27.0, AC power. Each row carries the 1-minute load average and a load class: \"light\" rows (load 1.2 to 3.8 on 18 CPUs, other builds running) come from the documented runs of 2026-09-23; \"saturated\" rows (load 56 to 143) are a re-run of the shipped 1.0.0 binary and the two competitors on 2026-09-24. The figures the site prints (about 1.5% of one core at 500 ms, about 1.0% at 1 s, about 0.007 W) are the light-load \"perf-pass\" rows.",
      "url": "https://plottypus.com/data/plottypus-self-cost",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "version": "1.0",
      "dateCreated": "2026-09-23",
      "dateModified": "2026-09-24",
      "datePublished": "2026-09-24",
      "temporalCoverage": "2026-09-23T13:37:00Z/2026-09-23T19:05:56Z",
      "machine": "MacBook Pro Mac17,8, Apple M5 Pro (6 Super + 12 Performance cores, 20-core GPU, 24 GB), macOS 27.0 (26A428), no sudo",
      "measurementTechnique": [
        "perf-smoke: pty at 160x45, 5 s warm-up, 20 s window, median of 3 runs",
        "proc_pid_rusage RUSAGE_INFO_V6 (CPU time, ri_energy_nj, wakeups, footprint)",
        "Synchronized-update markers (ESC[?2026h) counted as draws"
      ],
      "variableMeasured": [
        {
          "name": "cpu_pct",
          "unitText": "% of one core",
          "description": "User plus system CPU time over the window."
        },
        {
          "name": "energy_w",
          "unitText": "W",
          "description": "Kernel per-task energy estimate (ri_energy_nj) over wall time."
        },
        {
          "name": "idle_draws_per_s",
          "unitText": "per second",
          "description": "Frames that changed nothing on screen."
        },
        {
          "name": "wakeups_per_s",
          "unitText": "per second",
          "description": "Interrupt wakeups of the process."
        },
        {
          "name": "rss_mb",
          "unitText": "MB",
          "description": "Resident memory at the end of the window."
        }
      ],
      "keywords": [
        "plottypus",
        "self-cost",
        "CPU overhead",
        "system monitor",
        "btop",
        "macmon",
        "energy",
        "terminal",
        "TUI",
        "M5 Pro",
        "macOS 27"
      ],
      "citation": "Sheth, L. (2026). plottypus self-cost measurements (perf-smoke, M5 Pro, macOS 27) (Version 1.0) [Data set]. plottypus.com. https://plottypus.com/data/plottypus-self-cost",
      "readme": {
        "name": "README.md",
        "url": "https://plottypus.com/data/plottypus-self-cost/README.md",
        "encodingFormat": "text/markdown",
        "bytes": 6319,
        "sha256": "3e6ea91e5a2b0a57dc51c3b47db047263f8e804840ed8d8861b26b5e98a89cb8"
      },
      "files": [
        {
          "name": "self-cost.csv",
          "url": "https://plottypus.com/data/plottypus-self-cost/self-cost.csv",
          "encodingFormat": "text/csv",
          "description": "One row per set, tool, interval, condition and metric: median and range.",
          "bytes": 54516,
          "sha256": "f91a2e65c67586cc71e5eefd4eab260353bbf329d06bf3910559ebd14bf6ad62",
          "rows": 240
        }
      ]
    }
  ]
}
