Method and system for tracing end-to-end transaction, including browser side processing and end user performance experience
First Claim
1. A computer-implemented method for determining a performance metric of a web browser executing on a computing device, comprising:
- identifying, by an agent instrumented to a web server, a request handling method of the web server, where the request handling method is implemented by executable instructions executing on the web server and the web server is located over a network remotely from the computing device;
instrumenting, by the agent, the request handling method with a request entry sensor, where the request entry sensor is implemented by executable instructions executing in conjunction with the execution of the request handling method and where the request entry sensor monitors the execution of the request handling method;
detecting, by the request entry sensor, the processing of a request for content performed by the request handling method, where the request for content is received from the web browser executing on the computing device;
providing, by the request handling method, content in response to receiving the request for content from the web browser;
formulating, by the request handling method, a response to the content request, where the created response contains the retrieved content;
adding, by the request entry sensor, a session identifier and a request identifier to the formulated response to create an instrumented response, where the session identifier identifies an instance of the web browser and the request identifier identifies the requested content;
determining, by the request entry sensor, whether the retrieved content is capable of hosting a browser agent, where the browser agent is a script that is executed by the computing device;
injecting, by the request entry sensor, a browser agent into the retrieved content in the instrumented response, where the injection of the browser agent is in response to a determination that the retrieved content is capable of hosting the browser agent; and
sending, by the request handling method, the instrumented response to the web browser.
7 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.
10 Citations
25 Claims
-
1. A computer-implemented method for determining a performance metric of a web browser executing on a computing device, comprising:
-
identifying, by an agent instrumented to a web server, a request handling method of the web server, where the request handling method is implemented by executable instructions executing on the web server and the web server is located over a network remotely from the computing device; instrumenting, by the agent, the request handling method with a request entry sensor, where the request entry sensor is implemented by executable instructions executing in conjunction with the execution of the request handling method and where the request entry sensor monitors the execution of the request handling method; detecting, by the request entry sensor, the processing of a request for content performed by the request handling method, where the request for content is received from the web browser executing on the computing device; providing, by the request handling method, content in response to receiving the request for content from the web browser; formulating, by the request handling method, a response to the content request, where the created response contains the retrieved content; adding, by the request entry sensor, a session identifier and a request identifier to the formulated response to create an instrumented response, where the session identifier identifies an instance of the web browser and the request identifier identifies the requested content; determining, by the request entry sensor, whether the retrieved content is capable of hosting a browser agent, where the browser agent is a script that is executed by the computing device; injecting, by the request entry sensor, a browser agent into the retrieved content in the instrumented response, where the injection of the browser agent is in response to a determination that the retrieved content is capable of hosting the browser agent; and sending, by the request handling method, the instrumented response to the web browser. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A performance management system that measure end user performance in a distributed computing environment, comprising:
-
an agent instrumented in a web server on a server computer, where the agent identifies a request handling method of the web server and instruments the request handling method with a request entry sensor, where the agent and the request entry sensor are implemented by executable instructions executing by a processor of the server computer; the request handling method formulates a response to a request for content from a web browser and provides the response to the web browser, where the response contains the requested content and the web browser resides on a computer device located over a network remotely from the server computer; and the request entry sensor detects processing of the request for content performed by the request handling method and adds a session identifier and a request identifier to the formulated response to create an instrumented response, where the session identifier identifies an instance of the web browser and the request identifier identifies the requested content; the request entry sensor further determines whether the retrieved content is capable of hosting a browser agent, and injects a browser agent into the requested content in the instrumented response, where the browser agent is a script that is executed by the computing device and the injection of the browser agent is in response to a determination that the requested content is capable of hosting the browser agent. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification