IP Library Granted Patent US 7,937,690
Granted Patent B2
US 7,937,690 · App. 11/439,457 · Granted May 3, 2011

Evaluating performance of software application

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,937,690
App. No.
11/439,457
Granted
May 3, 2011
Kind
B2
Abstract

A method of evaluating software application performance includes receiving, in an evaluation module in a computer system and from an application program: 1) a first call indicating that execution begins of a predefined portion of the application program, and then 2) a second call indicating that the execution of the predefined portion ends, the evaluation module being configured to receive similar calls from any of several application programs in the computer system. It is determined, in configuration information for the application program that is available to the evaluation module, whether a duration time between the first and second calls exceeds a predefined time specified in the configuration information. Upon determining that the duration time exceeds the predefined time, a message is forwarded from the evaluation module to a recipient, the message and the recipient being specified in the configuration information. Configuration information may specify performance of tracing or usage tracking.

Claims (36)

1. A method of evaluating performance of a software application, the method comprising:

receiving, in an evaluation module in a computer system and from an application program: 1) a first call indicating that execution begins of a predefined portion of the application program, and then 2) a second call indicating that the execution of the predefined portion ends, the evaluation module being configured to receive similar calls from any of several application programs in the computer system;

determining, in configuration information for the application program that is available to the evaluation module, whether a duration time between the first and second calls exceeds a predefined time specified in the configuration information; and

upon determining that the duration time exceeds the predefined time, forwarding a message from the evaluation module to a recipient, the message and the recipient being specified in the configuration information;

wherein the configuration information includes settings associated with respective portions of the application program having different granularity, wherein more granular settings more selectively identify portions of the application program to which the settings apply than do less granular settings, and wherein a most granular of the settings that applies to the first and second calls is applied in the determining.

2. The method of claim 1 , wherein the configuration information specifies several predefined times associated with respective messages, and wherein one of the messages corresponding to a longest one of the several predefined times that has been exceeded is forwarded to the recipient.

3. The method of claim 1 , further comprising determining whether the configuration information specifies that usage tracking of the execution is to be performed, further comprising initiating the usage tracking when so specified.

4. The method of claim 3 , wherein the usage tracking comprises capturing metrics as to who is using the predefined portion of the application program.

5. The method of claim 1 , further comprising determining, in response to the first call, whether the configuration information specifies that tracing of the execution is to be performed, further comprising initiating tracing, when so specified, and terminating the tracing after the second call.

6. The method of claim 5 , wherein the starting and terminating of the tracing, respectively, are performed by causing a message distributor to forward a trace message.

7. The method of claim 1 , further comprising generating a log message in response to the first and second calls, the log message being generated also when it is determined that the duration time does not exceed the predefined time.

8. The method of claim 7 , wherein the log message specifies the start and end of the execution.

9. The method of claim 7 , wherein the log message specifies a usage relating to the execution.

10. The method of claim 1 , wherein the configuration information includes:

a first setting specifying whether to generate a usage log;

a second setting specifying whether to generate a trace log; and

a third setting specifying at least the predefined time.

11. The method of claim 1 , wherein the several application programs have been adapted to make the first and second calls, the adaptation comprising executable code that is identical in all of the several application programs.

12. The method of claim 1 , wherein the predefined portion of the application program is at least one selected from the group consisting of: an application portion, a method, a web page, a web service, and combinations thereof.

13. A computer program product tangibly embodied in a non-transitory computer-readable medium, the computer program product including instructions that, when executed, cause a processor to perform operations comprising:

receiving, in an evaluation module in a computer system and from an application program: 1) a first call indicating that execution begins of a predefined portion of the application program, and then 2) a second call indicating that the execution of the predefined portion ends, the evaluation module being configured to receive similar calls from any of several application programs in the computer system;

determining, in configuration information for the application program that is available to the evaluation module, whether a duration time between the first and second calls exceeds a predefined time specified in the configuration information; and

upon determining that the duration time exceeds the predefined time, forwarding a message from the evaluation module to a recipient, the message and the recipient being specified in the configuration information;

wherein the configuration information includes settings associated with respective portions of the application program having different granularity, wherein more granular settings more selectively identify portions of the application program to which the settings apply than do less granular settings, and wherein the evaluation module applies a most granular of the settings that applies to the first and second calls.

14. A computer system for evaluating performance of a software application, the computer system comprising:

a processor;

several application programs, executable by the processor, at least one of which is configured to make: 1) a first call indicating that execution begins of a predefined portion of the application program, and then 2) a second call indicating that the execution of the predefined portion ends;

configuration information stored in the computer system, the configuration information specifying at least a message and at least a recipient associated with the at least one application program; and

an evaluation module, executable by the processor, configured to receive the first and second calls from any of the several application programs, the evaluation module determining, after receiving the second call and for the at least one application program, whether a duration time between the first and second calls exceeds a predefined time specified in the configuration information;

wherein the configuration information includes settings associated with respective portions of the application program having different granularity, wherein more granular settings more selectively identify portions of the application program to which the settings apply than do less granular settings, and wherein the evaluation module applies a most granular of the settings that applies to the first and second calls.

15. The computer system of claim 14 , wherein the evaluation module further determines whether the configuration information specifies that usage tracking of the execution is to be performed, and initiates the usage tracking when so specified.

16. The computer system of claim 14 , wherein the configuration information further specifies that tracing of the execution is to be performed, and wherein the evaluation module initiates the tracing after the first call and terminates the tracing after the second call by causing a message distributor to forward a trace message.

17. The computer system of claim 14 , wherein the several application programs have been adapted to make the first and second calls, the adaptation comprising executable code that is identical in all of the several application programs.

18. The computer system of claim 14 , wherein the configuration information further includes:

a first setting specifying whether to generate a usage log; and

a second setting specifying whether to generate a trace log.

Assignments (4)
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 Mar 25, 2009
From: ELECTRONIC DATA SYSTEMS, LLC
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 022449/0267 →
CHANGE OF NAME Recorded Mar 24, 2009
From: ELECTRONIC DATA SYSTEMS CORPORATION
To: ELECTRONIC DATA SYSTEMS, LLC
Reel/Frame 022460/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2006
From: CASEY, WILLIAM L.
To: ELECTRONIC DATA SYSTEMS CORPORATION
Reel/Frame 018221/0734 →