|
SocorroOverview
Introduction to the Socorro Package and the applications that use it
OverviewThe Socorro Crash Reporting system consists of two pieces, the Socorro Server and the Socorro UI. Socorro ServerSocorroServer is a Python API and a collection of applications that use the API. The applications together embody a set of servers to take crash dumps generated by remote clients, process using the breakpad_stackdump application and save the results in a relational database. Socorro UISocorroUI is a Web application to access and analyze the database contents via search and generated reports. Data FlowCrash dumps are accepted by the SocorroCollector, a mod_python script running under Apache. Collector will store the crashes into either StandardJobStorage or DeferredJobStorage based on the Throttling configuration. A crash stored in StandardJobStorage is said to have been queued for processing. Crashes stored in DeferredJobStorage are held for a configurable number of days before being deleted. The next step is handled by a long running application called SocorroMonitor. Its job is to monitor the StandardJobStorage for new files placed there by collector. On finding a new JSON/dump pair, it queues the pair for further processing by assigning it to one of several "processors". The SocorroProcessors are also long running applications that take jobs (JSON/dump pairs) from StandardJobStorage, create database entries for them and then apply them to Breakpad's minidump_stackwalk application. The results of that application are then parsed and placed in the database for retrieval or analysis. The actual output of the minidump_stackwalk is saved in a compressed format in the ProcessedDumpStorage rather than the database. This allows the SocorroUI to read and display the dump without accessing the database. In our setup of our Breakpad/Socorro project, we're using different machines for each of the major Socorro applications. Several machines that we refer to as Webheads run the SocorroCollector. A single machine runs SocorroMonitor. Several machines run SocorroProcessor. The SocorroUI allows developers to browse the crash information. In addition to being able to examine specific individual crash reports, there are trend reports that show which crashes are the most common as well as the status of bugs about those crashes in Bugzilla. Next Steps: |
Sign in to add a comment