System performance logging of complex remote query processor query operations
First Claim
Patent Images
1. A system for improving performance of a remote query computer system by using dynamic query performance logging to identify and remediate efficiency impediments in the remote query computer system, the system comprising:
- one or more processors;
computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including;
receiving at a query server computer a digital request for a remote query processor from a client computer;
at the query server computer performing query server operations including;
receiving a digital request from the client computer to execute a query task;
executing the query task;
generating a set of query task data;
generating a set of query subtask data;
collecting the set of query task data;
digitally transmitting the set of query task data to one or more performance table loggers;
collecting the set of query subtask data;
transmitting the set of query subtask data to one or more performance table logger processes;
the one or more performance table logger processes writing the set of query task data to a first set of electronic data systems for subsequent retrieval and analysis;
the one or more performance table logger processes writing the set of query subtask data to a second set of electronic data systems for subsequent retrieval and analysis;
executing a query update, the query task comprising a recurring query operation, the executing comprising updating one or more dynamic components of the recurring query operation;
generating a set of query update data, the generating including;
listening for an update to one or more dynamic nodes of an update propagation graph, the update propagation graph being a structure implemented with connected nodes through which updates are propagated, each of the connected nodes being a static node or a dynamic node,determining an occurrence of an update to one or more nodes of the update propagation graph, the determining the occurrence of an update to one or more nodes of the update propagation graph being based on a determination of one or more events without requiring a comparison of data results, andcreating data for each occurrence of an update to one or more nodes of the update propagation graph;
collecting the set of query update data;
writing the set of query update data to a third set of data systems for subsequent retrieval and analysis;
with a processor retrieving the set of query task data and the set of query subtask data;
using a performance-enhancing processor to analyze the retrieved set of query task data and the retrieved set of query subtask data to obtain an analysis result;
with the performance-enhancing processor, identifying based on the analysis result an efficiency impediment in the query server computer; and
responsive to the identifying, using a processor to make changes to stored instructions and thereby alleviate the identified efficiency impediment and improve efficiency of the remote query computer system,wherein the efficiency impediment is one or more of;
a dataflow bottleneck, excessive use of processor resources, or excessive use of RAM, andwherein the set of query task data includes an initial data from one or more nodes of the update propagation graph.
3 Assignments
0 Petitions
Accused Products
Abstract
Described are methods, systems and computer readable media for performance logging of complex query operations.
-
Citations
17 Claims
-
1. A system for improving performance of a remote query computer system by using dynamic query performance logging to identify and remediate efficiency impediments in the remote query computer system, the system comprising:
-
one or more processors; computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including; receiving at a query server computer a digital request for a remote query processor from a client computer; at the query server computer performing query server operations including; receiving a digital request from the client computer to execute a query task; executing the query task; generating a set of query task data; generating a set of query subtask data; collecting the set of query task data; digitally transmitting the set of query task data to one or more performance table loggers; collecting the set of query subtask data; transmitting the set of query subtask data to one or more performance table logger processes; the one or more performance table logger processes writing the set of query task data to a first set of electronic data systems for subsequent retrieval and analysis; the one or more performance table logger processes writing the set of query subtask data to a second set of electronic data systems for subsequent retrieval and analysis; executing a query update, the query task comprising a recurring query operation, the executing comprising updating one or more dynamic components of the recurring query operation; generating a set of query update data, the generating including; listening for an update to one or more dynamic nodes of an update propagation graph, the update propagation graph being a structure implemented with connected nodes through which updates are propagated, each of the connected nodes being a static node or a dynamic node, determining an occurrence of an update to one or more nodes of the update propagation graph, the determining the occurrence of an update to one or more nodes of the update propagation graph being based on a determination of one or more events without requiring a comparison of data results, and creating data for each occurrence of an update to one or more nodes of the update propagation graph; collecting the set of query update data; writing the set of query update data to a third set of data systems for subsequent retrieval and analysis; with a processor retrieving the set of query task data and the set of query subtask data; using a performance-enhancing processor to analyze the retrieved set of query task data and the retrieved set of query subtask data to obtain an analysis result; with the performance-enhancing processor, identifying based on the analysis result an efficiency impediment in the query server computer; and responsive to the identifying, using a processor to make changes to stored instructions and thereby alleviate the identified efficiency impediment and improve efficiency of the remote query computer system, wherein the efficiency impediment is one or more of;
a dataflow bottleneck, excessive use of processor resources, or excessive use of RAM, andwherein the set of query task data includes an initial data from one or more nodes of the update propagation graph. - View Dependent Claims (2, 3, 4, 5, 15, 16)
-
-
6. A method comprising:
-
receiving a digital request from a client computer to execute a query task; executing the query task; generating a set of query task data; generating a set of query subtask data; collecting the set of query task data; digitally transmitting the set of query task data to one or more performance table loggers; collecting the set of query subtask data; transmitting the set of query subtask data to one or more performance table logger processes; the one or more performance table logger processes writing the set of query task data to a first set of electronic data systems for subsequent retrieval and analysis; the one or more performance table logger processes writing the set of query subtask data to a second set of electronic data systems for subsequent retrieval and analysis; executing a query update, the query task comprising a recurring query operation, the executing comprising updating one or more dynamic components of the recurring query operation; generating a set of query update data, the generating including; listening for an update to one or more dynamic nodes of an update propagation graph, the update propagation graph being a structure implemented with connected nodes through which updates are propagated, each of the connected nodes being a static node or a dynamic node, determining an occurrence of an update to one or more nodes of the update propagation graph, the determining the occurrence of an update to one or more nodes of the update propagation graph being based on a determination of one or more events without requiring a comparison of data results, and creating data for each occurrence of an update to one or more nodes of the update propagation graph; collecting the set of query update data; writing the set of query update data to a third set of data systems for subsequent retrieval and analysis; retrieving the set of query task data and the set of query subtask data; analyzing the retrieved set of query task data and the retrieved set of query subtask data to obtain an analysis result; identifying based on the analysis result an efficiency impediment in a query server computer system; and making changes to stored instructions and thereby alleviating the identified efficiency impediment and improve efficiency of a remote query computer system, wherein the efficiency impediment is one or more of;
a dataflow bottleneck, excessive use of processor resources, or excessive use of RAM, andwherein the set of query task data includes an initial data from one or more nodes of the update propagation graph. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:
-
receiving a digital request from a client computer to execute a query task; executing the query task; generating a set of query task data; generating a set of query subtask data; collecting the set of query task data; digitally transmitting the set of query task data to one or more performance table loggers; collecting the set of query subtask data; transmitting the set of query subtask data to one or more performance table logger processes; the one or more performance table logger processes writing the set of query task data to a first set of electronic data systems for subsequent retrieval and analysis; the one or more performance table logger processes writing the set of query subtask data to a second set of electronic data systems for subsequent retrieval and analysis; executing a query update, the query task comprising a recurring query operation, the executing comprising updating one or more dynamic components of the recurring query operation; generating a set of query update data, the generating including; listening for an update to one or more dynamic nodes of an update propagation graph, the update propagation graph being a structure implemented with connected nodes through which updates are propagated, each of the connected nodes being a static node or a dynamic node, determining an occurrence of an update to one or more nodes of the update propagation graph, the determining the occurrence of an update to one or more nodes of the update propagation graph being based on a determination of one or more events without requiring a comparison of data results, and creating data for each occurrence of an update to one or more nodes of the update propagation graph; collecting the set of query update data; writing the set of query update data to a third set of data systems for subsequent retrieval and analysis; retrieving the set of query task data and the set of query subtask data; analyzing the retrieved set of query task data and the retrieved set of query subtask data to obtain an analysis result; identifying based on the analysis result an efficiency impediment in a query server computer system; and making changes to stored instructions and thereby alleviating the identified efficiency impediment and improve efficiency of a remote query computer system, wherein the efficiency impediment is one or more of;
a dataflow bottleneck, excessive use of processor resources, or excessive use of RAM, andwherein the set of query task data includes an initial data from one or more nodes of the update propagation graph. - View Dependent Claims (12, 13, 14, 17)
-
Specification