Open Bug 1145271 (operation-instrument) Opened 6 years ago Updated 2 years ago
[meta] Operation Instrument
We need an easy way for platform developers to add timeline markers to new features. DevTools can't realistically add markers to everything, so if we make this part of the process, and very easy with great docs and one-liners, this'll go a long way. The memory team did something similar with about:memory [cultural] * Should propose on dev.platform that every new gecko feature that touches main thread should add timeline markers * ask reviewers to consider r- on patches that do not do this * Make tools good enough so that platform developers WANT their features with markers [platform] * Add a simple way to add TimelineMarkers. bug 1145247 [docs] * Make it clear and easy how to implement TimelineMarkers in whatever is done on platform. bug 1145248 [devtools] * Automatically display all timeline markers; new markers do not need to update devtools client code to display them. Will need to probably tag markers with a "category" (and define broad categories), as well figuring out how to color them when multiple markers are on the same horizontal line (bug 1145264). Once we clarify how categories work and are rendered, the client should not need to be updated, unless we want to further specify a marker with a new color, or a new generalized category. bug 1145269 Also, any cool codenames like "memshrink"/"project snappy" would be cool.
Not specifically targeting the v2 release (for web devs). Correct me if I'm wrong here.
No longer blocks: perf-tool-v2
(Was about to file a new bug, but I see this bug exists.) Right now, there are often empty spaces in the timeline, where it isn't clear where the platform is spending time. We should add more and more instrumentation to the platform with more and more profiler timeline markers, resulting in less and less empty areas. We should always be able to know what the platform is doing by looking at the waterfall timeline created by the markers. In addition to the in-community evangelism of comment 0, we should have a cycle like this to minimize existing gaps: 1. Determine where gecko is spending time that doesn't show up in the timeline graph. This will probably require the gecko addon profiler b/c of its superior C++ profiling. This will of course vary from test case to test case. 2. Prioritize areas discovered in (1) by most time spent in that area. 3. Add new timeline profiler markers in order of prioritization from (2). 4. GOTO 1 (perhaps with new test case)
Summary: [meta] Timeline Markers → [meta] Instrument Gecko w/ moar timeline markers
For reference, here are the markers Chrome has in its timeline: https://developer.chrome.com/devtools/docs/timeline#timeline-event-reference
Summary: [meta] Instrument Gecko w/ moar timeline markers → [meta] Operation Instrument
Triaging. Filter on ADRENOCORTICOTROPIC (yes).
OS: Mac OS X → Unspecified
Priority: -- → P1
Hardware: x86 → Unspecified
Version: 37 Branch → unspecified
You need to log in before you can comment on or make changes to this bug.