Crash Log Processing System for Mobile App Stability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Application developers face challenges in obtaining real-time data on application crashes across various mobile devices, as user feedback may not provide timely or comprehensive information about crash issues, making it difficult to determine if crashes are isolated or widespread.
Innovation Solution
A system that includes an API server receiving crash logs from mobile devices, distributing them to crash processing servers via a message queue bus, and translating raw crash data into human-readable reports, using symbolication and de-obfuscation to generate crash reports, with multiple tiers of processors for OS-specific and application-specific translations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If user feedback is used to detect application crashes, then developers can obtain some crash information, but the data is not real-time and cannot determine if crashes are isolated or widespread
Solution Approach 1:
The system performs preliminary actions by implementing automatic crash logging and transmission mechanisms within the application itself. Crash data is captured immediately when crashes occur and automatically transmitted to the server, eliminating the delay of waiting for user feedback. This preliminary automated data collection ensures both real-time detection and complete crash information is available to developers.
2Productivity
If multiple crash processing servers are used to handle crash logs, then crash processing capacity increases, but system complexity increases
Solution Approach 1:
The system segments crash processing into multiple independent processing servers, each capable of handling crash logs autonomously. This segmentation increases overall processing capacity while maintaining manageable complexity through modular architecture. Each server can process crashes independently, and the system scales by simply adding more servers without fundamentally changing the system structure.
Solution Approach 2:
The message queue bus serves as an intermediary component that manages the distribution of crash logs between the API server and multiple crash processing servers. This intermediary layer simplifies the overall system architecture by providing a standardized interface for crash log distribution, reducing the complexity that would otherwise arise from direct peer-to-peer communication between multiple servers.
3Loss of information
If raw crash data is translated into human-readable form through symbolication, then developer understanding improves, but processing time increases
Solution Approach 1:
The system performs preliminary symbolication by pre-loading and storing symbol information in symbol maps during application development and deployment. When crashes occur, the crash processing servers can quickly perform symbolication by referencing these pre-prepared symbol maps rather than performing full symbol resolution from scratch. This preliminary preparation significantly reduces the processing time required to translate raw crash data into human-readable form while maintaining complete understandability.
Data Source
AI summary
Some embodiments provide a system that allows application developers to track and monitor crashes that are occurring with their applications on various mobile devices. In some embodiments, crash logs are received from the mobile devices. Hash codes are generated based on the crash logs. A report to summarize the crash logs is generated based on the hash codes.


