Closed Bug 1307227 Opened 3 years ago Closed 1 year ago

Land support for profiling without any addon in tree

Categories

(Core :: Gecko Profiler, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: fitzgen, Assigned: gregtatum)

References

(Depends on 2 open bugs, Blocks 4 open bugs)

Details

Attachments

(5 files, 2 obsolete files)

This is a meta bug for having the ability to start/stop profiling, view profiles, etc in tree without any addons.

Would probably have this pref'd off by default? But either way, it should be available in all releases and custom builds.
Depends on: 1307191
Keywords: meta

Might as well use this existing bug. I'm planning on working no landing the Gecko Profiler Addon code in tree, and maintain the mechanism to load profiles in profiler.firefox.com.

Assignee: nobody → gtatum
Type: defect → enhancement
Priority: -- → P2
Summary: Land support for profiling without any addon in tree → [meta] Land support for profiling without any addon in tree

The WebExtensions do not delete the _addedEventListeners property from
the view node when the widget is destroyed. This stops the widget from
correctly having events dispatched to it, as the initialization code
assumes that it has already been set up.

Depends on D31547

This commit represents the changes needed to convert the existing
Gecko Profiler Add-on code to work outside of the WebExtensions
environment. A following commit will actually wire it into the
rest of the browser.

Depends on D31626

The performance profiler pop-up menu wants to be near DevTools, but work
without the complete DevTools initialization. This patch adds a public
method to perform the initialization code of initializing the provider.

Depends on D31627

This commit takes the popup, and wires it up the button using the
CustomizableUI interface. It is integrated with the DevTools initialization
code.

Depends on D31628

Attachment #9065560 - Attachment description: Bug 1307227 - Create a menu button for the profiler → Bug 1307227 - Update the devtools browser menu to take isDefaultChecked
Attachment #9065560 - Attachment is obsolete: true
Attachment #9065701 - Attachment description: Bug 1307227 - Fix event listener for CustomizableUI when destroying widgets → Bug 1552565 - Fix event listener for CustomizableUI when destroying widgets; r?Gijs
Attachment #9065701 - Attachment is obsolete: true
Depends on: 1552565
Summary: [meta] Land support for profiling without any addon in tree → Land support for profiling without any addon in tree
Summary: Land support for profiling without any addon in tree → [meta] Land support for profiling without any addon in tree

Sylvestre/Calixte, could the bot avoid adding back a change it did previously that has been reverted by the bug's assignee?

Flags: needinfo?(sledru)
Flags: needinfo?(cdenizet)

The bot is correct here.
If this isn't a meta bug, the meta keyword should be removed. If it is, [meta] should be part of the title (this for the list of bug/search).

Flags: needinfo?(sledru)
Flags: needinfo?(cdenizet)
Attachment #9065701 - Attachment description: Bug 1552565 - Fix event listener for CustomizableUI when destroying widgets; r?Gijs → Bug 1307227 - Fix event listener for CustomizableUI when destroying widgets
Attachment #9065701 - Attachment is obsolete: false
Keywords: meta
Summary: [meta] Land support for profiling without any addon in tree → Land support for profiling without any addon in tree
Attachment #9065703 - Attachment description: Bug 1307227 - Modify the DevTools loader to expose the provider initialization → Bug 1307227 - Ensure the provider is always initialized for calls to lazyRequireGetter
Attachment #9065701 - Attachment is obsolete: true
Blocks: 1553182
Blocks: 1553187
Attachment #9065559 - Attachment description: Bug 1307227 - Copy over the Gecko Profiler Addon files → Bug 1307227 - Copy over the Gecko Profiler Addon files; r=julienw
Attachment #9065701 - Attachment description: Bug 1307227 - Fix event listener for CustomizableUI when destroying widgets → (Broken out to bug 1552565, do not review) - Fix event listener for CustomizableUI when destroying widgets
Attachment #9065701 - Attachment is obsolete: false
Attachment #9065703 - Attachment description: Bug 1307227 - Ensure the provider is always initialized for calls to lazyRequireGetter → Bug 1307227 - Ensure the provider is always initialized for calls to lazyRequireGetter; r=ochameau
Attachment #9065701 - Attachment description: (Broken out to bug 1552565, do not review) - Fix event listener for CustomizableUI when destroying widgets → (Broken out to Bug 1552565, do not review) - Fix event listener for CustomizableUI when destroying widgets
Attachment #9065701 - Attachment is obsolete: true
Blocks: 1553305
Blocks: 1553613
Attachment #9065701 - Attachment is obsolete: false
Attachment #9065702 - Attachment description: Bug 1307227 - Update the profiler's popup code to work in Gecko → Bug 1307227 - Update the profiler's popup code to work in Gecko; r=julienw
Attachment #9065704 - Attachment description: Bug 1307227 - Integrate the profiler popup widget into the browser → Bug 1307227 - Integrate the profiler popup widget into the browser; r=jdescottes
Attachment #9065701 - Attachment is obsolete: true
Latest run with some changes to keyboard shortcut handling: https://treeherder.mozilla.org/#/jobs?repo=try&revision=85ef6422ee7f5373cd36252429f33442e745c9b0

This try run changes the strategy to only add the <key> elements when the menu button is enabled. https://treeherder.mozilla.org/#/jobs?repo=try&revision=c8be4aaa4c51f67384c1c3ea54bb0bbcc6f5c95e

Based on my try run above, the failures I encountered look unrelated to my patch. I recreated the failures locally without my patch on my windows machine, so I'm going to try and land this now.

Pushed by gtatum@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a395d78de549
Copy over the Gecko Profiler Addon files; r=julienw
https://hg.mozilla.org/integration/autoland/rev/2a97b26893c4
Update the profiler's popup code to work in Gecko; r=julienw
https://hg.mozilla.org/integration/autoland/rev/2960e77ad5a6
Ensure the provider is always initialized for calls to lazyRequireGetter; r=ochameau
https://hg.mozilla.org/integration/autoland/rev/020a3fc71e39
Integrate the profiler popup widget into the browser; r=jdescottes
https://hg.mozilla.org/integration/autoland/rev/a8a326afa3f8
Add a runtime check for when the profiler button is enabled and checked; r=julienw
Depends on: 1558116
Blocks: 1558116
No longer depends on: 1558116

I think this is something that should be mentioned in our Nightly Release notes as this is our most technical user base and incitating them to profile pages and report bugs about performance is a worthy. Greg, could you request an addition to the release notes? https://wiki.mozilla.org/Release_Management/Release_Notes#How_to_nominate_a_bug_for_release_notes_addition.3F

Is there some general documentation, screencast or blog post we could link this release note to?

Thanks

Flags: needinfo?(gtatum)

I think I'd like 1 more cycle in nightly before releasing information about it. There are still some outstanding usability issues. I will follow-up with information once I fix a few more things.

Flags: needinfo?(gtatum)
You need to log in before you can comment on or make changes to this bug.