PlatformProfiler/Roadmap
Contents
Projects
The following are a list of projects being worked on for the Platform Profiler to make it easier to diagnose and fix complex performance bugs. Note that several of these projects will need very similar overlapping work.
Profilable Fennec Nightlies
The goal of this project is being able to profile nightly Fennec build without compiling a local build.
Owner: :sewardj
Bugs
- Breakpad speed improvements
- Breakpad unwind accuracy
Profilable B2G Nightlies
The goal of this project is being able to profile nightly B2G build without compiling a local build.
Owner: :jld,:sewardj
Bugs
- Custom ARM Unwinder
- Use Breakpad on B2G
- Optimize profiler memory usage
Profiling Plugins
The goal of this project is being able to profile plugins.
Owner: :gfritzsche, :benwa, :vlandan
ID | Priority | Summary | Status | Assigned to |
---|---|---|---|---|
853358 | -- | Add plugin profiling support | RESOLVED | Benoit Girard (:BenWa) |
881899 | -- | Deploy a private SymbolicationServer for obfuscated Flash symbols | RESOLVED | Chris Turra [:cturra] |
920909 | -- | Plugin profiling syncing fails because float serialization is lossy | RESOLVED | Benoit Girard (:BenWa) |
3 Total; 0 Open (0%); 3 Resolved (100%); 0 Verified (0%);
Monitoring I/O
The goal of this project is report I/O operation with a proper callstack.
Owner: :aklotz
Bugs
- Bug 867757 - Provide a way to insert arbitrary data in a profile
- Capture the callstacks for markers
- Symbolicate marker callstacks
- Front end improvements to markers and callstacks.
Profiling Painting/Compositing (also Gaming)
The goal of this project is being able to report (1) What is triggering repaints, (2) Frame boundaries, (3) Frame budgets and frames taking above 15ms, (4) Samples related to frame for both the content and compositor thread.
Owner: :BenWa
Bugs
- Bug 867757 - Provide a way to insert arbitrary data in a profile
- Instrument the frame transactions
- Capture callstack of code requesting repaints
- Add a new widget to show frame budgets
- Complex time range selection in the front end
Cleopatra
The goal of this project is to improve cleopatra.
Owner: :BenWa, :mstange
Bugs
- (Various support feature for projects listed here)
- Better marker UI
- Fix local storage
- Code refactoring
- Tests
Multi-thread Profiling
The goal of this project is to display more useful profiles for tasks that coordinate work between threads
Owner: :BenWa
Bugs
- Improvements to thread selection and filtering
- Bug 867757 - Provide a way to insert arbitrary data in a profile
- Bug 918825 - Add marker relationship for drawing
- Show locking?
Power Profiling
Bugs
- Bug 769431 - Correlate performance data with Ivy Bridge MSR_PPX_ENERGY_STATUS for power usage profiles
Good First Bugs
- Bug 867728 - Stream profiler JSON directly to a file
- Bug 837273 - Add a control symbol to validate symbolication (Easy)
- Bug 820048 - Add microsecond profiling
- Bug 892058 - Add Profiler GTest unit test
Experimental/Low Priority
Video Profiling
The goal of this project is display a video capture along side of the project requested. Similar to eideticker profiles.
Owner: :BenWa
Bugs
- Either improve automation with screencasting software or build in system to copy composited frames.
Resuming unwinds from PseudoFrames
The goal of this project is to experiment with from a failed unwind from a pseudo frames and/or using previous pseudo frames to copy from a successfull unwind to speed up unwinding.