IP Library Granted Patent US 12,099,507
Granted Patent B2
US 12,099,507 · App. 18/165,927 · Granted Sep 24, 2024

Systems and methods for reducing the cardinality of metrics queries

Inventors: Behrooz Badii (Westport, CT); Yann Thomas Ramin (Folsom, CA)
Assignee: Bitdrift, Inc.
G06F16/24545G06F16/2452
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 12,099,507
App. No.
18/165,927
Granted
Sep 24, 2024
Kind
B2
Abstract

A computing platform may be configured to (i) perform an analysis of a saved query comprising an expression that specifies a set of one or more unique metrics for which metric data is to be fetched from a metrics management platform when the saved query is run, (ii) determine a strategy for reducing a cardinality level of the saved query based at least in part on the analysis of the saved query, and (iii) cause the saved query to be modified in accordance with the determined strategy for reducing the cardinality level of the saved query.

Claims (53)

1. A method implemented by a computing platform, the method comprising:

performing an analysis of a saved query comprising an expression that specifies a set of unique metrics for which metric data is to be fetched from a metrics management platform when the saved query is run;

determining a strategy for reducing a cardinality level of the saved query based at least in part on the analysis of the saved query, wherein the determined strategy for reducing the cardinality level of the saved query comprises:

defining at least one composite metric that is derived from a respective subset of the unique metrics in the set of unique metrics, wherein metric data for the at least one composite metric is to be produced by one or both of the metrics management platform or a given metrics consumer that is configured to run the saved query; and

modifying the expression of the saved query by replacing a request to fetch at least some portion of the metric data for the respective subset of the unique metrics with a request to fetch metric data for the at least one composite metric; and

causing the saved query to be modified in accordance with the determined strategy for reducing the cardinality level of the saved query.

2. The method of claim 1 , further comprising:

prior to determining the strategy for reducing the cardinality level of the saved query, determining that the saved query is a candidate for cardinality reduction based at least in part on the analysis of the saved query.

3. The method of claim 2 , wherein determining that the saved query is a candidate for cardinality reduction based at least in part on the analysis of the saved query comprises:

determining that the saved query can be modified to achieve some level of reduction in an extent of samples that are to be fetched during a respective run of the saved query.

4. The method of claim 1 , wherein performing the analysis of the saved query comprises one or more of (i) evaluating how many unique metrics are specified by the saved query, (ii) evaluating how many samples are to be fetched for each unique metric specified by the saved query, or (iii) evaluating which types of operations are applied by the saved query.

5. The method of claim 1 , wherein the determined strategy for reducing the cardinality level of the saved query further comprises:

configuring the metrics management platform to begin producing and storing metric data for the at least one composite metric.

6. The method of claim 5 , wherein the determined strategy for reducing the cardinality level of the saved query further comprises:

configuring the metrics management platform to either (i) block storage of metric data for the respective subset of the unique metrics or (ii) store metric data for the respective subset of the unique metrics in a lower storage tier.

7. The method of claim 5 , wherein causing the saved query to be modified in accordance with the determined strategy for reducing the cardinality level of the saved query comprises:

instructing the given metrics consumer to modify the saved query so that the expression of the saved query encodes the request to fetch metric data for the at least one composite metric.

8. The method of claim 5 , wherein the expression of the saved query encodes an aggregation operation that is to be applied to fetched metric data for the respective subset of the unique metrics, wherein the at least one composite metric that is derived from the respective subset of the unique metrics comprises a composite metric that is derived by applying an aggregation operation to metric data for the respective subset of the unique metrics, and wherein replacing the request to fetch at least some portion of the metric data for the respective subset of the unique metrics with the request to fetch metric data for the at least one composite metric comprises:

removing the aggregation operation from the expression of the saved query.

9. The method of claim 1 , wherein the determined strategy for reducing the cardinality level of the saved query further comprises:

configuring the given metrics consumer to begin (i) extracting metric data for the at least one composite metric that is produced during runs of the saved query, and (ii) transmitting the extracted metric data for the at least one composite metric to the metrics management platform for storage.

10. The method of claim 9 , wherein causing the saved query to be modified in accordance with the determined strategy for reducing the cardinality level of the saved query comprises:

instructing an agent installed on the given metrics consumer to begin (i) extracting metric data for the at least one composite metric that is produced during runs of the saved query and (ii) transmitting the extracted metric data for the at least one composite metric to the metrics management platform for storage; and

instructing the given metrics consumer to modify the saved query so that the expression of the saved query encodes the request to fetch metric data for the at least one composite metric.

11. A non-transitory computer-readable medium comprising program instructions stored thereon that are executable to cause a computing platform to perform functions comprising:

performing an analysis of a saved query comprising an expression that specifies a set of unique metrics for which metric data is to be fetched from a metrics management platform when the saved query is run;

determining a strategy for reducing a cardinality level of the saved query based at least in part on the analysis of the saved query, wherein the determined strategy for reducing the cardinality level of the saved query comprises:

defining at least one composite metric that is derived from a respective subset of the unique metrics in the set of unique metrics, wherein metric data for the at least one composite metric is to be produced by one or both of the metrics management platform or a given metrics consumer that is configured to run the saved query; and

modifying the expression of the saved query by replacing a request to fetch at least some portion of the metric data for the respective subset of the unique metrics with a request to fetch metric data for the at least one composite metric; and

causing the saved query to be modified in accordance with the determined strategy for reducing the cardinality level of the saved query.

12. The non-transitory computer-readable medium of claim 11 , further comprising program instructions stored thereon that are executable to cause the computing platform to, prior to determining the strategy for reducing the cardinality level of the saved query, determine that the saved query is a candidate for cardinality reduction based at least in part on the analysis of the saved query.

13. The non-transitory computer-readable medium of claim 12 , wherein determining that the saved query is a candidate for cardinality reduction based at least in part on the analysis of the saved query comprises:

determining that the saved query can be modified to achieve some level of reduction in an extent of samples that are to be fetched during a respective run of the saved query.

14. The non-transitory computer-readable medium of claim 11 , wherein performing the analysis of the saved query comprises one or more of (i) evaluating how many unique metrics are specified by the saved query, (ii) evaluating how many samples are to be fetched for each unique metric specified by the saved query, or (iii) evaluating which types of operations are applied by the saved query.

15. The non-transitory computer-readable medium of claim 11 , wherein the determined strategy for reducing the cardinality level of the saved query further comprises:

configuring the metrics management platform to begin producing and storing metric data for the at least one composite metric.

16. The non-transitory computer-readable medium of claim 15 , wherein the determined strategy for reducing the cardinality level of the saved query further comprises:

configuring the metrics management platform to either (i) block storage of metric data for the respective subset of the unique metrics or (ii) store metric data for the respective subset of the unique metrics in a lower storage tier.

17. The non-transitory computer-readable medium of claim 15 , wherein causing the saved query to be modified in accordance with the determined strategy for reducing the cardinality level of the saved query comprises:

instructing the given metrics consumer to modify the saved query so that the expression of the saved query encodes the request to fetch metric data for the at least one composite metric.

18. The non-transitory computer-readable medium of claim 15 , wherein the expression of the saved query encodes an aggregation operation that is to be applied to fetched metric data for the respective subset of the unique metrics, wherein the at least one composite metric that is derived from the respective subset of the unique metrics comprises a composite metric that is derived by applying an aggregation operation to metric data for the respective subset of the unique metrics, and wherein replacing the request to fetch at least some portion of the metric data for the respective subset of the unique metrics with the request to fetch metric data for the at least one composite metric comprises:

removing the aggregation operation from the expression of the saved query.

19. The non-transitory computer-readable medium of claim 11 , wherein the determined strategy for reducing the cardinality level of the saved query further comprises:

configuring the given metrics consumer to begin (i) extracting metric data for the at least one composite metric that is produced during runs of the saved query, and (ii) transmitting the extracted metric data for the at least one composite metric to the metrics management platform for storage.

20. A computing platform, comprising:

at least one processor;

at least one non-transitory computer-readable medium; and

program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:

perform an analysis of a saved query comprising an expression that specifies a set of unique metrics for which metric data is to be fetched from a metrics management platform when the saved query is run;

determine a strategy for reducing a cardinality level of the saved query based at least in part on the analysis of the saved query, wherein the determined strategy for reducing the cardinality level of the saved query comprises:

defining at least one composite metric that is derived from a respective subset of the unique metrics in the set of unique metrics, wherein metric data for the at least one composite metric is to be produced by one or both of the metrics management platform or a given metrics consumer that is configured to run the saved query; and

modifying the expression of the saved query by replacing a request to fetch at least some portion of the metric data for the respective subset of the unique metrics with a request to fetch metric data for the at least one composite metric; and

cause the saved query to be modified in accordance with the determined strategy for reducing the cardinality level of the saved query.

Assignments (3)
CHANGE OF NAME Recorded Nov 30, 2023
From: CONTRAST LABS, INC.
To: BITDRIFT, INC.
Reel/Frame 065723/0172 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2023
From: LYFT, INC.
To: CONTRAST LABS, INC.
Reel/Frame 064316/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2023
From: BADII, BEHROOZ; RAMIN, YANN THOMAS
To: LYFT, INC.
Reel/Frame 063197/0892 →
Continuity (1)
Related Publication 20240265015A1 · Aug 8, 2024