Add `counter list` and `counter info <handle>` commands, and list each counter under its process in `profile info`, to inspect any counter track from the terminal. Counters get stable `c-N` handles, like threads and functions. Per-counter stats come from the counter's own tooltip schema, reusing the timeline tooltips' labels and formatters so the CLI and UI agree. Stats respect the current zoom. Closes firefox-devtools#6040
- Group counters under their process by counter.pid, as the timeline does. - Add a getCommittedRangeCounterSampleSum selector and use it for the total. - Drop the unused labelKey from counter stats; the CLI has no localization. - Cover counter nesting with profile-query unit tests instead of an old fixture.
- Drop the fixture-based counter integration tests. - Cover the querier logic in profile-query unit tests with in-memory builders. - Cover the text formatters in a fixture-free CLI unit test.
Merged
canova added a commit that referenced this pull request
Jun 29, 2026Changes: [Nazım Can Altınova] Bump profiler-cli version to 0.3.0 (#6104) [Markus Stange] First typed array: Allow profile.shared.stackTable.frame to be an Int32Array (#6087) [Nazım Can Altınova] Show more user friendly errors for unsupported profile version in both the frontend and the cli (#6107) [fatadel] Expose counter information in profiler-cli (#6084) [Markus Stange] Split getSelfAndTotal. (#6113) [Markus Stange] Add missing transform shortcut key handling for S (focus-self) (#6117) [Markus Stange] Remove unused isInverted prop from FlameGraphCanvas. (#6116) [Markus Stange] Change sidebar splitter CSS to only apply to the sidebar, not to all splitters under .DetailsContainer (#6114) [Markus Stange] Pass callNodeInfo to handleCallNodeTransformShortcut. (#6115) [Markus Stange] Move column declarations out into a separate file (#6119) [fatadel] Keep menu panels above the selected-marker tooltip (#6125) [Nazım Can Altınova] Make sure to always sanitize source contents even when no PII sanitization is requested (#6127) [Markus Stange] Compute FlameGraphTiming rows lazily (#6126) [Markus Stange] Create a non-connected FlameGraph component (#6118) [Nazım Can Altınova] 🔃 Sync: l10n -> main (June 29, 2026) (#6130) And special thanks to our localizers: de: Michael Köhler el: Jim Spentzos en-GB: Ian Neal es-CL: ravmn fr: Théo Chevalier fur: Fabio Tomat fy-NL: Fjoerfoks ia: Melo46 it: Francesco Lodolo [:flod] nl: Mark Heijl ru: Valery Ledovskoy sv-SE: Luna Jernberg zh-TW: Pin-guang Chen