Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of monitoring execution of user requests in a distributed system, comprising: sampling a first user request received by a plurality of servers in a distributed system; generating an identifier corresponding to the first user request sampled by the plurality of servers, the identifier being sent as a variable to a current thread that is invoked by the first user request, and wherein: in the event that a first process relating to the first user request is the same as a second process relating to a second user request, a different thread is invoked from a thread invoked by the second user request, and the identifier is retained in a thread variable relating to the different thread; in the event that the first process has created a plurality of sub-processes, the identifier is sent to the plurality of sub-processes; and in the event that the first user request spans a plurality of processes and invokes one or more different threads different from the current thread, the identifier is sent via a communication protocol to the plurality of processes; injecting tracking interfaces in advance into processes executed by the plurality of servers in the distributed system; and determining whether the current process contains the identifier corresponding to the first user request.
2. The method as described in claim 1 , wherein the sampling of the first user request received by the plurality of servers in the distributed system includes: conducting a random sampling of the first user request received by the plurality of the servers in the distributed system based on a ratio of 1% to 5%.
3. The method as described in claim 1 , wherein the generating of the identifier corresponding to the first user request sampled by the plurality of servers includes: generating the uniquely corresponding identifier based on a user request send time and a marker of the request-receiving server for the first user request sampled by the plurality of receiving servers.
4. The method as described in claim 1 , wherein the recording of the information corresponding to the identifier relating to the function indicated by the tracking interface and the generating of the log includes: outputting the identifier, a name and location of the invoked function, a time when the function was invoked, error information generated at a time of invoking to the log, or any combination thereof.
5. The method as described in claim 1 , wherein the individually collecting of the generated log according to the corresponding identifier includes: individually classifying received logs according to different identifiers; individually classifying logs that have the same identifier according to different processes; individually merging logs that have the same identifier and the same process according to the function and according to invoking beginning and end times; and combining process-spanning logs that have the same identifier according to the time sequence.
6. The method as described in claim 1 , further comprising: after the individually collecting of the generated log, analyzing the collected log and outputting an analysis result.
7. The method as described in claim 6 , wherein the analyzing of the collected log comprises: performing different-path analysis on a third user request having the same form of invocation; analyzing a user request run path in the distributed system and a run time in a module; invoking frequency analysis in the module in the distributed system; or any combination thereof.
8. A system for monitoring execution of user requests on a distributed system, comprising: at least one processor configured to: sample a first user request received by a plurality of servers in a distributed system; generate an identifier corresponding to the first user request sampled by the plurality of servers, the identifier being sent as a variable to a current thread that is invoked by the first user request, and wherein: in the event that a first process relating to the first user request is the same as a second process relating to a second user request, a different thread is invoked from a thread invoked by the second user request, and the identifier is retained in a thread variable relating to the different thread; in the event that the first process has created a plurality of sub-processes, the identifier is sent to the plurality of sub-processes; and in the event that the first user request spans a plurality of processes and invokes one or more different threads different from the current thread, the identifier is sent via a communication protocol to the plurality of processes; inject tracking interfaces in advance into processes executed by the plurality of servers in the distributed system; and determine whether the current process contains the identifier corresponding to the first user request; and a memory coupled to the at least one processor and configured to provide the at least one processor with instructions.
9. The system as described in claim 8 , wherein the at least one processor further configured to: after the collecting of the generated log: perform different-path analysis on a third user request having the same form of invocation; analyze a user request run path in the distributed system and run time in a module; invoke frequency analysis in the module in the distributed system; or any combination thereof.
10. A computer program product for monitoring execution of user requests on a distributed system, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for: sampling a first user request received by a plurality of servers in a distributed system; generating an identifier corresponding to the first user request sampled by the plurality of servers, the identifier being sent as a variable to a current thread that is invoked by the first user request, and wherein: in the event that a first process relating to the first user request is the same as a second process relating to a second user request, a different thread is invoked from a thread invoked by the second user request, and the identifier is retained in a thread variable relating to the different thread; in the event that the first process has created a plurality of sub-processes, the identifier is sent to the plurality of sub-processes; and in the event that the first user request spans a plurality of processes and invokes one or more different threads different from the current thread, the identifier is sent via a communication protocol to the plurality of processes; injecting tracking interfaces in advance into processes executed by the plurality of servers in the distributed system; and determining whether the current process contains the identifier corresponding to the first user request.
Unknown
November 1, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.