Skip to content

Deploy Sep 23, 2024#5137

Merged
julienw merged 47 commits into
productionfrom
main
Sep 23, 2024
Merged

Deploy Sep 23, 2024#5137
julienw merged 47 commits into
productionfrom
main

Conversation

@julienw

@julienw julienw commented Sep 23, 2024

Copy link
Copy Markdown
Contributor

[Julien Wajsberg] Two optimizations for the marker chart (#5121)
[Nazım Can Altınova] [Tab selector 5] Add a tab selector component and implement tab switching (#5093)
[Julien Wajsberg] Support profiling from the toolbox in Thunderbird Release (#5135)
[Richard Fine] Add a dedicated symbolication tool (#5123)
[Julien Wajsberg] Export a tool to extract gecko logs from a profile (#4973)

Shout-out to our localizers:
de: Michael Köhler
el: Jim Spentzos
en-CA: chutten
en-GB: Ian Neal
es-CL: ravmn
fr: Théo Chevalier
fy-NL: Fjoerfoks
ia: Melo46
it: Francesco Lodolo [:flod]
nl: Mark Heijl
pt-BR: Marcelo Ghelman
ru: Valery Ledovskoy
sv-SE: Andreas Pettersson
uk: Lobodzets
zh-CN: Olvcpr423
zh-TW: Pin-guang Chen

julienw and others added 30 commits September 16, 2024 17:18
Fixes part of #5120.

**Commit 1**: this uses a Uint32Array to hold the map of MarkerIndex to
Marker Timing Row index. We use this information to decide which row we
need to redraw when the user highlight a specific marker.

Initially I wasn't sure about it: when the user zooms in quite a bit,
and there are just 3 markers left, then we still create a Uint32Array
that can hold all markers. I was concerned about the amount of memory,
and then decided this wasn't that much compared to all the other things,
and kept it.

This computation is happening each time the user switches to the Marker
Chart, because it's memoized in the Canvas component. We might want to
move that to selectors? That would be a tradeoff because it uses a
Weakmap currently (so this makes zooming in and popping a range fast,
but switching between panels is slow -- although not so slow anymore).

**Commit 2** and **Commit 3**: this makes the label computation lazy:
now it's computed only when we actually need it. Because there's a
`minWidth` to display text, this skips a lot of the computation.
This computation was done only once, the first time the marker chart is
displayed, when computing the marker timing.

Other commits are about test updates and clean ups.
…creation

Because Firefox backend always assumes the zero value is null in their
internal represantion.
Currently we are adding this only, it will be used in the following
commits.
Co-authored-by: Théo Chevalier <theochevalier@pm.me>
…iler

Co-authored-by: Pin-guang Chen <petercpg@mail.moztw.org>
Co-authored-by: Mark Heijl <markh@babelzilla.org>
Co-authored-by: Francesco Lodolo [:flod] <flod+pontoon@mozilla.com>
Karm46 and others added 16 commits September 19, 2024 11:02
Co-authored-by: Fjoerfoks <fryskefirefox@gmail.com>
…rofiler

Co-authored-by: Marcelo Ghelman <marcelo.ghelman@gmail.com>
Co-authored-by: Olvcpr423 <oliverchan86@outlook.com>
Co-authored-by: Michael Köhler <michael.koehler1@gmx.de>
Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com>
…ox Profiler

Co-authored-by: Ian Neal <iann_bugzilla@blueyonder.co.uk>
Co-authored-by: Valery Ledovskoy <valery@ledovskoy.com>
Co-authored-by: Andreas Pettersson <az@kth.se>
Co-authored-by: Lobodzets <Lobodzets@meta.ua>
…iler

Co-authored-by: chutten <chutten@mozilla.com>
Thunderbird Releases doesn't include the Firefox/ string in its
userAgent, therefore we neeed to match Thunderbird/ as well.

See also the discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1920387.
In order to avoid the need to launch an entire browser to get a profile symbolicated, this PR adds a small standalone NodeJS-based tool which can be run as a CLI process to symbolicate a profile. The components used by the frontend are reused so that the logic is shared, they're just packaged together into a minimal app with no React/Redux, etc.

Once built, the tool is at `dist/symbolicator.js`.

## Usage

```
node dist/symbolicator.js \
    --input path/to/unsymbolicated/profile.json \
    --output path/to/write/symbolicated/profile.json \
    --server <URI of Mozilla Symbolication API endpoint such as the one exposed by Samply>
```
@julienw julienw requested a review from a team as a code owner September 23, 2024 15:09
@julienw julienw changed the title Deploy Deploy Sep 23, 2024 Sep 23, 2024
Changed locales: de, el, en-CA, en-GB, es-CL, fr, fy-NL, ia, it, nl, pt-BR, ru, sv-SE, uk, zh-CN, zh-TW
@julienw julienw merged commit 02a3f95 into production Sep 23, 2024
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.