DevTools/Performance/Extensibility

From MozillaWiki
Jump to: navigation, search
Do not edit this page THIS PAGE IS PROPOSED FOR DELETION 05/27/2020
This information is very outdated, please see profiler.firefox.com for the current profiling infrastructure.

Overview

The Firefox Developer Tools' Performance Tools collects data from Firefox internals via various sources, currently resulting in Markers and profiler samples. This data is currently consumed via views within the developer tools' toolbox, but there is only so many representations and analyses we can maintain on our own, as well as provide easier and other ways to consume and analyze this data programmatically, and possibly independently of Firefox.

Goals <- Use cases

Custom Detail Views

  • Developer prefers viewing time-domain or sample data differently than what the performance tools provide
  • Gecko hacker wants a feature that would help them, but would never land in m-c due to safety (calling out to a shell for symbolication in gecko profiler, for example)
  • Gecko hacker wants to focus on a niche domain/power feature that only they would ever want
  • PerfTools team wants to prototype new views without having to go through m-c, tests, code quality etc

Standalone Performance Tool

  • Developer wants to share a link to their performance results (Cleopatra for example)

Headless recording

  • Gecko Profiler use case -- minimal overhead, want to always be recording and can fetch the last ~10 seconds to investigate performance issues
  • Running firefox in a CI scenario that results in a recording JSON for subsequent regression/improvement analysis (`firefox --performance profile.json` or something similar)

CLI Analysis Tool

  • Analyzing recordings from a CI environment and easily derive meaningful results. (a la linux's perf)

Requirements