Instrumentation Point Selection for Application Performance Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Selecting the appropriate components to instrument in an application for monitoring is challenging due to the difficulty in identifying relevant data sources while avoiding excessive instrumentation overhead, which affects the efficiency and accuracy of application performance analysis.

Innovation Solution

A method and system for optimizing instrumentation points by running the application in development mode, monitoring instrumented components, and iteratively selecting a subset based on dynamic and static analysis, using criteria such as resource utilization and interaction patterns to determine which components to instrument actively, thereby reducing unnecessary instrumentation overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a large set of components is instrumented to ensure comprehensive monitoring coverage, then measurement precision and reliability are improved, but instrumentation overhead and system complexity increase

Engineering Contradiction:
Improvemonitoring accuracyVSAvoidinstrumentation overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts and removes unnecessary instrumentation from the monitoring system by identifying and eliminating components that do not contribute meaningful data. The filtering process removes redundant instrumented components based on criteria such as low invocation frequency, minimal resource consumption, and lack of relevance to performance bottlenecks, thereby reducing instrumentation overhead while preserving monitoring accuracy for critical components.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by differentiating instrumentation levels across different components based on their specific characteristics and importance. Critical components that impact performance are instrumented with detailed monitoring, while less important components use minimal or no instrumentation. This selective approach ensures comprehensive monitoring where needed while avoiding unnecessary overhead in non-critical areas.

Inventive Principle:
Principle #3Local quality

2Loss of information

If comprehensive instrumentation is applied to all components, then data completeness is improved, but processing time and resource consumption increase

Engineering Contradiction:
Improvedata completenessVSAvoidprocessing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent extracts and removes unnecessary data collection from components that do not contribute meaningful information. By identifying components with minimal impact on application performance and removing them from the instrumented set, the system maintains data completeness for critical performance analysis while significantly reducing the volume of data that requires processing and analysis.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by instrumenting only the necessary subset of components rather than all components. This selective instrumentation approach collects sufficient data to understand application performance and identify bottlenecks without the excessive overhead of comprehensive instrumentation, achieving an optimal balance between data completeness and processing efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If more components are instrumented to capture detailed interaction patterns, then analysis accuracy is improved, but system performance degradation increases

Engineering Contradiction:
Improveanalysis accuracyVSAvoidapplication performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts and removes components that would cause excessive performance degradation when instrumented. By identifying components with low invocation frequency, minimal resource consumption, or those already well-understood, the system removes them from the instrumented set, thereby maintaining analysis accuracy for performance-critical components while preserving overall application performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by applying different instrumentation strategies to different components based on their performance characteristics. Components that are performance-critical and require detailed analysis receive comprehensive instrumentation, while components that would cause significant overhead receive minimal or no instrumentation, thus maintaining application performance while achieving sufficient analysis accuracy.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9009680B2Selecting instrumentation points for an application
Publication Date: 2015.04.14 CA TECH INC
  • US9009680B2 patent drawing
  • US9009680B2 patent drawing
  • US9009680B2 patent drawing

AI summary

Instrumentation points are selected for an application by running the application with comprehensive instrumentation of its components in a development mode. The application can be run by a human operator and/or load simulator which provides requests to the application. The instrumented components are monitored as the application runs. A subset of the components is selected based on criteria such as an order in which the instrumented components are invoked, whether resource utilization, such as consumption of processor cycles, exceeds a threshold, or a frequency with which components are called or call other components, and only that subset is instrumented in a production mode of the application. In one approach, the subset includes components which are invoked when traffic to/from the application matches a pattern provided by an interaction model. As a result, relevant instrumentation points can be identified.