fatadel · GitHub

@fatadel

@fatadel

@fatadel

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.
Both `counter list` and the counters nested in `profile info` follow the
timeline's track order (sortWeight, then name) instead of profile order.

@fatadel

@fatadel

canova

- 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.

@fatadel

@fatadel

@fatadel

Merged

canova added a commit that referenced this pull request

Jun 29, 2026
Changes:
[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

Read the original on github.com ↗