IP Library Granted Patent US 10,802,944
Granted Patent B2
US 10,802,944 · App. 16/255,741 · Granted Oct 13, 2020

Dynamically maintaining alarm thresholds for software application performance management

Inventors: Brian Toal (San Francisco, CA); Dean Tupper (San Francisco, CA)
Assignee: SALESFORCE.COM, INC.
G06F11/3604G06F16/953
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 10,802,944
App. No.
16/255,741
Granted
Oct 13, 2020
Kind
B2
Abstract

Embodiments of the present disclosure relate to dynamically maintaining alarm thresholds for software application performance management. Other embodiments may be described and/or claimed.

Claims (47)

1. A system comprising:

a processor; and

memory coupled to the processor and storing instructions that, when executed by the processor, cause the system to perform operations comprising:

querying a database to retrieve a plurality of values for each of a plurality of computer system performance metrics, the values collected over a predetermined time period;

determining a first threshold value for a first performance metric from the plurality of performance metrics;

determining a second threshold value for a second performance metric from the plurality of performance metrics;

determining a third threshold value for a third performance metric from the plurality of performance metrics;

analyzing the plurality of performance metric values in relation to the first threshold value, the second threshold value, and the third threshold value;

generating, based on the analysis of the plurality of performance metric values, an alert indicating that a value for the first performance metric exceeds the first threshold value;

determining an average of values for the second performance metric from the plurality of values;

comparing the average of values for the second performance metric to the second threshold value;

modifying the second threshold value based on the analysis of the plurality of performance metric values and in response to the average of values for the second performance metric exceeding the second threshold value by a predetermined amount; and

identifying a passed run for the third performance metric in response to a value for the third performance metric being less than the third threshold value by less than a predetermined amount.

2. The system of claim 1 , wherein analyzing the plurality of performance metric values in relation to the first threshold value includes determining an average of values for the first performance metric from the plurality of values, and comparing the average of values for the first performance metric to the first threshold value.

3. The system of claim 2 , wherein the average of values for the first performance metric are determined from a subset of values from the plurality of values, the subset of values corresponding to a subset of the predetermined time period.

4. The system of claim 2 , wherein the alert is generated in response to the average of values for the first performance metric exceeding the first threshold value by a predetermined amount.

5. The system of claim 1 , wherein the database is queried a plurality of times, and wherein each query retrieves a respective plurality of values for each of a respective plurality of computer system performance metrics collected over a respective predetermined time period.

6. The system of claim 1 , wherein the first threshold value and the second threshold value are stored in a lookup table, and wherein analyzing the plurality of performance metric values in relation to the first threshold value and the second threshold value includes retrieving the lookup table.

7. The system of claim 1 , wherein modifying the second threshold value includes setting the second threshold value to be the average of values for the second performance metric.

8. A tangible, non-transitory computer-readable medium storing instructions that, when executed by a computer system, cause the computer system to perform operations comprising:

querying a database to retrieve a plurality of values for each of a plurality of computer system performance metrics, the values collected over a predetermined time period;

determining a first threshold value for a first performance metric from the plurality of performance metrics;

determining a second threshold value for a second performance metric from the plurality of performance metrics;

determining a third threshold value for a third performance metric from the plurality of performance metrics;

analyzing the plurality of performance metric values in relation to the first threshold value, the second threshold value, and the third threshold value;

generating, based on the analysis of the plurality of performance metric values, an alert indicating that a value for the first performance metric exceeds the first threshold value;

determining an average of values for the second performance metric from the plurality of values;

comparing the average of values for the second performance metric to the second threshold value;

modifying the second threshold value based on the analysis of the plurality of performance metric values and in response to the average of values for the second performance metric exceeding the second threshold value by a predetermined amount; and

identifying a passed run for the third performance metric in response to a value for the third performance metric being less than the third threshold value by less than a predetermined amount.

9. The tangible, non-transitory computer-readable medium of claim 8 , wherein analyzing the plurality of performance metric values in relation to the first threshold value includes determining an average of values for the first performance metric from the plurality of values, and comparing the average of values for the first performance metric to the first threshold value.

10. The tangible, non-transitory computer-readable medium of claim 9 , wherein the average of values for the first performance metric are determined from a subset of values from the plurality of values, the subset of values corresponding to a subset of the predetermined time period.

11. The tangible, non-transitory computer-readable medium of claim 9 , wherein the alert is generated in response to the average of values for the first performance metric exceeding the first threshold value by a predetermined amount.

12. The tangible, non-transitory computer-readable medium of claim 8 , wherein the database is queried a plurality of times, and wherein each query retrieves a respective plurality of values for each of a respective plurality of computer system performance metrics collected over a respective predetermined time period.

13. The tangible, non-transitory computer-readable medium of claim 8 , wherein the first threshold value and the second threshold value are stored in a lookup table, and wherein analyzing the plurality of performance metric values in relation to the first threshold value and the second threshold value includes retrieving the lookup table.

14. The tangible, non-transitory computer-readable medium of claim 8 , wherein modifying the second threshold value includes setting the second threshold value to be the average of values for the second performance metric.

15. A method comprising:

querying a database, by a computer system, to retrieve a plurality of values for each of a plurality of computer system performance metrics, the values collected over a predetermined time period;

determining, by the computer system, a first threshold value for a first performance metric from the plurality of performance metrics;

determining, by the computer system, a second threshold value for a second performance metric from the plurality of performance metrics;

determining, by the computer system, a third threshold value for a third performance metric from the plurality of performance metrics;

analyzing, by the computer system, the plurality of performance metric values in relation to the first threshold value, the second threshold value, and the third threshold value;

generating, by the computer system based on the analysis of the plurality of performance metric values, an alert indicating that a value for the first performance metric exceeds the first threshold value;

determining an average of values for the second performance metric from the plurality of values;

comparing the average of values for the second performance metric to the second threshold value; and

modifying the second threshold value, by the computer system, based on the analysis of the plurality of performance metric values and in response to the average of values for the second performance metric exceeding the second threshold value by a predetermined amount; and

identifying a passed run for the third performance metric in response to a value for the third performance metric being less than the third threshold value by less than a predetermined amount.

Assignments (2)
CHANGE OF NAME Recorded Oct 30, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065394/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2019
From: TOAL, BRIAN; TUPPER, DEAN
To: SALESFORCE.COM, INC.
Reel/Frame 048122/0742 →
Continuity (1)
Related Publication 20200233775A1 · Jul 23, 2020
Cited By (2)
US 12,321,784 US 12,585,652