IP Library › Granted Patent US 12,153,971
Granted Patent B2
US 12,153,971 · App. 18/243,609 · Granted Nov 26, 2024

Sharing events and other metrics in native applications

Inventors: Damien Carru (New York, NY); Pui Kei Johnston Chu (Unionville, CA); Unmesh Jagtap (San Mateo, CA); Xiaodi Ke (Markham, CA); Haroldo Level (Seattle, WA); Subramanian Muralidhar (Mercer Island, WA); James Pan (Oakville, CA); Steven Parkes (Palo Alto, CA); Xie Xu (Seattle, WA); Tyson J. Hamilton (Seattle, WA)
Assignee: Snowflake Inc.
G06F9/542G06F16/254
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,153,971
App. No.
18/243,609
Granted
Nov 26, 2024
Kind
B2
Abstract

Disclosed is an execution information sharing system that duplicates execution information to a provider target (and other targets) as it is being loaded to a consumer target. A first log information object and a second log information object are generated. The first and second log information objects comprise information indicating a consumer target and information indicating a provider target respectively where execution information generated by an application shared with a consumer account of a data exchange is written. A first event unloader and a second event unloader are generated based on the first and second log information objects respectively, wherein the first and second event unloaders are both linked to the application using a mapping. In response to receiving execution information from the application, the execution information is forwarded to the consumer target and the provider target using the first event unloader and the second event unloader respectively.

Claims (89)

1. A method comprising:

generating a first log information object and a second log information object, the first and second log information objects comprising information indicating a consumer target and information indicating a provider target respectively where execution information generated by an application shared with a consumer account of a data exchange is written;

generating a first event unloader and a second event unloader based on the first and second log information objects respectively, wherein the first event unloader and the second event unloader are both linked to the application using a mapping; and

in response to receiving execution information from the application, forwarding, by a processing device, the execution information to the consumer target and the provider target using the first event unloader and the second event unloader respectively.

2. The method of claim 1 , further comprising:

associating the first event unloader with a log correlation ID of the application;

updating the mapping to indicate that the first event unloader is linked to the log correlation ID of the application;

associating the second event unloader with the log correlation ID of the application; and

updating the mapping to indicate that the second event unloader is linked to the log correlation ID of the application.

3. The method of claim 2 , further comprising:

identifying the log correlation ID of the application in response to receiving the execution information;

identifying the first event unloader and the second event unloader as being associated with the log correlation ID of the application based on the mapping; and

retrieving the first event unloader and the second event unloader.

4. The method of claim 1 , wherein forwarding the execution information to the consumer target comprises:

determining a log level of the application and a trace level of the application set by the provider account;

filtering from the execution information, execution logs having a higher log level than the log level set by the provider account;

filtering from the execution information, trace events having a higher trace level than the trace level set by the provider account; and

forwarding a remainder of the execution information to the consumer target.

5. The method of claim 1 , further comprising:

specifying, by the provider account, a log level of the application by selecting from a set of predefined log level values; and

specifying, by the provider account, a trace level of the application by selecting from a set of predefined trace level values.

6. The method of claim 1 , wherein generating the second log information object comprises:

obtaining share information from an imported database from which the application is accessed;

extracting from the share information, provider account information; and

generating the second log object based on the provider account information.

7. The method of claim 6 , wherein the provider account information comprises:

a provider task pipe ID; and

a provider staging file name.

8. The method of claim 1 , wherein the consumer target and the provider target each correspond to an event table.

9. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

generate a first log information object and a second log information object, the first and second log information objects comprising information indicating a consumer target and information indicating a provider target respectively where execution information generated by an application shared with a consumer account of a data exchange is written;

generate a first event unloader and a second event unloader based on the first and second log information objects respectively, wherein the first event unloader and the second event unloader are both linked to the application using a mapping; and

in response to receiving execution information from the application, forward the execution information to the consumer target and the provider target using the first event unloader and the second event unloader respectively.

10. The system of claim 9 , wherein the processing device is further to:

associate the first event unloader with a log correlation ID of the application;

updating the mapping to indicate that the first event unloader is linked to the log correlation ID of the application;

associate the second event unloader with the log correlation ID of the application; and

update the mapping to indicate that the second event unloader is linked to the log correlation ID of the application.

11. The system of claim 10 , wherein the processing device is further to:

identify the log correlation ID of the application in response to receiving the execution information;

identify the first event unloader and the second event unloader as being associated with the log correlation ID of the application based on the mapping; and

retrieve the first event unloader and the second event unloader.

12. The system of claim 9 wherein to forward the execution information to the consumer target, the processing device is to:

determine a log level of the application and a trace level of the application set by the provider account;

filter from the execution information, execution logs having a higher log level than the log level set by the provider account;

filter from the execution information, trace events having a higher trace level than the trace level set by the provider account; and

forward a remainder of the execution information to the consumer target.

13. The system of claim 9 , wherein the processing device is further to:

specify, by the provider account, a log level of the application by selecting from a set of predefined log level values; and

specify, by the provider account, a trace level of the application by selecting from a set of predefined trace level values.

14. The system of claim 9 , wherein to generate the second log information object, the processing device is to:

obtain share information from an imported database from which the application is accessed;

extract from the share information, provider account information; and

generate the second log object based on the provider account information.

15. The system of claim 14 , wherein the provider account information comprises:

a provider task pipe ID; and

a provider staging file name.

16. The system of claim 8 , wherein the consumer target and the provider target each correspond to an event table.

17. A non-transitory computer-readable medium having instructions stored thereon which, when executed by a processing device, cause the processing device to:

generate a first log information object and a second log information object, the first and second log information objects comprising information indicating a consumer target and information indicating a provider target respectively where execution information generated by an application shared with a consumer account of a data exchange is written;

generate a first event unloader and a second event unloader based on the first and second log information objects respectively, wherein the first event unloader and the second event unloader are both linked to the application using a mapping; and

in response to receiving execution information from the application, forward, by the processing device, the execution information to the consumer target and the provider target using the first event unloader and the second event unloader respectively.

18. The non-transitory computer-readable medium of claim 17 , wherein the processing device is further to:

associate the first event unloader with a log correlation ID of the application;

updating the mapping to indicate that the first event unloader is linked to the log correlation ID of the application;

associate the second event unloader with the log correlation ID of the application; and

update the mapping to indicate that the second event unloader is linked to the log correlation ID of the application.

19. The non-transitory computer-readable medium of claim 18 , wherein the processing device is further to:

identify the log correlation ID of the application in response to receiving the execution information;

identify the first event unloader and the second event unloader as being associated with the log correlation ID of the application based on the mapping; and

retrieve the first event unloader and the second event unloader.

20. The non-transitory computer-readable medium of claim 17 , wherein to forward the execution information to the consumer target, the processing device is to:

determine a log level of the application and a trace level of the application set by the provider account;

filter from the execution information, execution logs having a higher log level than the log level set by the provider account;

filter from the execution information, trace events having a higher trace level than the trace level set by the provider account; and

forward a remainder of the execution information to the consumer target.

21. The non-transitory computer-readable medium of claim 17 , wherein the processing device is further to:

specify, by the provider account, a log level of the application by selecting from a set of predefined log level values; and

specify, by the provider account, a trace level of the application by selecting from a set of predefined trace level values.

22. The non-transitory computer-readable medium of claim 17 , wherein to generate the second log information object, the processing device is to:

obtain share information from an imported database from which the application is accessed;

extract from the share information, provider account information; and

generate the second log object based on the provider account information.

23. The non-transitory computer-readable medium of claim 22 , wherein the provider account information comprises:

a provider task pipe ID; and

a provider staging file name.

24. The non-transitory computer-readable medium of claim 17 , wherein the consumer target and the provider target each correspond to an event table.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2024
From: CARRU, DAMIEN; CHU, PUI KEI JOHNSTON; JAGTAP, UNMESH; KE, XIAODI; LEVEL, HAROLDO; MURALIDHAR, SUBRAMANIAN; PAN, JAMES; PARKES, STEVEN; XU, XIE; HAMILTON, TYSON J.
To: SNOWFLAKE INC.
Reel/Frame 068838/0073 →
Continuity (3)
Continuation 18139269 · Apr 25, 2023
Provisional Application 63398833 · Aug 17, 2022
Related Publication 20240061730A1 · Feb 22, 2024