Breakpad/Design: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Add Load-testing page)
 
(23 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''[[Airbag|« back to Airbag main page]]'''
'''[[Breakpad|« back to Breakpad main page]]'''
== Development Team & Schedule ==
'''The Team'''
* Airbag Client (limited scope) - Airbag Project Team/Google
* Airbag Client Customization - dcamp (Dave Camp)
* Airbag Server
** Crash/Blackbox Manager (Repeater + Collector) - morgamic (Mike Morgan) & TBD
** Digester - luser (Ted Mielczarek) & TBD
* Airbag Tools & Reporting - coop (Chris Cooper) & jay (Jay Patel)
'''The Schedule'''
* TBD - We should try to set some dates for:
** Setting product/component requirements
** Defining component specifications
** Milestones for each component


== Airbag Client ==
[[Image:Breakpad.jpg|Pictogram of the breakpad server architecture]]
* Platform integration for Windows, Mac OS X, Linux
* UI parity with Mozilla products
* Collect and send data to Airbag Server
** Product info (product, version, platform, build id, airbag version)
** System information (os version, processor, memory, diskspace, etc.)
** Stability statistics (total runtime, time since last crash, crash frequency, etc.)
* Store incident queue/history


== Airbag Crash/Blackbox Manager (Repeater + Collector?) [need good name] ==
== Milestones ==
* Apache web server to manage incoming blackboxes via HTTPS
* Pass blackbox data through the firewall
* Monitor queue and blackbox status
* Check client version and state and be able to serve config changes to Airbag Client (e.g. send message to disable client)
* Prep blackbox for handoff to Digester


== Airbag Symbols Store ==
A [http://spreadsheets.google.com/ccc?key=pz4NfkoyHy_bnEjHrg9seDA spreadsheet] has milestones and task information. The actual dates for the milestones are not yet finalized.
* Infrastructure should allow build systems to push symbols to the Symbols Store
* Store symbols for each build/release based on product information (similar to AUS URLs). Key parameters should include:
** Vendor/Project, Product, Product Version (?), Platform, OS Version (?), Build ID
** Currently don't use Product or OS Versions with Talkback, but might want to consider doing it with Airbag.


== Airbag Digester [need better name] ==
== Detailed Information ==
* Grab blackboxes from Crash/Blackbox Manager
* Process blackboxes
** Extract info from blackbox
** Map stack trace to symbol info from Symbols Store to decipher function names, file paths and line no.
** Store crash information to Airbag Database


== Airbag Database ==
* [[Breakpad/Design/Client]]
* Pick appropriate database (not Oracle)
* [[Breakpad/Design/Database]]
* Define schema that works well with current query/reporting needs
* [[Breakpad/Design/Collector]]
** [need to dig up all common queries - jay]
* [[Breakpad/Design/Processor]]
* [[Breakpad/Design/Reporter]]
* [[Breakpad/Design/Bootstrap]]
* [[Breakpad/Design/Symbol Server]]
* [[Breakpad/Design/Loadtesting]]

Latest revision as of 17:00, 8 June 2007