Conditional Trace Event Logging Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex software systems generate large numbers of trace events, making it difficult to identify relevant information during evaluations, as most events are uninteresting and irrelevant, leading to an overwhelming log that burdens evaluators and consumes resources.

Innovation Solution

Using configuration information to specify conditions under which trace events are logged, allowing only relevant events to be persisted and discarding irrelevant ones, thereby reducing the log size and increasing relevance, and optionally scoping trace events to conserve processing and memory resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If all trace events are logged regardless of service status, then complete trace information is preserved, but the log size becomes overwhelming and irrelevant information increases

Engineering Contradiction:
Improvetrace information completenessVSAvoidlog size
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent segments trace events into different categories based on service status (normal operation vs. failure conditions). By dividing the log into conditional segments, only relevant trace events are captured for each scenario, reducing overall log size while preserving necessary information for both normal and failure state analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial logging by selectively capturing only the necessary portion of trace events based on service status. Instead of logging all events unconditionally, the system logs partial sets of events appropriate to the current service state, reducing information loss while minimizing log volume.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all trace events are buffered and processed, then comprehensive monitoring is achieved, but processing resources and memory consumption increase

Engineering Contradiction:
Improvemonitoring comprehensivenessVSAvoidprocessing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the monitoring process into conditional branches based on service status. Different monitoring paths are activated depending on whether the service is operating normally or experiencing failures, allowing comprehensive monitoring where needed while conserving resources during normal operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial monitoring by activating full trace event buffering only when service failures are detected. During normal operation, monitoring is reduced to essential events only, maintaining reliability for failure detection while significantly reducing processing resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of information

If evaluators review all logged trace events, then complete analysis coverage is achieved, but time to identify relevant information increases

Engineering Contradiction:
Improveanalysis coverageVSAvoidevaluation time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent segments the trace log into conditionally relevant portions based on service status at the time of events. This segmentation allows evaluators to focus on pre-filtered segments corresponding to failure conditions or specific service states, achieving complete analysis coverage for relevant events while dramatically reducing the time needed to locate and evaluate pertinent information.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7676699B2Event trace conditional logging
Publication Date: 2010.03.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7676699B2 patent drawing
  • US7676699B2 patent drawing
  • US7676699B2 patent drawing

AI summary

Use of configuration information to specify particular conditions under which trace events are to be logged. When accessing trace events generated by various modules, configuration data is referred to specifying condition(s) under which the trace events should be logged. If the log condition(s) are satisfied, the trace events are logged. Otherwise, they may be discarded. Thus, the number of trace events in the log may be significantly reduced to those trace events that satisfy conditions of interest to an evaluator.