IP Library › Granted Patent US 12,182,155
Granted Patent B2
US 12,182,155 · App. 18/302,515 · Granted Dec 31, 2024

Configuring an event table using computing node processes

Inventors: Benoit Dageville (San Mateo, CA); Ganeshan Ramachandran Iyer (Redmond, WA); Unmesh Jagtap (San Mateo, CA); Subramanian Muralidhar (Mercer Island, WA)
Assignee: Snowflake Inc.
G06F16/254G06F16/2282G06F16/258
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,182,155
App. No.
18/302,515
Granted
Dec 31, 2024
Kind
B2
Abstract

Techniques for configuring event tables include retrieving, by at least one hardware processor of a computing node, log data at a first process of the computing node. The log data is associated with a function executing at a second process of the computing node. The log data is revised using a table stage to generate revised log data. The table stage is configured as a dedicated storage location of the first process. The revising includes a data enrichment process based on metadata associated with execution of the function at the second process. The revised log data is ingested into an event table.

Claims (86)

1. A system comprising:

at least one hardware processor; and

at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising:

retrieving log data at a first process of a computing node, the log data associated with a function executing at a second process of the computing node;

configuring a table stage as a dedicated storage location that is internal to the first process;

revising the log data using the table stage to generate revised log data, the revising comprising a data enrichment process based on metadata associated with execution of the function at the second process, and the metadata comprising at least a time the log data was generated; and

ingesting the revised log data into an event table.

2. The system of claim 1 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

configuring the second process with event table libraries, the event table libraries comprising at least one programming library.

3. The system of claim 2 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

causing execution of an event table instance within the second process using the at least one programming library.

4. The system of claim 3 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

collecting the log data at the second process using the event table instance, the log data generated by the execution of the function.

5. The system of claim 1 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

enriching the log data with contextual metadata to perform the data enrichment process, the enriching yielding the revised log data.

6. The system of claim 5 , wherein the contextual metadata comprises at least one of:

a timestamp identifying a time the log data was generated;

a query identifier of a query causing the generation of the log data;

a session identifier of a session during which the log data was generated; and

a warehouse identifier of a virtual warehouse of computing resources that include the computing node.

7. The system of claim 1 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

formatting the revised log data stored in the table stage into a format that is ingestible by the event table, yielding formatted log data.

8. The system of claim 7 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

scheduling ingestion of the formatted log data into the event table, based on an indication the formatted log data is available at the table stage.

9. The system of claim 8 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

decoding a query for the log data;

executing the query using the formatted log data stored in the event table to generate a query result; and

outputting the query result in response to the query.

10. The system of claim 1 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

configuring the function to execute as a user-defined function (UDF) using UDF code associated with the second process, wherein the second process is configured as a sub-process of the first process.

11. A method comprising:

retrieving, by at least one hardware processor of a computing node, log data at a first process of the computing node, the log data associated with a function executing at a second process of the computing node;

configuring a table stage as a dedicated storage location that is internal to the first process;

revising the log data using the table stage to generate revised log data, the revising comprising a data enrichment process based on metadata associated with execution of the function at the second process, and the metadata comprising at least a time the log data was generated; and

ingesting the revised log data into an event table.

12. The method of claim 11 , further comprising:

configuring the second process with event table libraries, the event table libraries comprising at least one programming library.

13. The method of claim 12 , further comprising:

causing execution of an event table instance within the second process using the at least one programming library.

14. The method of claim 13 , further comprising:

collecting the log data at the second process using the event table instance, the log data generated by the execution of the function.

15. The method of claim 11 , further comprising:

enriching the log data with contextual metadata to perform the data enrichment process, the enriching yielding the revised log data.

16. The method of claim 15 , wherein the contextual metadata comprises at least one of:

a timestamp identifying a time the log data was generated;

a query identifier of a query causing the generation of the log data;

a session identifier of a session during which the log data was generated; and

a warehouse identifier of a virtual warehouse of computing resources that include the computing node.

17. The method of claim 11 , further comprising:

formatting the revised log data stored in the table stage into a format that is ingestible by the event table, yielding formatted log data.

18. The method of claim 17 , further comprising:

scheduling ingestion of the formatted log data into the event table, based on an indication the formatted log data is available at the table stage.

19. The method of claim 18 , further comprising:

decoding a query for the log data;

executing the query using the formatted log data stored in the event table to generate a query result; and

outputting the query result in response to the query.

20. The method of claim 11 , further comprising:

configuring the function to execute as a user-defined function (UDF) using UDF code associated with the second process, wherein the second process is configured as a sub-process of the first process.

21. A computer-storage medium comprising instructions that, when executed by one or more processors of a machine, configure the machine to perform operations comprising:

retrieving log data at a first process of a computing node, the log data associated with a function executing at a second process of the computing node;

configuring a table stage as a dedicated storage location that is internal to the first process;

revising the log data using the table stage to generate revised log data, the revising comprising a data enrichment process based on metadata associated with execution of the function at the second process, and the metadata comprising at least a time the log data was generated; and

ingesting the revised log data into an event table.

22. The computer-storage medium of claim 21 , the operations further comprising:

configuring the second process with event table libraries, the event table libraries comprising at least one programming library.

23. The computer-storage medium of claim 22 , the operations further comprising:

causing execution of an event table instance within the second process using the at least one programming library.

24. The computer-storage medium of claim 23 , the operations further comprising:

collecting the log data at the second process using the event table instance, the log data generated by the execution of the function.

25. The computer-storage medium of claim 21 , the operations further comprising:

enriching the log data with contextual metadata to perform the data enrichment process, the enriching yielding the revised log data.

26. The computer-storage medium of claim 25 , wherein the contextual metadata comprises at least one of:

a timestamp identifying a time the log data was generated;

a query identifier of a query causing the generation of the log data;

a session identifier of a session during which the log data was generated; and

a warehouse identifier of a virtual warehouse of computing resources that include the computing node.

27. The computer-storage medium of claim 21 , the operations further comprising:

formatting the revised log data stored in the table stage into a format that is ingestible by the event table, yielding formatted log data.

28. The computer-storage medium of claim 27 , the operations further comprising:

scheduling ingestion of the formatted log data into the event table, based on an indication the formatted log data is available at the table stage.

29. The computer-storage medium of claim 28 , the operations further comprising:

decoding a query for the log data;

executing the query using the formatted log data stored in the event table to generate a query result; and

outputting the query result in response to the query.

30. The computer-storage medium of claim 21 , the operations further comprising:

configuring the function to execute as a user-defined function (UDF) using UDF code associated with the second process, wherein the second process is configured as a sub-process of the first process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2023
From: DAGEVILLE, BENOIT; IYER, GANESHAN RAMACHANDRAN; JAGTAP, UNMESH; MURALIDHAR, SUBRAMANIAN
To: SNOWFLAKE INC.
Reel/Frame 063365/0001 →
Continuity (4)
Continuation 17934857 · Sep 23, 2022
Continuation 17649571 · Feb 1, 2022
Provisional Application 63263737 · Nov 8, 2021
Related Publication 20230252039A1 · Aug 10, 2023