IP Library Granted Patent US 7,401,143
Granted Patent B2
US 7,401,143 · App. 10/792,145 · Granted Jul 15, 2008

System and methods for monitoring application server performance

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,401,143
App. No.
10/792,145
Granted
Jul 15, 2008
Kind
B2
Abstract

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.

Claims (22)

1. A computer hardware implemented method for analyzing the operation of a web site system that comprises an application server, the method comprising:

during execution of a user transaction that invokes an application on the application server, monitoring execution of the application with a probe that runs on the application server to measure execution times associated with each of a plurality of application components invoked by the user transaction, to thereby generate a set of transaction-specific time measurements, wherein the user transaction is an agent-generated transaction that includes encoded information that causes the probe to monitor execution of the application; and

incorporating the set of transaction-specific time measurements into a report that provides a transaction-specific breakdown of times spent by each of the plurality of application components during processing by the application server of the user transaction.

2. The method of claim 1 , further comprising monitoring execution of the user transaction from a location external to the web site system to measure a transaction response time indicative of performance of the web site as seen by an end user, whereby the method collects web site performance data sufficient to assess an impact each of the application components has on transaction performance as seen by end users.

3. The method of claim 1 , wherein the probe measures said execution times at a component method level.

4. The method of claim 1 , wherein the user transaction is a real user transaction initiated by an actual user of the web site system.

5. The method of claim 1 , further comprising dynamically instrumenting code of the plurality of application components to enable execution of the application components to be monitored.

6. The method of claim 1 , wherein the breakdown displays average execution times for each of a plurality of types of application components.

7. A web site monitoring system that performs the method of claim 1 .

8. A hardware system for analyzing the operation of a web site system that comprises an application server, the system comprising:

an agent computer configured to access the web site system as a emulated user thereof to execute a transaction that invokes the application server;

a probe that runs on the application server and monitors the application server during execution of the transaction, wherein the probe generates and reports data indicative of execution times of each of a plurality of application components executed by the application server as part of the transaction; and

a reports server that receives said data indicative of the execution times of each of the plurality of application components, and provides a breakdown indicating an amount of time spent by each of the plurality of application components executing the transaction;

wherein the agent computer is configured to initiate execution of the transaction by sending to the web site system a request message that contains encoded data indicating that the transaction should be monitored by the probe, and wherein the probe is responsive to the encoded data by monitoring execution of the transaction on the application server.

9. The system of claim 8 , wherein the agent computer measures and reports transaction response times associated with execution of the transaction, and the reports server presents said transaction response times in association with said breakdown, such that an operator may assess an impact of a particular application component on transaction response times experienced by web site users.

10. The system of claim 8 , wherein the probe includes a code instrumentation component that dynamically instruments the application components at load time.

11. The system of claim 10 , wherein the code instrumentation component selects application components to instrument based on configuration data specified by a user.

12. The system of claim 10 , further comprising a user interface that displays a listing of application components installed on the application server, and provides functionality for an operator to select specific application components from the listing to instrument for monitoring.

13. The system of claim 8 , wherein the data generated and reported by the probe indicates execution times of each of a plurality of methods of an application component, and the reports server displays a breakdown of time spent by each such method on the transaction.

14. The system of claim 8 , wherein the reports server provides said breakdown separately for each of a plurality of transactions.

15. The system of claim 8 , wherein the reports server displays within said breakdown at least the following: a servlet time, a session EJB time, and an entity EJB time.

16. The system of claim 8 , further comprising a controller that provides functionality for assigning transactions to the agent computer, wherein the controller provides an option for a user to specify whether a transaction is to be monitored by the probe.

Assignments (9)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2007
From: MERCURY INTERACTIVE, LLC
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 019466/0029 →
CHANGE OF NAME Recorded Jun 18, 2007
From: MERCURY INTERACTIVE CORPORATION
To: MERCURY INTERACTIVE, LLC
Reel/Frame 019440/0564 →