Multiple-Stage Crash Reporting for Immediate Metadata Notification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing crash reporting systems face challenges in promptly providing crash-related data to developers, especially in large-scale interactive programs like video games, due to the time required to collect and process crash artifact data, which can lead to delayed error identification and debugging.

Innovation Solution

Implementing a multiple-stage crash reporting process that separates the reporting of crash metadata and artifact data, allowing for immediate notification of crashes and metadata while ensuring consistent reporting, even if artifact data uploads fail, and using an out-of-process monitoring component for stability and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If crash artifact data is collected and processed before notification, then complete crash information is provided, but notification time is delayed

Engineering Contradiction:
Improvecrash information completenessVSAvoidnotification time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The crash reporting process is divided into two independent stages: first stage sends crash metadata (program name, version, crash time, device information) immediately upon crash detection, while second stage collects and uploads crash artifact data (crash dumps, logs, stack traces) separately. This segmentation allows notification to occur without waiting for complete artifact collection, resolving the contradiction between information completeness and notification speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Crash metadata is prepared and sent in advance before the time-consuming artifact data collection is complete. The system performs preliminary notification with available information (metadata) while continuing to gather additional details (artifacts) in the background, ensuring timely notification while still achieving complete information collection.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If crash artifact data is collected immediately, then complete crash information is obtained, but system stability deteriorates due to resource consumption

Engineering Contradiction:
Improvecrash data collection completenessVSAvoidsystem stability
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The data collection process is segmented into metadata collection (lightweight, immediate) and artifact data collection (resource-intensive, deferred). By separating these collection tasks, the system avoids the stability issues caused by attempting to collect all data simultaneously, while still achieving complete crash information gathering over time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary metadata collection and notification before initiating the more resource-intensive artifact data collection. This preliminary action ensures that critical crash information is captured and reported while the system remains stable, with artifact collection proceeding separately without compromising system reliability.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If all crash data is reported in a single stage, then complete information is provided, but debugging efficiency is reduced due to delayed notification

Engineering Contradiction:
Improvecrash data completenessVSAvoiddebugging efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The reporting process is segmented into two parallel tracks: immediate metadata reporting that enables fast developer notification and preliminary debugging triage, and subsequent artifact data reporting that provides complete diagnostic information. This segmentation allows developers to begin debugging work immediately upon receiving metadata, significantly improving debugging efficiency while still obtaining complete crash data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Crash metadata is reported in advance to enable developers to be notified immediately and begin preliminary debugging activities without waiting for complete artifact data collection. This preliminary reporting action bridges the gap between fast notification and complete information provision, enhancing debugging productivity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10223238B1Multiple-stage crash reporting
Publication Date: 2019.03.05 AMAZON TECH INC
  • US10223238B1 patent drawing
  • US10223238B1 patent drawing
  • US10223238B1 patent drawing

AI summary

Techniques for multiple-stage crash reporting are described herein. In particular, in some cases, a first stage may include reporting of crash metadata. Also, in some cases, a second stage may include reporting of crash artifact data, such as a crash dump file, error logs, server logs, client logs and/or other data. The crash artifact data may, in some examples, be provided after the crash metadata. By employing multiple stages for reporting of crash-related information, the time required to notify and provide at least some crash-related information to users may be reduced, without requiring the omission of any desired reporting information. Additionally, the use of multiple stages may help to ensure that a notification of the occurrence of the crash and associated metadata are consistently reported, even when crash artifact data uploads fail.