FAILSAFE MECHANISM FOR DYNAMIC INSTRUMENTATION OF SOFTWARE USING CALLBACKS
First Claim
1. A computer-implemented method for providing a failsafe capability for an application, comprising:
- receiving a request at an application server to add temporary dynamic instrumentation to the application, the request is received from a computing device (MANAGER) via a respective connection between the computing device and the application server;
in response to the request, adding the temporary dynamic instrumentation to the application during the runtime of the application, and implementing a callback to the computing device via the respective connection, the callback determines if the respective connection is unexpectedly lost; and
in response to the callback determining that the respective connection is unexpectedly lost, restoring the application to a state which does not include the temporary dynamic instrumentation.
2 Assignments
0 Petitions
Accused Products
Abstract
A failsafe mechanism for installing and removing temporary instrumentation during a runtime of an application. Initially, an application is configured with a baseline set of instrumented components such as methods. Additional instrumentation is then deployed in the application, such as to diagnose a performance problem. The failsafe mechanism ensures that the additional instrumentation is automatically removed, even when there is an interruption in a communication link to the application, a computing device failure, a software failure, or some other type of failure, which renders it impossible to manually roll back the instrumentation from a remote user interface. The failsafe mechanism can be provided using callbacks between the computing devices which detect when a connection is unexpectedly lost or closed. Termination of one callback can cascade to one or more other callbacks. The instrumentation rollback can involve reloading un-instrumented byte code of the application.
66 Citations
20 Claims
-
1. A computer-implemented method for providing a failsafe capability for an application, comprising:
-
receiving a request at an application server to add temporary dynamic instrumentation to the application, the request is received from a computing device (MANAGER) via a respective connection between the computing device and the application server; in response to the request, adding the temporary dynamic instrumentation to the application during the runtime of the application, and implementing a callback to the computing device via the respective connection, the callback determines if the respective connection is unexpectedly lost; and in response to the callback determining that the respective connection is unexpectedly lost, restoring the application to a state which does not include the temporary dynamic instrumentation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method for providing a failsafe capability for applications, comprising:
-
receiving a request at a first computing device (MANAGER) from a second computing device (MOM), the request identifies an application server and includes at least one directive for adding associated temporary dynamic instrumentation to an application at the application server; and in response to the request, implementing a timer, and providing, from the first computing device to the application server via a first connection, the at least one directive to add the associated temporary dynamic instrumentation to the application, and a request to implement a callback to the first computing device, the callback determines if the first connection is unexpectedly lost; and upon expiration of the timer, if the first connection is not unexpectedly lost, providing a request to the application server via the first connection to restore the application to a state which existed before the associated temporary dynamic instrumentation was added. - View Dependent Claims (12, 13, 14)
-
-
15. In an application server, tangible computer readable storage having computer readable software embodied thereon for programming at least one processor to perform a method for providing a failsafe capability for an application, the method comprising:
-
establishing a connection with a computing device (MANAGER); receiving a request, from the computing device, via the connection, to add temporary dynamic instrumentation to the application, and to invoke a callback object; in response to the request, adding the temporary dynamic instrumentation to the application during the runtime of the application, and invoking the callback object, the callback object implements a callback to the computing device by monitoring the connection; and if the callback object determines that the connection has been terminated, restoring the application to a state which does not include the temporary dynamic instrumentation. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification