Request-based activation of debugging and tracing
View Patent ↗Apparatus, systems, and methods for troubleshooting a software service are disclosed that operate to execute the software service on a computing platform to provide a software execution; receive a request at the software service, the request including a client session identifier; identify a troubleshooting point in the software execution based on the client session identifier; and perform a troubleshooting action when the troubleshooting point is detected during the software execution. Additional apparatus, systems, and methods are disclosed.
1. A computer-implemented method for r b shooting a software service, the method comprising:
executing the software service on a computing platform to provide a software execution;
receiving a request at the software service, the request including a client session identifier uniquely identifying a user login session, the software execution processing the request;
identifying a troubleshooting point in the software execution based on the client session identifier, the identifying including accessing a database that describes a relationship between the client session identifier and the troubleshooting point; and
performing a troubleshooting action on the software execution when the troubleshooting point is detected during the software execution processing the request.
2. The method of claim 1 , wherein the software service is one instance of a plurality of instances, each instance of the plurality of instances being executed on a corresponding computer of a plurality of computers.
3. The method of claim 1 , wherein the client session identifier is a globally unique identification associated with a user logon.
4. The method of claim 1 , wherein the troubleshooting action comprises suspending execution of the software execution at a point in the software execution that corresponds with the troubleshooting point.
5. The method of claim 1 , wherein the troubleshooting action comprises interrupting the software execution when a data value corresponds with the troubleshooting point.
6. The method of claim 1 , wherein the troubleshooting action comprises presenting a state of the software execution at the point in the software execution that corresponds with the troubleshooting point.
7. A system for troubleshooting a software service, the system comprising:
a memory to store data describing a relationship between a client session identifier and a troubleshooting point; and
a processor configured to:
execute the software service on a computing platform to provide a software execution;
receive a request at the software service, the request including the client session identifier;
identify the troubleshooting point in the software execution based on the client session identifier, the identifying including accessing the data describing a relationship between the client session identifier and the troubleshooting point; and
perform a troubleshooting action when the troubleshooting point is detected during the software execution.
8. The system of claim 7 , wherein the software service is one instance of a plurality of instances, each instance of the plurality of instances being executed on a corresponding computer of a plurality of computers.
9. The system of claim 7 , wherein the client session identifier is a globally unique identification associated with a user logon.
10. The system of claim 7 , wherein the troubleshooting action comprises suspending the software execution at a point in the software execution that corresponds with the troubleshooting point.
11. The system of claim 7 , wherein the troubleshooting action comprises interrupting the software execution when a data value corresponds with the troubleshooting point.
12. A system comprising:
a client computer; and
a server computer, the server computer executing a server software process,
wherein the client computer is configured to transmit, to the server computer, a client session identifier associated with a user login and a request to the server software process, and
wherein the server computer is configured to:
receive the client session identifier,
identify a troubleshooting point associated with the client session identifier, the identifying including accessing a database that describes a relationship between the client session identifier and the troubleshooting point, and
during execution of the server software process, perform a troubleshooting action on the server software process at the troubleshooting point.
13. The system of claim 12 , wherein the client computer comprises a client software process configured to communicate with the server software process.
14. The system of claim 13 , wherein the client software process comprises a web browser plugin.
15. A method for troubleshooting a software program executing on a computer, the method comprising:
identifying a client session identifier;
relating the client session identifier to a troubleshooting point in the software program, the relating including identifying the software program from a plurality of software programs, wherein the plurality of software programs comprise different software application services;
storing a relationship between the client session identifier and the software program in a database; and
during execution of the software program, performing a troubleshooting action on the execution of the software program at the troubleshooting point when a current client session identifier is equal to the client session identifier, the current client session identifier associated with a request to the execution of the software program.
16. The method of claim 15 , wherein identifying the client session identifier further comprises receiving the client session identifier via a user interface control.
17. The method of claim 15 , wherein performing the troubleshooting action further comprises:
instantiating a debugger software program; and
presenting a current state of the software program via the debugger software program.
18. The method of claim 17 , wherein instantiating the debugger software program is performed at a location remote from a location where the software program is executed.
19. A method for troubleshooting a software program executing on a computer, the method comprising:
identifying a client session identifier;
relating the client session identifier to a troubleshooting point in the software program,
during execution of the software program, performing a troubleshooting action on the execution of the software program at the troubleshooting point when a current client session identifier is equal to the client session identifier, the current client session identifier associated with a request to the execution of the software program;
receiving the troubleshooting action; and
storing a relationship between the client session identifier, the troubleshooting point, and the troubleshooting action in a database.
20. A method for troubleshooting software programs executing at a service provider, the service provider comprising a first server system and a second server system, the method comprising:
receiving a client session identifier at the first server system in association with a request to the service provider;
determining whether a first troubleshooting operation related to the client session identifier is activated at the first server system, the determining including accessing a database that describes a relationship between the client session identifier and the first troubleshooting operation;
initiating the first troubleshooting operation at the first server system in response to determining that there is an active first troubleshooting operation related to the client session identifier;
transmitting the client session identifier to the second server system;
determining whether a second troubleshooting operation related to the client session identifier is activated at the second server system. the determining including accessing a database that describes a relationship between the client session identifier and the second troubleshooting operation; and
initiating the second troubleshooting operation at the second server system in response to determining that there is an active second troubleshooting operation related to the client session identifier.