Multi-Process Log Debugging via Process Identifier Insertion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging multi-process applications is inefficient due to the difficulty in running debuggers on production environments and sharing source code, as existing debuggers often cannot perform multi-process debugging without accessing real production environments.

Innovation Solution

A method that inserts process identifier fields into log records and creates new log records for new processes, enabling debugging without running on a real production environment by supporting attach mode, parent/child process mode, and inferior view using these records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If existing debuggers are used to debug multi-process applications, then debugging functionality is provided, but access to real production environments and source code is required which reduces flexibility and security

Engineering Contradiction:
Improvedebugging accessibilityVSAvoidenvironment flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent creates a copy of the production environment by generating a log file that contains simulated multi-process debugging data. Instead of accessing the real production environment, the debugger operates on this copied log file which mimics the structure and content of actual production logs, including process identifiers, timestamps, and log records. This allows debugging without requiring access to the real production system.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary component that generates and manages the log file with embedded process identifier fields. This intermediary layer sits between the debugger and the production environment, allowing the debugger to interact with simulated process data without directly accessing the real production system. The intermediary handles the conversion of real log data into a debuggable format with added metadata.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If log files are analyzed without process identifier fields, then debugging is simpler, but multi-process debugging capability is lost

Engineering Contradiction:
Improvedebugging system simplicityVSAvoidmulti-process debugging capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the log file structure by inserting distinct process identifier fields into each log record. Each log record is divided into components including the original log data and additional metadata fields such as process ID, parent process ID, and child process ID. This segmentation allows the debugger to separately analyze different process elements while maintaining the overall log file structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds another dimension to the log file by incorporating process identifier fields as metadata layers. Instead of only analyzing the traditional log content, the system now operates in an enhanced dimension that includes process hierarchy information, parent-child relationships, and temporal process data. This additional dimensional information enables multi-process debugging without fundamentally changing the core logging mechanism.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If production environment is accessed for debugging, then accurate debugging information is obtained, but system stability and security are compromised

Engineering Contradiction:
Improvedebugging accuracyVSAvoidproduction environment stability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent performs preliminary actions by generating and preparing the log file with all necessary process identifier fields before the actual debugging process begins. The log file is pre-populated with simulated multi-process data that accurately reflects production environment structures. This preliminary preparation allows the debugger to work with pre-configured data that maintains accuracy without requiring access to the live production system during debugging operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11693759B2Providing for multi-process log debug without running on a production environment
Publication Date: 2023.07.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11693759B2 patent drawing
  • US11693759B2 patent drawing
  • US11693759B2 patent drawing

AI summary

Methods, computer program products, and/or systems are provided that perform the following operations: determining that a log multi-process debug mode is specified; obtaining a log file for debugging a source code, wherein the log file includes a plurality of log records; inserting a plurality of process identifier fields into each current log record in the log file; inserting a new log record into the log file for a created new process; and providing for performance of debugging for the source code based in part on the plurality of process identifier fields inserted into each current log record.