Stack Trace Compression via Runtime Value Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Saving entire stack traces or branch traces in log messages is inefficient due to brevity loss and high memory and execution costs, making them impractical for debugging and diagnostics.
Innovation Solution
Generating metadata files for possible stack and branch traces, updating run-time trace values using mathematical operations, and matching these values to compress and represent the calling context efficiently, allowing for concise logging without performance sacrifices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If entire stack traces or branch traces are saved in log messages, then debugging information is complete, but message brevity is lost and memory and execution costs increase
Solution Approach 1:
The patent extracts only the essential debugging information from complete stack traces by generating a compressed representation that includes only necessary function identifier bits, eliminating redundant information while preserving debugging capability
Solution Approach 2:
The patent changes the representation parameter of stack traces from full detailed format to compressed bit-based format, transforming the data structure to reduce size while maintaining informational content for debugging
2Loss of information
If entire stack traces or branch traces are saved in log messages, then debugging information is complete, but memory consumption and execution speed are reduced
Solution Approach 1:
The patent extracts only the essential debugging information from complete stack traces by generating a compressed representation that includes only necessary function identifier bits, eliminating redundant information while preserving debugging capability
Solution Approach 2:
The patent changes the representation parameter of stack traces from full detailed format to compressed bit-based format, transforming the data structure to reduce size while maintaining informational content for debugging
Data Source
AI summary
Exemplary methods, apparatuses, and systems generate a plurality of possible stack traces for a computer program. Each possible stack trace represents functions that may be active while the computer program is running. Each function has a corresponding function identifier. A value for at least one of the plurality of possible stack traces is generated. Generating the value for each stack trace includes performing a series of one or more mathematical or logical operations between the function identifiers of the possible stack trace. A stack trace is generated as an output based upon a match between a run-time stack trace value and the at least one generated stack trace value.


