A monitoring system monitors the amount of time spent by specific
application components, such as Java components, during execution of
specific web site transactions. A probe that runs on an application
server initially instruments these components (preferably at component
load time) to add code for tracking execution start and stop times. When
a monitored transaction is executed by the application server, the probe
measures the execution times of the invoked components--preferably at the
component method level. The resulting measurement data is reported to a
reports server, and is used to provide transaction-specific breakdowns of
the amount of time spent by each instrumented component, and optionally
each instrumented method within such components. In one embodiment, the
probe only monitors transactions initiated by agent-generated transaction
request messages that are marked or "colored" for monitoring, and thus
ignores transactions initiated by actual users.