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.