Skip to content

macOS: add a bounded native stack profile and cell-scaling benchmark #76

Description

@tcconnally

Problem

Activity Monitor labels the application Python, but native libmpv/FFmpeg and Qt/OpenGL work are charged to that process. Task-level powermetrics proves CPU pressure but cannot identify the hot stack.

Scope

Add a documented, bounded profile and parser that records the exact commit, PID, cell count, decoder per cell, sample stacks, powermetrics task CPU, thermal pressure, GPU residency, frame-pump counters, render timing, and loop lag. Run short churn-disabled profiles at 1, 2, 4, 6, and 8 cells.

Acceptance criteria

  • Parser tests use sanitized fixtures and do not require macOS.
  • Reports distinguish Python dispatch, native libmpv/FFmpeg, render API, WindowServer, and thermal evidence when the source provides it.
  • Missing or permission-denied powermetrics is marked incomplete, never passed.
  • The report identifies the first cell count that violates the responsiveness budget.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions