Application and database context correlation for database application developers
First Claim
1. A computer-implemented system for application development, the computer-implemented system comprising:
- a context component configured to obtain, during a profiling session;
application context information of an application, the application context information including data access events reflecting data access application programming interface (API) calls by the application to access a database, anddatabase context information of the database, the database context information including database server events exposed for profiling by a database server, the database server events reflecting execution of queries by the database server responsive to the data access API calls by the application;
an analyzer component configured to;
tokenize strings of the data access events and other strings of the database server events based on delimiters, andcompute intersections of tokens between the strings of the data access events and the other strings of the database server events to match the strings of the data access events to the other strings of the database server events to correlate the application context information to the database context information to facilitate presentation of a view of a profile of the application and the database during the profiling session; and
at least one processor configured to execute one or more of the context component or the analyzer component.
2 Assignments
0 Petitions
Accused Products
Abstract
Infrastructure for capturing and correlating application context and database context for tuning, profiling and debugging tasks. The application context can include events such as data access events, and the database context can include events such as database server events. The events can be obtained from server tracing, data access layer tracing, and/or application tracing and written into respective log files. A data access event can indicate that an application consumed a row from a result set returned from a DBMS query. A post-processing step can correlate the application and database contexts by tokenizing strings and computing intersections between the tokenized strings. A tool inside a development environment may also suggest a query hint for the database or a data access API for the application based on the correlated context.
-
Citations
20 Claims
-
1. A computer-implemented system for application development, the computer-implemented system comprising:
-
a context component configured to obtain, during a profiling session; application context information of an application, the application context information including data access events reflecting data access application programming interface (API) calls by the application to access a database, and database context information of the database, the database context information including database server events exposed for profiling by a database server, the database server events reflecting execution of queries by the database server responsive to the data access API calls by the application; an analyzer component configured to; tokenize strings of the data access events and other strings of the database server events based on delimiters, and compute intersections of tokens between the strings of the data access events and the other strings of the database server events to match the strings of the data access events to the other strings of the database server events to correlate the application context information to the database context information to facilitate presentation of a view of a profile of the application and the database during the profiling session; and at least one processor configured to execute one or more of the context component or the analyzer component. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
obtaining, during a profiling session; application context information of an application, the application context information including data access events reflecting data access application programming interface (API) calls by the application to access a database, and database context information of the database, the database context information including database server events exposed for profiling by a database server, the database server events reflecting execution of queries by the database server responsive to the data access API calls by the application; matching strings of the data access events to other strings of the database server events; correlating the application context information to the database context information based on the matching to obtain correlated context information; and based on the correlated context information, suggesting a query hint to the database that causes a query optimizer to reduce an estimated time of execution of an individual query, wherein at least the correlating is performed by a processor. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more computer-readable memory devices or storage devices comprising processor-executable instructions which, when executed by one or more processors, cause the one or more processors to perform acts comprising:
-
obtaining; application context information of an application, the application context information including data access events reflecting calls by the application to access a database, and database context information of the database, the database context information including database events reflecting execution of queries by a database server responsive to the calls by the application; matching strings of the data access events to other strings of the database events; and correlating the application context information to the database context information based on the matching, wherein the data access events comprise an individual event indicating the application consumed a row from a result set of a query submitted to the database by the application. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method comprising:
-
obtaining, during a profiling session; application context information of an application, the application context information including data access events reflecting data access application programming interface (API) calls by the application to access a database, and database context information of the database, the database context information including database server events exposed for profiling by a database server, the database server events reflecting execution of queries by the database server responsive to the data access API calls by the application; matching strings of the data access events to other strings of the database server events; correlating the application context information to the database context information based on the matching to obtain correlated context information; and based on the correlated context information, suggesting an appropriate individual data access API according to a best practice, wherein at least the correlating is performed by a processor. - View Dependent Claims (20)
-
Specification