PERFORMANCE EVALUATION OF APPLICATIONS THAT ACCESS EXTERNAL RESOURCES
Evaluating application performance includes: obtaining a request, processing the request, including invoking a function that accesses an external resource, determining whether a response time associated with invoking the function exceeds a threshold, and in the event that the response time exceeds the threshold, capturing a runtime attribute associated with the function.
1 . (canceled)
2 . A system for evaluating application performance, comprising:
a processor configured to:
process a request, including invoking a function that accesses an external resource;
determine whether a response time associated with the invocation of the function exceeds a threshold;
in response to a determination that the response time exceeds the threshold:
mark the invocation of the function for post processing to obtain a marked invocation of the function; and
capture a runtime attribute associated with the marked invocation of the function; and
post process the marked invocation of the function to obtain additional performance information; and
a memory coupled to the processor, configured to provide the processor with instructions.
3 . The system of claim 2 , wherein:
the runtime attribute includes a stack trace associated with the marked invocation of the function; and
the processor is further configured to post process the marked invocation of the function comprises to:
analyze, based on the stack trace, the marked invocation of the function to identify code invoking the accessing of the external resource.
4 . The system of claim 3 , wherein the post processing is performed asynchronously.
5 . The system of claim 2 , wherein the function is a database access function.
6 . The system of claim 5 , and the processor is further configured to generate an explain plan of the database access function.
7 . The system of claim 6 , wherein the runtime attribute includes database connection information associated with the invocation of the database access function, and generating the explain plan includes opening another database connection using the database connection information.
8 . The system of claim 7 , wherein the database connection information includes user credential information, database host information and port information.
9 . The system of claim 2 , wherein the runtime attribute includes a parameter that is used to invoke the function.
10 . The system of claim 2 , wherein the runtime attribute includes a return value of the function.
11 . The system of claim 2 , wherein the runtime attribute includes performance statistics.
The system of claim 2 , wherein the function was previously modified to include instrumentation code configured to measure response time.
12 . The system of claim 2 , wherein the external resource includes a web service.
13 . The system of claim 2 , wherein the external resource includes a networking resource.
14 . A method for evaluating application performance, comprising:
processing a request, including invoking a function that accesses an external resource;
determining whether a response time associated with invoking the function exceeds a threshold;
in response to a determination that the response time exceeds the threshold:
marking the function for post processing to obtain a marked invocation of the function; and
capturing a runtime attribute associated with the marked invocation of the function; and
post processing the marked invocation of the function to obtain additional performance information.
15 . The method of claim 14 , wherein the function is a database access function.
16 . A computer program product for evaluating application performance, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:
processing a request, including invoking a function that accesses an external resource;
determining whether a response time associated with invoking the function exceeds a threshold;
in response to a determination that the response time exceeds the threshold:
marking the function for post processing to obtain a marked invocation of the function; and
capturing a runtime attribute associated with the marked invocation of the function; and
post processing the marked invocation of the function to obtain additional performance information.
17 . The computer program product of claim 16 , wherein the function is a database access function.