PlatformProfiler/Roadmap: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 75: Line 75:
Bugs
Bugs
* Bug 769431 - Correlate performance data with Ivy Bridge MSR_PPX_ENERGY_STATUS for power usage profiles
* 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 ==
== Experimental/Low Priority ==
=== Video Profiling ===
=== Video Profiling ===

Revision as of 20:01, 10 July 2013

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

Bugs

  • Bug 853864 - Expose IPC message information to profiler
  • Bug 881899 - Plugin symbolication
  • Front end improvements to display IPC message information

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
  • 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.