Breakpad/Design

From MozillaWiki
Jump to navigation Jump to search

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 Components

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]

  • 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

  • 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]

  • 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

  • Pick appropriate database (not Oracle)
  • Define schema that works well with current query/reporting needs
    • [need to dig up all common queries - jay]