PlatformProfiler/Roadmap

From MozillaWiki
Jump to: navigation, search

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


Full Query
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.