Method and system for tracing end-to-end transaction which accounts for content update requests
First Claim
1. A computer-implemented method for determining a performance metric of a web browser displaying web content and executing on a computing device, comprising:
- instrumenting a request handling method with a request handling sensor, the request handling sensor operating to inject a browser agent into the web content;
detecting, by the browser agent, user input elements in the web content displayed by the web browser;
instrumenting, by the browser agent, each detected user input elements, where the user input elements were not previously instrumented and the action sensor generates an action event indicative of a user interaction with the corresponding user input element;
detecting, by the browser agent, update mechanisms in the web content that send content update requests to a server which is located remotely from the computing device; and
instrumenting, by the browser agent, each of the detected update mechanisms with an action sensor, where the detected update mechanisms were not previously instrumented and the action sensor generates an action event indicative of a content update request sent by the corresponding update mechanism;
capturing a first action event at the browser agent which is executing on the client computing device, where the first action event is indicative of a user interaction with a user interaction element on the web browser and the first action event identifies the user interaction element by name and type of user interaction element and the type of user interaction is selected from a plurality of different types of user interactions;
capturing a second action event at the browser agent, where the second action event is caused by the first action and is indicative of a content update request sent from the web browser by a script contained in the web content to a server which is located remotely from the computing device, the content update request causes an update to a portion of the web content displayed by the web browser without updating all of the web content displayed by the web browser;
associating, by the browser agent, the second action event with the first action event;
creating, by the browser agent, an action record for the user interaction, where the action record includes an identifier for the user interaction and a performance metric that is related to the user interaction and accounts for the second action event; and
sending, by the browser agent, the action record over a data network to a monitoring node located remotely from the computing device.
11 Assignments
0 Petitions
Accused Products
Abstract
A system is provided for tracing end-to-end transactions. The system uses bytecode instrumentation and a dynamically injected agent to gather web server side tracing data, and a browser agent which is injected into browser content to instrument browser content and to capture tracing data about browser side activities. Requests sent during monitored browser activities are tagged with correlation data. On the web server side, this correlation information is transferred to tracing data that describes handling of the request. This tracing data is sent to an analysis server which creates tracing information which describes the server side execution of the transaction and which is tagged with the correlation data allowing the identification of the causing browser side activity. The analysis server receives the browser side information, finds matching server side transactions and merges browser side tracing information with matching server side transaction information to form tracing information that describes end-to-end transactions.
-
Citations
31 Claims
-
1. A computer-implemented method for determining a performance metric of a web browser displaying web content and executing on a computing device, comprising:
-
instrumenting a request handling method with a request handling sensor, the request handling sensor operating to inject a browser agent into the web content; detecting, by the browser agent, user input elements in the web content displayed by the web browser; instrumenting, by the browser agent, each detected user input elements, where the user input elements were not previously instrumented and the action sensor generates an action event indicative of a user interaction with the corresponding user input element; detecting, by the browser agent, update mechanisms in the web content that send content update requests to a server which is located remotely from the computing device; and instrumenting, by the browser agent, each of the detected update mechanisms with an action sensor, where the detected update mechanisms were not previously instrumented and the action sensor generates an action event indicative of a content update request sent by the corresponding update mechanism; capturing a first action event at the browser agent which is executing on the client computing device, where the first action event is indicative of a user interaction with a user interaction element on the web browser and the first action event identifies the user interaction element by name and type of user interaction element and the type of user interaction is selected from a plurality of different types of user interactions; capturing a second action event at the browser agent, where the second action event is caused by the first action and is indicative of a content update request sent from the web browser by a script contained in the web content to a server which is located remotely from the computing device, the content update request causes an update to a portion of the web content displayed by the web browser without updating all of the web content displayed by the web browser; associating, by the browser agent, the second action event with the first action event; creating, by the browser agent, an action record for the user interaction, where the action record includes an identifier for the user interaction and a performance metric that is related to the user interaction and accounts for the second action event; and sending, by the browser agent, the action record over a data network to a monitoring node located remotely from the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A performance management system that measure end user performance in a distributed computing environment, comprising:
-
a web browser displaying web content and executing on a client computing device; a browser agent executing on the client computing device and being injected into the web content by a request sensor and further comprises; an instrumentation section that detects user input elements in the web content and instruments each of the detected user input element in the web content with an action sensor, where the user input elements were not previously instrumented and the action sensor generates an action event indicative of a user interaction with the corresponding user input element; the instrumentation section further detects update mechanisms that send content update requests to a web server and instruments each of the detected update mechanisms with an action sensor, where the action sensor generates an action event indicative of a content update request sent by the corresponding update mechanism; an action data manager configured to receive a first action event indicative of a user interaction with the web browser, where the first action event is indicative of a user interaction with a user interaction element on the web browser and the first action event identifies the user interaction element by name and type of user interaction element and the type of user interaction is selected from a plurality of different types of user interactions; wherein the action data manager is configured to receive a second action event and associate the second action event with the first action event, where the second action event caused by the first action and is indicative of a content update request sent from the web browser by a script contained in the web content to a server which is located remotely from the computing device, the content update request causes an update to a portion of the web content displayed by the web browser without updating all of the web content displayed by the web browser; a correlation data manager configured to receive the first action event from the action data manager and operates to update correlation data with an identifier for the user interaction, where the correlation data is maintained by the correlation data manager in a data store residing on the client computing device and is appended by the browser agent to requests sent from the web browser to a web server; a request handling method configured, at a web server, to receive a request from the web browser, create a request record for the request and send the request record over a data network to the monitor computing device located remotely from the web server; and an event correlator executing on the monitor computing device, the event correlator configured to receive the action record and the request record and operate to associate the request record with the action record. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A performance management system that measure end user performance in a distributed computing environment, comprising:
-
a web browser displaying web content and executing on a client computing device; a browser agent executing on the client computing device and being injected into the web content by a request sensor and further includes; an instrumentation section that detects user input elements in the web content and instruments each of the detected user input element in the web content with an action sensor, where the user input elements were not previously instrumented and the action sensor generates an action event indicative of a user interaction with the corresponding user input element; the instrumentation section further detects update mechanisms that send content update requests to the web server and instruments each of the detected update mechanisms with an action sensor, where the action sensor generates an action event indicative of a content update request sent by the corresponding update mechanism; an action data manager configured to receive an action event indicative of the web browser loading new content, create an action record for the action event and send the action record over a data network to a monitor computing device located remotely from the client computing device, where the first action event is indicative of a user interaction with a user interaction element on the web browser and the first action event identifies the user interaction element by name and type of user interaction element and the type of user interaction is selected from a plurality of different types of user interactions, wherein the action record includes the name of the user interaction element, the type of user interaction element, a start timestamp indicating an occurrence of the user interaction, an end timestamp indicating an end to any content updates caused by update requests caused by the user interaction, and a performance metric that is related to the user interaction; wherein the action data manager is configured to receive a second action event and associate the second action event with the first action event, where the second action event is caused by the first action and is indicative of a content update request sent from the web browser by a script contained in the web content to a server which is located remotely from the computing device, the content update request causes an update to select elements displayed by the web browser without updating all of the elements displayed by the web browser; and a request handling method configured, at a web server, to receive a request for the new content from the web browser, create a request record for the request and send the request record over a data network to the monitor computing device located remotely from the web server; and an event correlator executing on the monitor computing device, the event correlator configured to receive the action record and the request record and operate to associate the action record with the request record.
-
Specification