Multi-tenant aware debugging methods and systems
First Claim
1. A method of real-time debugging of an instance of a virtual application generated at run-time based at least in part on an application code in a database coupled to a plurality of application servers, the method comprising:
- receiving, by a first application server of the plurality of application servers, a client request associated with the application code in the database from the instance of the virtual application provided by the first application server to a client device via a network;
verifying, by the first application server, creation of an active debugging session associated with the client request does not violate a debugging utilization criterion; and
after verifying that the active debugging session does not violate the debugging utilization criterion;
creating, by the first application server, an entry in a debug mapping table in the database to maintain an association between the instance of the virtual application from which client request originated, a network address associated with a debugger, and the first application server providing the instance of the virtual application to the client device; and
providing, by the first application server via the network to the network address associated with the debugger associated with the active debugging session, execution information associated with at least a portion of the application code in the database when execution of the application code by the first application server providing the instance of the virtual application stops, the execution information corresponding to a current execution state of the instance of the virtual application provided by the first application server to the client device;
receiving, at a second application server of the plurality of application servers, a debugging request received from the debugger;
redirecting, by the second application server, the debugging request received from the debugger to the first application server after accessing the debug mapping table and determining the debugging request pertains to the instance of the virtual application executing on the first application server based on the association between the active debugging session and the first application server;
executing, by the first application server, the portion of the application code in response to the debugging request to resume performance of the client request; and
providing, by the first application server to the debugger via the network, second execution information pertaining to an execution state of the instance of the virtual application corresponding to the first application server executing the portion of the application code as a response to the debugging request.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for debugging application code in an on-demand multi-tenant database system. One exemplary method involves an application server receiving a request associated with application code in a database from a client device via a network, verifying that debugging associated with the request does not violate a debugging utilization criterion, and after verifying that debugging associated with the request does not violate the debugging utilization criterion, accessing the application code in the database in conjunction with the request.
-
Citations
20 Claims
-
1. A method of real-time debugging of an instance of a virtual application generated at run-time based at least in part on an application code in a database coupled to a plurality of application servers, the method comprising:
- receiving, by a first application server of the plurality of application servers, a client request associated with the application code in the database from the instance of the virtual application provided by the first application server to a client device via a network;
verifying, by the first application server, creation of an active debugging session associated with the client request does not violate a debugging utilization criterion; and
after verifying that the active debugging session does not violate the debugging utilization criterion;
creating, by the first application server, an entry in a debug mapping table in the database to maintain an association between the instance of the virtual application from which client request originated, a network address associated with a debugger, and the first application server providing the instance of the virtual application to the client device; and
providing, by the first application server via the network to the network address associated with the debugger associated with the active debugging session, execution information associated with at least a portion of the application code in the database when execution of the application code by the first application server providing the instance of the virtual application stops, the execution information corresponding to a current execution state of the instance of the virtual application provided by the first application server to the client device;
receiving, at a second application server of the plurality of application servers, a debugging request received from the debugger;
redirecting, by the second application server, the debugging request received from the debugger to the first application server after accessing the debug mapping table and determining the debugging request pertains to the instance of the virtual application executing on the first application server based on the association between the active debugging session and the first application server;
executing, by the first application server, the portion of the application code in response to the debugging request to resume performance of the client request; and
providing, by the first application server to the debugger via the network, second execution information pertaining to an execution state of the instance of the virtual application corresponding to the first application server executing the portion of the application code as a response to the debugging request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 18, 19, 20)
- receiving, by a first application server of the plurality of application servers, a client request associated with the application code in the database from the instance of the virtual application provided by the first application server to a client device via a network;
-
8. A method of debugging an application code associated with a first tenant of a plurality of tenants in a database of a multi-tenant database system supporting the plurality of tenants, the method comprising:
- receiving, by the multi-tenant database system, a debug request associated with the application code in the database from a debugger on a first client device via a network;
verifying, by the multi-tenant database system, that the debug request does not violate a debugging utilization criterion;
after verifying that the debug request does not violate the debugging utilization criterion;
updating the database to instantiate an active debugging session associated with the debugger and the application code;
receiving, by a first application server of a plurality of application servers of the multi-tenant database system, a client request associated with the application code in the database from an instance of a client application on a second client device via the network, wherein the first application server generates the instance of the client application at run-time based at least in part on the application code; and
in response to determining the client request corresponds to the active debugging session;creating, by the first application server, an entry in the debug mapping table in the database to maintain an association between the instance of the client application from which client request originated, a network address associated with a debugger, and the first application server providing the instance of the virtual application to the client device; and
providing, by the multi-tenant database system via the network to the network address associated with the debugger associated with the active debugging session, execution information pertaining to the client request based on the association between the debugger and the active debugging session, the execution information corresponding to a current execution state of the instance of the client application provided by the first application server to the client device when execution of the application code by the first application server providing the instance of the client application stops;
receiving, by a second application server of the plurality of application servers, a debugging execution request corresponding to the client request from the debugger on the first client device via the network;
redirecting, by the second application server, the debugging execution request received from the debugger to the first application server after accessing the debug mapping table and determining the debugging execution request pertains to the instance of the virtual application executing on the first application server based on an association between the active debugging session and the first application server;
executing, by the first application server, at least a portion of the application code based on the client request to resume performance of the client request in accordance with the debugging execution request; and
providing, by the first application server to the debugger on the first client device, second execution information pertaining to an execution state of the instance of the client application corresponding to the first application server executing at least the portion of the application code as a response to the debugging request. - View Dependent Claims (9, 10, 11, 12, 13)
- receiving, by the multi-tenant database system, a debug request associated with the application code in the database from a debugger on a first client device via a network;
-
14. A multi-tenant database system comprising:
- a database to maintain application code associated with a first tenant of a plurality of tenants and including a debug mapping table maintaining an association between the application code and a debugging session associated with a debugger; and
a plurality of application servers coupled to the database and a network to receive a client request associated with the application code in the database via the network from an instance of a virtual application generated at run-time based at least in part on the application code at a first application server of the plurality of application servers, verify associating the client request with the debugging session does not violate a debugging utilization criterion, update the debug mapping table in the database to maintain an association between the debugging session, the instance of the virtual application from which client request originated, and the first application server, provide execution information corresponding to a current execution state of the instance of the virtual application provided by the first application server when execution of the application code stops to a network address associated with the debugger via the network based on the association between the application code and the debugging session, and redirect a debugging execution request received from the debugger via the network at a second application server to the first application server after accessing the debug mapping table and determining the debugging request pertains to the instance of the virtual application executing on the first application server based on the association between the debugging session and the first application server in the database, wherein the first application server executes a portion of the application code in response to the debugging request to resume performance of the client request in accordance with the debugging execution request and provides second execution information pertaining to an execution state of the instance of the virtual application corresponding to the first application server executing the portion of the application code to the debugger via the network as a response to the debugging execution request. - View Dependent Claims (15, 16, 17)
- a database to maintain application code associated with a first tenant of a plurality of tenants and including a debug mapping table maintaining an association between the application code and a debugging session associated with a debugger; and
Specification