Closed Bug 1835065 Opened 2 years ago Closed 1 years ago

Add support for gathering a Chrome desktop profile in Raptor

Categories

(Testing :: Raptor, enhancement, P1)

Default
enhancement

Tracking

(firefox118 fixed)

RESOLVED FIXED
118 Branch
Tracking Status
firefox118 --- fixed

People

(Reporter: kshampur, Assigned: kshampur)

References

(Blocks 4 open bugs)

Details

(Whiteboard: [fxp])

Attachments

(5 files, 1 obsolete file)

For investigating where there are differences in performance between Firefox and Chrome, it would be valuable to capture a Chrome trace and provide a convenient way to open this in the Firefox Profiler.

We can use the browsertime commands for running a trace.
And we can follow a similar approach to Bug 1786400 for implementing it in raptor

For starters we should just get this on chrome/chromium first, then later custom-car in a follow up bug

We would probably also have to make changes upstream in browsertime (like in Bug 1823730) if we want to profile benchmarks the same way

Blocks: 1835071
Assignee: nobody → kshampur
Status: NEW → ASSIGNED

seems to work on chromium and custom-car as well? Perhaps I misunderstood these symbol flags for CaR, maybe they are not required for traces (in my head i related the symbols to symbolication). Will revisit the flags when the time comes, if even necessary (best case they are not required, because enabling them increases the build time!)

Priority: P2 → P1

Here tests are added for manifest and another to test the archiving from
a trace run in browsertime.

Depends on D183894

Attachment #9344457 - Attachment description: WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. → Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: WIP: Bug 1835065 - Add tests for chrome extra profiler run. → Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest
Blocks: 1848217
Attachment #9344457 - Attachment description: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest → WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest → WIP: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest

This patch refactors slightly the chrome trace class to begin using a
raptor profling superclass. This is due to the overlap between the
ChromeTrace class and the GeckoProfile class. This patch doesn't
complete the entire refactoring process but lays a foundation to follow
up on it.

Depends on D185430

This patch adds some explanation of the current support of tracing in
raptor-browsertime and clarifies that this currently only supports
pageload tests. This documentatoin will be further extended once
benchmark support is added.

Depends on D185961

Attachment #9344457 - Attachment description: WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest → Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: WIP: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest → Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest
Attachment #9348491 - Attachment description: WIP: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest → Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest
Attachment #9348492 - Attachment description: WIP: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest → Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest

This patch refactors slightly the chrome trace class to begin using a
raptor profling superclass. This is due to the overlap between the
ChromeTrace class and the GeckoProfile class. This patch doesn't
complete the entire refactoring process but lays a foundation to follow
up on it.

Attachment #9348594 - Attachment description: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest → WIP: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest
Attachment #9344457 - Attachment description: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest → WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest → WIP: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest
Attachment #9348492 - Attachment description: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest → WIP: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest
Attachment #9348491 - Attachment is obsolete: true
Attachment #9348594 - Attachment description: WIP: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest → Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest
Attachment #9344457 - Attachment description: WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest → Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: WIP: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest → Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest
Attachment #9348492 - Attachment description: WIP: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest → Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest
Blocks: 1848390
Attachment #9348594 - Attachment description: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest → WIP: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest
Attachment #9344457 - Attachment description: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest → WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest → WIP: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest
Attachment #9348492 - Attachment description: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest → WIP: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest

This patch slightly refactors the gecko profile class in
raptor-browsertime to make use of the new RaptorProfiling superclass.

Depends on D185962

Attachment #9348594 - Attachment description: WIP: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest → Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest
Attachment #9344457 - Attachment description: WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest → Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: WIP: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest → Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest
Attachment #9348492 - Attachment description: WIP: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest → Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest
Attachment #9348646 - Attachment description: WIP: Bug 1835065 - Subclass raptor gecko profile class with new superclass. r?#perftest → Bug 1835065 - Subclass raptor gecko profile class with new superclass. r?#perftest
Attachment #9348594 - Attachment description: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest → WIP: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest
Attachment #9344457 - Attachment description: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest → WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest → WIP: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest
Attachment #9348492 - Attachment description: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest → WIP: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest
Attachment #9348646 - Attachment description: Bug 1835065 - Subclass raptor gecko profile class with new superclass. r?#perftest → WIP: Bug 1835065 - Subclass raptor gecko profile class with new superclass. r?#perftest
Attachment #9348594 - Attachment description: WIP: Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest → Bug 1835065 - Add a super class for profiling in raptor-browsertime. r?#perftest
Attachment #9344457 - Attachment description: WIP: Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest → Bug 1835065 - Add support for gathering a Chrome desktop profile in Raptor. r?#perftest
Attachment #9347392 - Attachment description: WIP: Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest → Bug 1835065 - Add tests for chrome extra profiler run. r?#perftest
Attachment #9348492 - Attachment description: WIP: Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest → Bug 1835065 - Add brief description of Chrome trace support in documentation. r?#perftest
Attachment #9348646 - Attachment description: WIP: Bug 1835065 - Subclass raptor gecko profile class with new superclass. r?#perftest → Bug 1835065 - Subclass raptor gecko profile class with new superclass. r?#perftest
Blocks: 1848793
Pushed by kshampur@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9b5fa5a243ad Add a super class for profiling in raptor-browsertime. r=perftest-reviewers,sparky https://hg.mozilla.org/integration/autoland/rev/9c4e4b0f883b Add support for gathering a Chrome desktop profile in Raptor. r=perftest-reviewers,sparky,canaltinova https://hg.mozilla.org/integration/autoland/rev/195ebef7dcd7 Add tests for chrome extra profiler run. r=perftest-reviewers,canaltinova,sparky https://hg.mozilla.org/integration/autoland/rev/c605479083e1 Add brief description of Chrome trace support in documentation. r=perftest-reviewers,sparky https://hg.mozilla.org/integration/autoland/rev/e3e4e48f102f Subclass raptor gecko profile class with new superclass. r=perftest-reviewers,sparky
Regressions: 1848881
No longer regressions: 1848881
Blocks: 1858697
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: