A method, apparatus, and computer instructions for programmatically
generating synthetic transactions to monitor performance and availability
of a Web application. The mechanism of the present invention may be
implemented as a Java 2 Platform Enterprise Edition (J2EE) transaction,
wherein the J2EE application is instrumented with
just-in-time-instrumentation (JITI). A JITI probe determines if a
customer request object contains a cookie. If not, the JITI probe inserts
a cookie into the response object. The cookie is used to track URIs
visited by the customer. An algorithm is used to identify the baseline
customer transaction path based on the URIs in the cookie. All baseline
customer transaction paths for all customers are then correlated to form
a unique transaction, wherein the unique transaction comprises the most
common tasks performed in the Web application. The Web application may
then be monitored by programmatically recording and scheduling playback
of the unique transaction.