DevTools/Performance/Extensibility
From MozillaWiki
< DevTools | Performance
Contents
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)