Skip to content

profiler-cli: add profile markers for cross-thread marker search - #6276

Merged
fqueze merged 2 commits into
firefox-devtools:mainfrom
fqueze:profiler-cli-profile-markers-pr
Sep 18, 2026
Merged

fqueze merged 2 commits into
firefox-devtools:mainfrom
fqueze:profiler-cli-profile-markers-pr

Conversation

@fqueze

@fqueze fqueze commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

Main | Deploy preview

thread markers searches one thread, so finding which of 95 threads saw a marker meant a shell loop of one invocation per thread. profile markers searches every thread in one call and reports matches with a thread column, following the shape of profile logs.

The command requires at least one filter: unfiltered it would print an arbitrary slice of 2.4M markers, which answers no question. An explicit --limit opts into browsing anyway.

Like thread markers --list, a filtered query returns every match rather than a truncated default, so a search never silently hides hits. Rows are capped at 100000, the most the reply can carry; the per-thread counts stay exact.

@fqueze
fqueze requested a review from canova August 20, 2026 17:18
@codecov

codecov Bot commented Aug 20, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.93671% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.05%. Comparing base (a8970fd) to head (37f7dee).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/profile-query/formatters/marker-info.ts 96.00% 3 Missing ⚠️
src/profile-query/index.ts 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6276      +/-   ##
==========================================
+ Coverage   84.03%   84.05%   +0.02%     
==========================================
  Files         354      354              
  Lines       38100    38179      +79     
  Branches    10662    10797     +135     
==========================================
+ Hits        32018    32093      +75     
- Misses       5654     5658       +4     
  Partials      428      428              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@canova canova left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a good idea. Some nits.

Nit: let's add this command to profiler-cli/README.md too.

Comment thread profiler-cli/src/commands/profile.ts Resolved
Comment thread profiler-cli/src/commands/profile.ts Resolved
Comment thread profiler-cli/guide.txt Resolved
thread markers searches one thread, so finding which of 95 threads saw a marker
meant a shell loop of one invocation per thread. profile markers searches every
thread in one call and reports matches with a thread column, following the shape
of profile logs.

The command requires at least one filter: unfiltered it would print an arbitrary
slice of 2.4M markers, which answers no question. An explicit --limit opts into
browsing anyway.

Like thread markers --list, a filtered query returns every match rather than a
truncated default, so a search never silently hides hits. Rows are capped at
100000, the most the reply can carry; the per-thread counts stay exact.
@fqueze
fqueze force-pushed the profiler-cli-profile-markers-pr branch from a2a6430 to cb1f221 Compare September 14, 2026 16:16
@fqueze
fqueze requested a review from canova September 14, 2026 16:17
@fqueze
fqueze enabled auto-merge (squash) September 18, 2026 20:04
@fqueze
fqueze merged commit d57bc96 into firefox-devtools:main Sep 18, 2026
21 checks passed
canova added a commit that referenced this pull request Sep 22, 2026
Changes:

[fatadel] Show a category breakdown in profiler-cli (#6256)
[fatadel] Show allocation data in the cli (#6246)
[Florian Quèze] profiler-cli: name the process in the thread banner, and
follow the queried thread (#6269)
[fatadel] Drive PII sanitization from marker schemas (#6291)
[fatadel] Move FileIO table labels into marker schemas (#6296)
[Florian Quèze] profiler-cli: add a thread list command (#6273)
[Nazım Can Altınova] Update oxfmt 0.63.0 → 0.68.0 (major) (#6316)
[Markus Stange] Add missing finishRawMarkerTableBuilder. (#6318)
[Markus Stange] Fix the upload error button contrast (#6315)
[Markus Stange] Allow typed arrays in the nativeSymbols table (#6300)
[Markus Stange] Remove brittle test. (#6322)
[Markus Stange] Fix file extension typo. (#6325)
[Nazım Can Altınova] Add a permalink command to profiler-cli for already
published profiles (#6331)
[Markus Stange] Typed arrays + flags for the FuncTable (#6323)
[Florian Quèze] profiler-cli: add profile markers for cross-thread
marker search (#6276)
[fatadel] Convert extension text markers to structured payloads (#6314)
[Florian Quèze] profiler-cli: include per-marker fields and data in
--list --json (#6275)
[Nazım Can Altınova]  Add `--with-samply` to "profiler-cli load" (#6339)
[Markus Stange] Speed up call tree sidebar by sharing work with the
activity graph (#6329)
[Nazım Can Altınova] 🔃 Sync: l10n -> main (Sept 22, 2026) (#6341)
[Nazım Can Altınova] Bump profiler-cli version to 0.10.0 (#6342)

And special thanks to our localizers:

el: Jim Spentzos
ro: robbp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants