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;
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; and
generating a transaction record that includes given performance metric data, wherein the performance metric data includes a server response time calculated by subtracting the first server time from the second server time.
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
17 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; 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; and generating a transaction record that includes given performance metric data, wherein the performance metric data includes a server response time calculated by subtracting the first server time from the second server time. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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 and recording a first time; calculating a request service time; as a response stream is passed through the proxy, recording a second time and inserting a page script into the response stream that, upon execution at the client, generates a page render time; receiving a packet from the client and recording a third time, wherein the packet includes the page render time generated by executing the page script at the client; generating an approximate network time by subtracting the page render time from a value generated by a difference between the second time and the third time; and calculating an estimated total round trip time using the request service time and the page render time.
-
-
8. 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, wherein the value is generated by;
(i) at a first time, reading the script, (ii) determining when the page has been rendered, (iii) when the page has been rendered, identifying a second time, and (iv) subtracting the first time from the second time; andupon completion of the page download, and without user input, returning the valve to a proxy, wherein the value is returned to the proxy by having the script open a connection to the proxy.
-
-
9. 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, wherein the given performance metrics include total round trip time calculated as T5−
T1. - View Dependent Claims (10, 11)
-
-
12. A method of augmenting a response stream generated by a server in response to a client request, comprising:
-
receiving a page request intended for the server and recording a first time; recording a second time and 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; receiving a packet from the client and recording a third time, wherein the packet includes the page render time generated by executing the script at the client; generating an approximate network time by subtracting the page render time from a value generated by a difference between the second time and the third time; and generating a transaction record that includes given performance metric data, wherein the performance metric data includes a server response time calculated by subtracting the first time from the second time.
-
-
13. A computer program product in a non-transitory 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; code for receiving a packet from the client, recording a third time, and generating a transaction record, wherein the packet includes a page render time generated by executing the script on the client; and code for generating an approximate network time by subtracting the page render time from a value generated by a difference between the second time and the third time. - View Dependent Claims (14)
-
-
15. 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; code for receiving a packet from the client, recording a third time, and generating a transaction record, wherein the packet includes a page render time generated by executing the script on the client; and code for generating an approximate network time by subtracting the page render time from a value generated by a difference between the second time and the third time. - View Dependent Claims (16, 17)
Specification