JavaScript Injection

You can customize the data that is collected by the Response Time Monitoring agent for display in the End User Transactions dashboards.

To ensure a good user experience for a web-based application, you must monitor the performance that is perceived by the actual users. This means monitoring at the browser level.

To be able to monitor at the browser level, you need to inject JavaScript Monitoring Code into the pages that you want to monitor. This code then collects data for particular browser timings.

This is done using JavaScript Injection in the web pages and objects that you want to monitor. Depending on the type of HTTP server that you installed your Response Time Monitoring agent on, there are two methods you can use to collect real end-user transaction response time information.
  • If you are using an IBM HTTP Server or an Apache HTTP server, use IBM HTTP Server Response Time module. The IBM HTTP Server Response Time module automatically does JavaScript Injection. The IBM HTTP Server Response Time module is a component of the HTTP Server agent. It is installed and configured as part of the HTTP Server agent. For more information, see IBM HTTP Server Response Time module.
  • If you are using any other supported HTTP server, use Packet Analyzer. With Packet Analyzer, you must manually instrument your web pages to collect browser timings. For more information, see Adding the JavaScript monitoring component to your application.
The following table shows the features that are available in the Application Performance Dashboard if you configure your environment for Packet Analyzer or IBM HTTP Server Response Time module:
  Packet Analyzer IBM HTTP Server Response Time module
Transactions Top 10 Yes Yes
Server Time Yes Yes
Render Time Breakdown No Yes
AJAX Subtransactions Yes Yes
Resource Timing data in Subtransactions table No Yes
Transaction Instances (Top 10) Yes Yes
Transaction Instance Topology Yes Yes
Application Topology Yes Yes
Automatic instrumentation of JavaScript Injection N/A Yes