Logical Tree Telemetry Comparison for Web App Regression Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional debugging techniques struggle to detect and correct errors in web page applications due to difficulties in recreating the user's environment, and limitations in collecting and analyzing telemetry data.
Innovation Solution
A method involving the generation of logical trees from tracing logs to identify differences in the execution of events between a user's instance and a developer's instance of a web page application, allowing for the extraction of spans and generation of a textual report to aid in error detection and correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional debugging techniques are used, then developers can work with standard tools, but they cannot effectively recreate the user's environment to detect errors
Solution Approach 1:
The patent creates a copy of the user's execution environment by generating a logical tree from telemetry data that replicates the span hierarchy, node attributes, and chronological order of events. This copied environment allows developers to reproduce and debug user-specific errors without needing the actual user device or environment.
2Loss of information
If detailed telemetry data is collected from multiple tracers, then comprehensive execution information is obtained, but the complexity of processing and comparing tracing logs increases
Solution Approach 1:
The patent segments the complex telemetry data into structured logical trees with nodes representing spans and their attributes. Each tracer's data is independently organized into a tree structure, making it easier to process and compare. The segmentation includes dividing nodes into chronological subsets and identifying additional nodes outside chronological order, which simplifies the comparison process between different tracers.
Solution Approach 2:
The logical tree structure serves as an intermediary representation between the raw telemetry data from multiple tracers and the final error detection results. This intermediate structure standardizes the data format, enabling systematic comparison of nodes and identification of differences without directly processing the raw, unstructured tracing logs.
3Measurement precision
If logical trees are generated and nodes are compared to identify differences, then regression errors can be detected, but the time required for analysis increases
Solution Approach 1:
The patent performs preliminary organization of telemetry data into logical trees with clearly defined nodes, attributes, and chronological ordering before comparison. This preliminary structuring enables more efficient comparison operations, as the data is already organized in a format that facilitates systematic node matching and difference identification, reducing the overall analysis time.
Solution Approach 2:
The patent focuses the comparison on specific node attributes and chronological order relationships rather than analyzing every possible aspect of the telemetry data. By concentrating on the critical elements that indicate regression errors (node attribute differences and chronological order changes), the analysis achieves high precision without requiring exhaustive examination of all data points.
Data Source
AI summary
Disclosed techniques relate to curing defects in software. In an example, a method involves receiving, from a first and second tracer, a first and second tracing log respectively. The first and second tracing log include log tracing data represented by a plurality of spans of respective instances of a web page application. The plurality of spans are associated with corresponding events of the respective instances of the web page application. The method further involves generating a first logical tree from the first tracing log and a second logical tree from the second tracing log. The logical trees include a respective plurality of nodes to represent chronological order of events within respective instances of the web page application and an additional node outside of the chronological order. The method further involves identifying correspondences and differences between nodes of the logical trees and generating a report on the set of spans.


