Determining that a routine has stalled
DCFirst Claim
1. A method for detecting whether a routine has stalled, comprising:
- receiving a call from within a particular routine indicating that said particular routine has started, said particular routine is one of a plurality of routines that comprise a process;
receiving a call from within said particular routine indicating that said particular routine has completed, if said particular routine has completed;
automatically determining that said particular routine has stalled if said call indicating that said particular routine has completed is not provided prior to being overdue, such that being overdue is based on said call indicating that a particular routine has started; and
reporting that said particular routine has stalled, if said particular routine has stalled.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A system is disclosed that can determine whether a routine is stalled. The system does not require the developer of the routine to add code for the purpose of detecting whether the routine is stalled. Furthermore, the system can be used to monitor various routines at different levels of granularity, such as at the thread level, method level, or other levels. One embodiment of the present invention allows a user to specify a method and an expected time frame. Code for that method is modified to add additional code that implements a timing mechanism. The timing mechanism is used to detect when a thread enters that method and does not return within an approximation of the expected time frame. Other embodiments are also within the scope of the present invention.
6 Citations
23 Claims
-
1. A method for detecting whether a routine has stalled, comprising:
-
receiving a call from within a particular routine indicating that said particular routine has started, said particular routine is one of a plurality of routines that comprise a process; receiving a call from within said particular routine indicating that said particular routine has completed, if said particular routine has completed; automatically determining that said particular routine has stalled if said call indicating that said particular routine has completed is not provided prior to being overdue, such that being overdue is based on said call indicating that a particular routine has started; and reporting that said particular routine has stalled, if said particular routine has stalled. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for detecting whether a method has stalled, comprising:
-
receiving an indication that a particular method of an object is running; and automatically determining whether said particular method has stalled by detecting whether a thread entered said particular method and did not return within an approximation of an expected time frame.
-
-
7. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
-
receiving a call from within a first routine indicating that said first routine has started; starting a timing mechanism in response to said call indicating that said first routine has started; receiving a call from within said first routine indicating that said first routine has completed, if said first routine has completed; stopping said timing mechanism in response to receiving said call indicating that said first routine has completed; and reporting said first routine as stalled if said timing mechanism is not stopped prior to a determination that said timing mechanism is overdue. - View Dependent Claims (8, 9, 10)
-
-
11. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
-
receiving a call from within a particular routine indicating that said particular routine has started; receiving a call from within said particular routine indicating that said particular routine has completed, if said particular routine has completed; and reporting said particular routine as stalled if said call indicating that said particular routine has completed is not received prior to being overdue in relation to said call indicating that said particular routine has started. - View Dependent Claims (12, 13, 14)
-
-
15. A method for detecting whether a routine has stalled, comprising:
-
receiving a first call from within a particular routine indicating that said particular routine has started; receiving a second call from within said particular routine indicating that said particular routine has completed; automatically determining whether said particular routine is stalled based on said first call and said second call; and reporting said particular routine as being stalled if said particular routine is determined to be stalled. - View Dependent Claims (16, 17, 18, 19)
-
-
20. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
-
receiving a first call from within a particular routine indicating that said particular routine has started, said particular routine is one of a plurality of routines that comprise a process; receiving a second call from within said particular routine indicating that said particular routine has completed; automatically determining whether said particular routine is stalled based on said first call and said second call; and reporting said particular routine as being stalled if said particular routine is determined to be stalled. - View Dependent Claims (21, 22, 23)
-
Specification