Breakpad/Design: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Add Load-testing page)
 
(25 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Development Team & Schedule ==
'''[[Breakpad|« back to Breakpad main page]]'''
'''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 Components ==
[[Image:Breakpad.jpg|Pictogram of the breakpad server architecture]]
'''Airbag Client'''
* 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 manager incoming blackboxes through 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)


'''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