PER-REQUEST EVENT DETECTION TO IMPROVE REQUEST-RESPONSE LATENCY
First Claim
Patent Images
1. A computing system, comprising:
- request receiving logic that receives a request, assigns the request a transaction identifier and identifies a plurality of workflows corresponding to the request, each workflow having a set of tasks to be executed to generate a response to the request;
task execution logic, in a first worker thread, that activates computing subroutines in the computing system to execute the tasks in a first workflow of the identified workflows;
a memory that stores a runtime stack indicative of the computing subroutines of the computing system that are active;
event raising logic that raises a latency event when a latency operation is performed by the task execution logic in executing the tasks in the first workflow;
time capture logic that captures a time stamp;
stack trace capture logic that captures a stack trace of the runtime stack;
event processing logic, external to the first worker thread, that detects the latency event and generates control signals to control the time capture logic to capture a timestamp and to control the stack trace capture logic to capture a stack trace of the runtime stack, in response to the latency event; and
data aggregation logic that aggregates captured timestamps and captured stack traces across the plurality of different workflows corresponding to the request, based on the transaction identifier.
1 Assignment
0 Petitions
Accused Products
Abstract
Events are raised by a worker thread that is executing a workflow, when the worker thread starts, suspends, resumes and ends execution of the workflow. A latency detection system, that is external to the worker thread, detects when these events are raised and logs a timestamp and a stack trace, corresponding to the workflow and the event that was raised.
2 Citations
20 Claims
-
1. A computing system, comprising:
-
request receiving logic that receives a request, assigns the request a transaction identifier and identifies a plurality of workflows corresponding to the request, each workflow having a set of tasks to be executed to generate a response to the request; task execution logic, in a first worker thread, that activates computing subroutines in the computing system to execute the tasks in a first workflow of the identified workflows; a memory that stores a runtime stack indicative of the computing subroutines of the computing system that are active; event raising logic that raises a latency event when a latency operation is performed by the task execution logic in executing the tasks in the first workflow; time capture logic that captures a time stamp; stack trace capture logic that captures a stack trace of the runtime stack; event processing logic, external to the first worker thread, that detects the latency event and generates control signals to control the time capture logic to capture a timestamp and to control the stack trace capture logic to capture a stack trace of the runtime stack, in response to the latency event; and data aggregation logic that aggregates captured timestamps and captured stack traces across the plurality of different workflows corresponding to the request, based on the transaction identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer implemented method, comprising:
-
receiving a service request; assigning the service request a transaction identifier; identifying a plurality of workflows corresponding to the request, each workflow having a set of tasks to be executed to generate a response to the request; activating, with a first worker thread, computing subroutines to execute the tasks in a first workflow of the identified workflows; maintaining a runtime stack indicative of the computing subroutines that are active; raising a latency event, with the first worker thread, when a latency operation is performed in executing the tasks in the first workflow; detecting the latency event at an event detector that is separate from the first worker thread; generating control signals to capture a timestamp and to capture a stack trace of the runtime stack, in response to the latency event; and aggregating captured timestamps and captured stack traces across the plurality of different workflows corresponding to the request, based on the transaction identifier to identify an end-to-end latency indicative of a time to respond to the request, based on the aggregated timestamps. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computing system, comprising:
-
request receiving logic that receives a request, assigns the request a transaction identifier and identifies a plurality of workflows corresponding to the request, each workflow having a set of tasks to be executed to generate a response to the request; task execution logic, in a first worker thread, that activates computing subroutines in the computing system to execute the tasks in a first workflow of the identified workflows; a memory that stores a runtime stack indicative of the computing subroutines of the computing system that are active; event raising logic that raises a latency event when a latency operation is performed by the task execution logic in executing the tasks in the first workflow; time capture logic that captures a time stamp; stack trace capture logic that captures a stack trace of the runtime stack; event processing logic, external to the first worker thread, that detects the latency event and generates control signals to control the time capture logic to capture a timestamp and to control the stack trace capture logic to capture a stack trace of the runtime stack, in response to the latency event; and data aggregation logic that aggregates captured timestamps and captured stack traces across the plurality of different workflows corresponding to the request, based on the transaction identifier and to identify an end-to-end latency indicative of a time to respond to the request, based on the aggregated timestamps. - View Dependent Claims (20)
-
Specification