Skip to content

Deploy March 20, 2026#5900

Merged
canova merged 47 commits intoproductionfrom
main
Mar 20, 2026
Merged

Deploy March 20, 2026#5900
canova merged 47 commits intoproductionfrom
main

Conversation

@canova
Copy link
Copy Markdown
Member

@canova canova commented Mar 20, 2026

Changes:

[Markus Stange] Start using const enum (#5879)
[Markus Stange] Some performance improvements (#5878)
[Nazım Can Altınova] Add startLine, startColumn, sourceMapURL and rename uuid to id in source table (#5882)
[Markus Stange] Reduce repetition in profile compacting code (#5885)
[Markus Stange] Some more activity graph drawing perf improvements (#5886)
[fatadel] Make network markers in the network panel sticky on click (#5884)
[Markus Stange] Improve SampleGraph and HeightGraph performance (#5897)
[Nazım Can Altınova] 🔃 Sync: l10n -> main (March 20, 2026) (#5899)

And special thanks to our localizers:

be: Andrei Mukamolau
el: Jim Spentzos
en-GB: Paul
es-CL: ravmn
ia: Melo46
sv-SE: Andreas Pettersson
tr: Nazım Can Altınova

mozilla-pontoon and others added 30 commits March 3, 2026 19:40
Co-authored-by: Andreas Pettersson <amvpet@gmail.com> (sv-SE)
Co-authored-by: Paul <seburo3@gmail.com> (en-GB)
Co-authored-by: ravmn <ravmn@ravmn.cl> (es-CL)
Co-authored-by: Melo46 <melo@carmu.com> (ia)
We can use typescript const enums for SelectedState and for resource
types.
Co-authored-by: Andrei Mukamolau <skiinale2011@gmail.com> (be)
Co-authored-by: Andrei Mukamolau <skiinale2011@gmail.com> (be)
Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com> (el)
Co-authored-by: Nazım Can Altınova <canaltinova@gmail.com> (tr)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Nazım Can Altınova <canaltinova@gmail.com>
Create the newPrefixCol first, and then, once we know the new stackTable length
and the remapping, compute the other columns from the remapping.
…le, and use the new column during activity graph drawing.
We are iterating over the filtered samples, which were already constrained
to the zoomed range. Checking the time again might be useful to handle
error cases where samples not sorted by time and the range filtering didn't
work properly, but I don't think that's useful either; _accumulateInBuffer
will make sure to never write outside of its bounds.
[Production](https://share.firefox.dev/4l9htnS) | [Deploy
preview](https://deploy-preview-5878--perf-html.netlify.app/public/fkmw9djz29ntsmaznezy93hhft85jy0zjrp5my8/calltree/?globalTrackOrder=0&profileName=FullSp3Firefox-15x-symbolicated&thread=0&v=12)

This PR contains some changes which make it faster to change the
selected call node in the call tree. Whenever the selected call node
changes, we redraw the activity graph and we compute which information
to display in the sidebar.
This will help us see the accurate line numbers in the source view for
the inline JS scripts. And also, it will help us resolve the source maps
later.
This will allow us to resolve the source maps later.
The name of this field doesn't make sense anymore as we changed its
value from UUID to a hash value. This `id` name is more implementation
agnostic, so it's better to rename it now.

Note that this requires an upgrader, similar to the previous patches in
this patch stack. The upgrader will happen in the last commit with all
the relevant changes.
…rce table (#5882)

The backend side of this PR:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1999953
- https://bugzilla.mozilla.org/show_bug.cgi?id=2016667

This PR improves the source table overall by:
- Adding startLine and startColumn to the source table. This is going to
be used for showing correct line numbers in the source view when the
source is coming from an inline script. And also it will be useful for
source map/prettify in the future.
- Adding sourceMapURL if the source contains this information. This is
needed for us implement the source map resolution.
- Renaming `uuid` field to `id`. This field was initially containing
uuid fields, but they were replaced to contain hashes instead. It's
better to have an implementation agnostic name for this field in
general.
depfu bot and others added 17 commits March 11, 2026 11:41
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
The goal of this is to make it more straightforward to modify
the compacting code when you add a column to one of the tables
in the profile data.

The type system now catches if you forget to handle one of the
columns.
The goal of this is to make it more straightforward to modify the
compacting code when you add a column to one of the tables in the
profile data.

The type system now catches if you forget to handle one of the columns.
When clicking a marker in the Network panel, its tooltip is now persisted, matching the Marker Chart behavior.
This enables interaction with tooltip content like copying text or clicking the filter button.
The existing behavior of displaying the tooltip on hover is kept as well, but hover tooltips are suppressed while a sticky tooltip is active, to avoid obstruction.

- Add click coordinate tracking to NetworkChartRow state for sticky tooltip positioning
- Show filter button in both hover and sticky tooltips
- Suppress hover tooltips on other rows while a sticky tooltip is active
- Toggle selection off when re-clicking the same row
- Dismiss sticky tooltip on Escape key
- Add new tests covering the sticky tooltip related behavior
Some minor perf improvements and code simplifications.
Updated locales: be, el, en-GB, es-CL, ia, sv-SE, tr.
@canova canova merged commit f37398f into production Mar 20, 2026
34 checks passed
mstange added a commit to mstange/perf.html that referenced this pull request Mar 30, 2026
…x-devtools#5900)

Process-level fields (processType, processStartupTime, processShutdownTime, pid,
processName, eTLD+1, isPrivateBrowsing, userContextId) are moved from RawThread
into a new RawProcess type. A processes array is added to profile.shared, and
each RawThread now has a processIndex field referencing its entry there.

The derived Thread type keeps all these fields for backward compatibility; they
are populated from the RawProcess during profile processing.

A new processed profile format version 62 with an upgrader handles migration of
old profiles.
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.

4 participants