Browser Agent for Third-Party Resource Performance Measurement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for monitoring the performance of third-party resource requests in web applications are intrusive, require application-specific configurations, and provide inaccurate data due to simulated user interactions, limiting their ability to measure real user experiences and location-based performance deviations.

Innovation Solution

A non-intrusive, browser-based system that detects and measures third-party resource load requests independently of the application, using a browser agent to track user-triggered activities, correlate performance data, and provide detailed metrics on third-party resource loading, including location-dependent performance variations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If virtual user agents are used to monitor performance, then performance data can be collected, but the data quality is limited to random samples and cannot accurately represent real user experiences

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidrepresentation of real user experiences
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent uses real browser instances to copy actual user interactions rather than using virtual user agents that simulate interactions. The system instruments real browsers with monitoring code that captures genuine user behavior, including real clicks, scrolls, and navigation patterns, providing authentic performance data that accurately represents real user experiences.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The monitoring system leverages the browser's own capabilities to collect performance data. By injecting instrumentation code into the user's actual browser, the system enables the browser itself to report its own performance metrics, eliminating the need for external virtual agents and ensuring the data reflects genuine browser behavior.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If virtual user agents send requests to monitor performance, then performance metrics can be obtained, but the monitored application generates additional load which reduces the number of available samples

Engineering Contradiction:
Improveperformance metrics qualityVSAvoidnumber of available samples
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

Instead of virtual user agents creating additional load, the system copies performance data directly from real user interactions. The instrumentation code in the user's browser captures performance metrics as they naturally occur during genuine user activity, eliminating the need for separate monitoring requests and preserving the full set of available performance samples.

Inventive Principle:
Principle #26Copying

3Extent of automation

If virtual user agents simulate user interactions, then performance data can be collected, but the system requires manual configuration and customization for each application update

Engineering Contradiction:
Improveperformance monitoring automationVSAvoidapplication-specific configuration requirements
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal monitoring solution that works across different applications without requiring application-specific configuration. The instrumentation code is injected into the user's browser and automatically adapts to any web application, capturing performance data from any third-party resource requests regardless of the specific application or its updates.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The monitoring system automatically adapts to application changes by leveraging the user's actual interactions with updated applications. When an application updates, real users naturally interact with the new version, and the instrumentation code automatically captures performance data from these genuine interactions without requiring manual reconfiguration of monitoring scripts.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If browser-based instrumentation is used to detect third-party requests, then accurate real-user performance data can be collected, but the system complexity increases due to client-side implementation

Engineering Contradiction:
Improvethird-party resource performance accuracyVSAvoidbrowser agent instrumentation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system copies the browser's existing resource loading and execution mechanisms rather than creating separate monitoring infrastructure. By instrumenting the browser to capture performance data from actual resource requests as they occur during normal operation, the system achieves high measurement precision while keeping the implementation complexity manageable through reuse of existing browser capabilities.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9356842B2Method and system for browser based, non-intrusive measuring of end-user perceived performance of individual third party resource requests
Publication Date: 2016.05.31 DYNATRACE LLC
  • US9356842B2 patent drawing
  • US9356842B2 patent drawing
  • US9356842B2 patent drawing

AI summary

A performance management system is provided that measures end user performance in a distributed computing environment. The system detects DOM updates caused by browser side activities, and identifies resource load requests introduced by a DOM update that request resource from third party sources. For such resource load requests, resource sensors are installed which detect the point in time when loading the resource was finished. This allows to measure load time for individual resource load requests requesting third party resources, and to assign the tracing and performance monitoring data describing those resource load requests to the tracing and performance monitoring data describing the browser side transaction execution that caused the third party resource loads.