Breakpad/Design/Reporter
From MozillaWiki
« back to Breakpad design page
Contents |
Breakpad Analysis and Reporting System(s) [edit]
The query engine provides reporting and querying from the database. It requires read access to the database. There are two basic kinds of reporting:
- System status information
- Querying individual data to find specific information
- Report generation aggregating large volumes of data
System Status [edit]
To verify that the system is running efficiently:
- Number of reports collected
- Number of reports processed
- Number of reports collected but not yet processed (backlog)
Querying [edit]
- For talkback parity, ability to query reports by the standard metadata (see notes below): http://talkback-public.mozilla.org/search/start.jsp
- Ability to query by extensions enabled
- Ability to query by DLLs loaded in process (especially plugin DLLs)
Reporting [edit]
- Make sure that private data (email address, IP address) are kept behind a login
- Topcrash table: reimplement http://talkback-public.mozilla.org/reports/firefox/FFTrunk/FFTrunk-topcrashers.html
- Topcrashes by URL: http://talkback-public.mozilla.org/reports/firefox/FFTrunk/url-analysis-all.html
- Smart analysis report: http://talkback-public.mozilla.org/reports/firefox/FFTrunk/smart-analysis.all
- the ability to quickly find and isolate when crash regressions appeared in nightly builds or between major releases.
- Need specific information here! (UI mockup would be good)
- ability to find common themes behind crash reports by cross-referencing against metadata:
- common comments and comment fragments
- OS version
- graphics systems
- process lists
- time since last crash
- uptime of the crashing session
- most frequently visited sites
- memory usage
- available system memory
- number of CPUs
- Calculate the MTBF numbers for particular releases; analyze across releases and branches; graph the data
- find trends
- number of crashes versus total users
- crashes/normal quits
- all of the metadata listed above
Notes [edit]
Currently, "stack signature" means the top stackframe. In the future, it may make sense to make this more specific or more general, or allow individual queries to widen/narrow the scope.
Instead of running the reports on request, it may make sense to generate them from a cron script.
Product metadata includes:
- Product -> Firefox
- Branch -> 1.8
- Version -> 2.0.0.3
- OS
- BuildID
Crash report metadata includes the above, plus:
- OS version (and patchlevel if applicable)
- list of process DLLs
- list of process enabled extensions
- unique ID (per-user)
- install date
- runtime this session (before crash)
- number of runs for this install
- number of crashes for this install
