IP Library Granted Patent US 11,914,604
Granted Patent B2
US 11,914,604 · App. 17/708,320 · Granted Feb 27, 2024

Metric time series generation using telemetry data processing system

Inventor: Varun Vinod Arbatti (Sydney, AU)
Assignees: ATLASSIAN PTY LTD.; ATLASSIAN US, INC.
G06F16/2477G06F16/2255G06F16/24564
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 11,914,604
App. No.
17/708,320
Granted
Feb 27, 2024
Kind
B2
Abstract

A system and a method for a metric time series (MTS) generation. The method includes operations of receiving telemetry data comprising a metric name, a new measurement value, and metadata associated with the metric name, and generating a hash key value based on the metric name and a set of key-value pairs of a plurality of key-value pairs included in the metadata. The method includes determining whether the generated hash key value exists in a memory, and in response to determining that the generated hash key value does not exist in the memory, initializing an MTS associated with the generated hash key with a measurement value being set to zero. The method includes an instance of the MTS corresponding to a current time, and associating the instance of the MTS with the new measurement value received in the telemetry data.

Claims (70)

1. A system, comprising:

one or more processors; and

one or more memories storing instructions that cause the one or more processors to instantiate at least one instance of an application to perform operations comprising:

receiving, from a source environment, telemetry data comprising a metric name, a new measurement value, and metadata associated with the metric name;

generating a hash key value based on the metric name and a set of key-value pairs of a plurality of key-value pairs included in the metadata;

determining whether the generated hash key value exists in a memory of the one or more memories;

in response to determining that the generated hash key value does not exist in the memory:

initializing a metric time series (MTS) associated with the generated hash key value with a measurement value being set to zero;

creating a first instance of the MTS corresponding to a current time; and

associating the first instance of the MTS with the new measurement value received in the telemetry data; and

in response to determining that the generated hash key value exists in the memory:

creating a second instance of the MTS corresponding to the current time by adding a database record for the MTS associated with the metric name and corresponding source environment; and

associating the second instance of the MTS with the new measurement value received in the telemetry data, wherein the second instance is different from the first instance;

in response to the receiving the telemetry data, causing a rule to be executed against the MTS, the rule identifying a value to be calculated within a time window based on the MTS and comparing the value with respect to a threshold;

calculating, by a rule engine, the value identified by the rule;

determining whether the calculated value satisfies the threshold; and

in response to determining that the calculated value satisfies the threshold, generating a notification comprising the calculated value and transmitting the notification to a user.

2. The system of claim 1 , wherein for generating the hash key value, the operations further comprise:

sorting each key-value pair of the plurality of key-value pairs included in the metadata in an ascending order or a descending order; and

generating the hash key value based on the sorted plurality of key-value pairs.

3. The system of claim 1 , wherein for generating the hash key value, the operations further comprise:

sorting each key-value pair of the plurality of key-value pairs included in the metadata based on sorting of each key of the plurality of key-value pairs in an ascending order or a descending order; and

generating the hash key value based on the sorted plurality of key-value pairs.

4. The system of claim 1 , wherein the hash key value is generated using a one-way hash function, or wherein the generated hash key value is a one-way hash key value.

5. The system of claim 1 , wherein the set of key-value pairs for generating the hash key is selected based on one or more keys of a predetermined set of keys.

6. The system of claim 1 , wherein the operations further comprise:

removing the generated hash key value from the memory upon receiving no telemetry data associated the generated hash key value for a preconfigured time period.

7. The system of claim 1 , wherein the telemetry data associated with the generated hash key value is received at a preconfigured measurement interval.

8. The system of claim 1 , wherein the new measurement value included in the telemetry data is a numerical value.

9. A method, comprising:

receiving, at an application executing on a server, telemetry data comprising a metric name, a new measurement value, and metadata associated with the metric name;

generating, by the application, a hash key value based on the metric name and a set of key-value pairs of a plurality of key-value pairs included in the metadata, the generating the hash key value comprising generating a sorted set of key-value pairs by sorting each key-value pair of the plurality of key-value pairs in accordance with a predefined order and generating the hash key value based on the sorted set of key-value pairs;

determining, by the application, whether the generated hash key value exists in a memory of one or more memories;

in response to determining that the generated hash key value does not exist in the memory:

initializing, by the application, a metric time series (MTS) associated with the generated hash key value with a measurement value being set to zero; and

creating, by the application, a first instance of the MTS corresponding to a current time; and

associating, by the application, the first instance of the MTS with the new measurement value received in the telemetry data; and

in response to determining that the generated hash key value exists in the memory:

creating, by the application, a second instance of the MTS corresponding to the current time; and

associating, by the application, the second instance of the MTS with the new measurement value received in the telemetry data.

10. The method of claim 9 , wherein generating the hash key value comprises:

sorting each key-value pair of the plurality of key-value pairs included in the metadata in an ascending order or a descending order; and

generating the hash key value based on the sorted plurality of key-value pairs.

11. The method of claim 9 , wherein generating the hash key value comprises:

sorting each key-value pair of the plurality of key-value pairs included in the metadata based on sorting of each key of the plurality of key-value pairs in an ascending order or a descending order; and

generating the hash key value based on the sorted plurality of key-value pairs.

12. The method of claim 9 , wherein the hash key value is generated using a one-way hash function, or wherein the generated hash key value is a one-way hash key value.

13. The method of claim 9 , further comprising:

selecting the set of key-value pairs based on one or more keys of a predetermined set of keys.

14. The method of claim 9 , further comprising:

removing the generated hash key value from the memory upon receiving no telemetry data associated the generated hash key value for a preconfigured time period.

15. The method of claim 9 , wherein the telemetry data associated the generated hash key value is received at a preconfigured measurement interval.

16. The method of claim 9 , wherein the new measurement value included in the telemetry data is a numerical value.

17. A non-transitory computer-readable medium (CRM) comprising instructions, which when executed by one or more processors of a metric time series (MTS) generator system, cause the one or more processors to perform operations comprising:

receiving telemetry data comprising a metric name, a new measurement value, and metadata associated with the metric name;

generating a unique string value based on the metric name and a set of key-value pairs of a plurality of key-value pairs included in the metadata, the generating the hash key value comprising generating a sorted set of key-value pairs by sorting each key-value pair of the plurality of key-value pairs in accordance with a criteria and generating the hash key value based on the sorted set of key-value pairs;

determining whether the generated unique string value exists in a memory of one or more memories;

in response to determining that the generated unique string value does not exist in the memory:

initializing a metric time series (MTS) associated with the generated unique string value with a measurement value being set to zero;

creating a first instance of the MTS corresponding to a current time; and

associating the first instance of the MTS with the new measurement value received in the telemetry data; and

in response to determining that the generated unique string value exists in the memory:

associating the second instance of the MTS with the new measurement value received in the telemetry data.

18. The non-transitory CRM of claim 17 , wherein for generating the unique string value, the operations further comprise:

sorting each key-value pair of the plurality of key-value pairs included in the metadata in an ascending order or a descending order; and

generating the unique string value based on the sorted plurality of key-value pairs.

19. The non-transitory CRM of claim 17 , wherein for generating the unique string value, the operations further comprise:

sorting each key-value pair of the plurality of key-value pairs included in the metadata based on sorting of each key of the plurality of key-value pairs in an ascending order or a descending order; and

generating the unique string value based on the sorted plurality of key-value pairs.

20. The non-transitory CRM of claim 17 , wherein the unique string value is generated using a one-way hash function, or wherein the generated unique string value is a one-way hash key value.

Assignments (2)
CHANGE OF NAME Recorded Aug 5, 2022
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 061085/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2022
From: ARBATTI, VARUN VINOD
To: ATLASSIAN PTY LTD.; ATLASSIAN INC.
Reel/Frame 059441/0214 →
Continuity (1)
Related Publication 20230315747A1 · Oct 5, 2023