Method and Apparatus for Measuring Web Site Performance
First Claim
1. A method of monitoring a transaction between a client and a server in a computer network, comprising:
- at a first server time, receiving a client request directed to the server and forwarding the client request for service;
at a second server time, inserting a script into a server response stream;
returning the server response stream including the script in response to the client request; and
at a third server time, receiving a packet from the client that includes a page render time generated by execution of the script at the client.
0 Assignments
0 Petitions
Accused Products
Abstract
A web site is provisioned with a proxy that receives a page request intended for the server and records a first time. The page request is then forwarded to the server for response. The response stream generated by the server is intercepted at the proxy at a second time. As the stream is forwarded to the requesting client, the proxy inserts a page script that, upon execution at the client, calculates a page render time. This time is determined by calculating the difference between a third time (the time at which the page script begins execution at the client) and a fourth time (a time at which the page rendering is complete). Upon completion of the page rendering, the script opens a connection back to the server and returns a packet that includes the page render time. This packet is received at a fifth time. A transaction record is then built by the proxy using the timestamp data.
-
Citations
26 Claims
-
1. A method of monitoring a transaction between a client and a server in a computer network, comprising:
-
at a first server time, receiving a client request directed to the server and forwarding the client request for service; at a second server time, inserting a script into a server response stream; returning the server response stream including the script in response to the client request; and at a third server time, receiving a packet from the client that includes a page render time generated by execution of the script at the client. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9)
-
-
6. (canceled)
-
10. A method of monitoring a transaction between a client and a server in a computer network, comprising:
-
at a proxy, receiving a page request intended for the server; calculating a request service time; as a response stream is passed through the proxy, inserting a page script into the response stream that, upon execution at the client, generates a page render time; and calculating an estimated total round trip time using the request service time and the page render time.
-
-
11. A method of monitoring a transaction between a client and a server in a computer network, comprising:
-
upon receipt of a page from the server, executing a script to generate a value identifying a page render time; and upon completion of the page download, and without user input, returning the valve to a proxy. - View Dependent Claims (12, 13)
-
-
14. A method operative within a firewall at a web server, comprising:
-
upon receipt of a page request, recording a first time T1 and forwarding the page request to the server; upon receipt of a response stream from the server, recording a second time T2; inserting a script into a response stream; forwarding the response stream together with the script back to the client; using the script to calculate a page render time at the client by determining a difference between a fourth time T4 and a third time T3; and upon receipt of a given packet, recording a fifth time T5; and saving in a transaction record given performance metrics calculated from the times T1−
T5. - View Dependent Claims (15, 16, 18)
-
-
17. (canceled)
-
19. A method of augmenting a response stream generated by a server in response to a client request, comprising:
inserting a script into the response stream that, upon execution at a client, (a) calculates a page render time, (b) opens a connection back to the server, and (c) returns the page render time to the server without user input.
-
20. A computer program product in a computer useable storage medium, comprising:
-
code for receiving a client request directed to a server, recording a first time, and forwarding the client request for service; code for receiving a response stream from the server, recording a second time, and inserting a script into a server response stream as the stream is served back to the client; and code for receiving a packet from the client, recording a third time, and generating a transaction record. - View Dependent Claims (21, 22, 23)
-
-
24. In a web site having a server data processing system comprising a data processor, and a data store operably coupled to the server data processing system, the improvement comprising:
a proxy comprising; code for receiving a client request directed to the server data processing system, recording a first time, and forwarding the client request to the server data processing system for service; code for receiving a response stream from the server data processing system, recording a second time, and inserting a script into a server response stream as the stream is served back to the client; and code for receiving a packet from the client, recording a third time, and generating a transaction record. - View Dependent Claims (25, 26)
Specification