Generate diagnostic data for overdue thread in a data processing system
First Claim
1. A computer implemented method to generate diagnostic data for a thread, the method comprising:
- allocating a first thread to a monitoring function;
determining if a second thread is running, wherein the second thread is associated with a first operation wherein the first operation is a hardware-object-model operation;
obtaining a first object pointer from a list of running threads, wherein the first object pointer references a first time data structure associated with the second thread, the first time data structure comprising a first maximum running time interval and a first check time;
responsive to obtaining the first object pointer, determining whether the first maximum running time interval is finite;
responsive to a determination that the first maximum running time interval is finite, calculating the first check time as the first maximum running time interval added to an initially sampled timestamp;
determining if a first current time exceeds the first check time;
responsive to a determination that the first current time exceeds the first check time, generating an error log;
determining if a third thread is running, wherein the third thread is associated with a second operation;
obtaining a second object pointer from the list of running threads, wherein the second object pointer references a second time data structure associated with the third thread, the second time data structure comprising a second maximum running time interval and a second check time;
calculating the second check time as the second maximum running time interval added to the initially sampled timestamp;
determining if a second current time exceeds the second check time; and
responsive to a determination that the second current time exceeds the second check time, generating the error log.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a computer implemented method, computer program product, and apparatus for generating diagnostic data for a thread. A service processor may begin by executing the computer usable program code to allocate a first thread to a monitoring function. The service processor determines if a second thread is running, wherein the second thread is associated with an operation. The service processor obtains an object pointer from a list of running threads, wherein the object pointer references a time data structure associated with the second thread, the time data structure comprising a maximum running time interval and a check time. The service processor calculates the check time as a maximum running time interval added to an initially sampled timestamp. The service processor determines if a current time exceeds the check time. In addition, the service processor generates an error log, responsive to a determination that the current time exceeds the check time.
-
Citations
7 Claims
-
1. A computer implemented method to generate diagnostic data for a thread, the method comprising:
-
allocating a first thread to a monitoring function; determining if a second thread is running, wherein the second thread is associated with a first operation wherein the first operation is a hardware-object-model operation; obtaining a first object pointer from a list of running threads, wherein the first object pointer references a first time data structure associated with the second thread, the first time data structure comprising a first maximum running time interval and a first check time; responsive to obtaining the first object pointer, determining whether the first maximum running time interval is finite; responsive to a determination that the first maximum running time interval is finite, calculating the first check time as the first maximum running time interval added to an initially sampled timestamp; determining if a first current time exceeds the first check time; responsive to a determination that the first current time exceeds the first check time, generating an error log; determining if a third thread is running, wherein the third thread is associated with a second operation; obtaining a second object pointer from the list of running threads, wherein the second object pointer references a second time data structure associated with the third thread, the second time data structure comprising a second maximum running time interval and a second check time; calculating the second check time as the second maximum running time interval added to the initially sampled timestamp; determining if a second current time exceeds the second check time; and responsive to a determination that the second current time exceeds the second check time, generating the error log. - View Dependent Claims (2)
-
-
3. A computer program product for generating diagnostic data for a thread, the computer program product comprising:
- a tangible storage device having computer usable program code embodied therewith, the computer program product comprising;
computer usable program code configured to allocate a first thread to a monitoring function; computer usable program code configured to determine if a second thread is running, wherein the second thread is associated with a first operation, wherein the first operation is a hardware-object-model operation; computer usable program code configured to obtain a first object pointer from a list of running threads, wherein the first object pointer references a first time data structure associated with the second thread, the first time data structure comprising a first maximum running time interval and a first check time; computer usable program code configured to determine whether the first maximum running time interval is finite, responsive to obtaining the first object pointer; computer usable program code configured to calculate the first check time as the first maximum running time interval added to an initially sampled timestamp, responsive to a determination that the first maximum running time interval is finite; computer usable program code configured to determine if a first current time exceeds the first check time; computer usable program code configured to generate an error log, responsive to a determination that the first current time exceeds the first check time; computer usable program code configured to determine if a third thread is running, wherein the third thread is associated with a second operation; computer usable program code configured to obtain a second object pointer from the list of running threads, wherein the second object pointer references a second time data structure associated with the third thread, the second time data structure comprising a second maximum running time interval and a second check time; computer usable program code configured to calculate the second check time as the second maximum running time interval added to the initially sampled timestamp; computer usable program code configured to determine if a second current time exceeds the second check time; and computer usable program code configured to generate the error log, responsive to a determination that the second current time exceeds the second check time. - View Dependent Claims (4)
- a tangible storage device having computer usable program code embodied therewith, the computer program product comprising;
-
5. A data processing system for generating diagnostic data for a thread, the data processing system comprising:
-
a bus; a storage device connected to the bus, wherein computer usable code is located in the storage device; a communication unit connected to the bus; and a processing unit connected to the bus, wherein the processing unit executes the computer usable program code to allocate a first thread to a monitoring function;
determine if a second thread is running, wherein the second thread is associated with a first operation, wherein the first operation is a hardware-object-model operation;
obtain a first object pointer from a list of running threads, wherein the first object pointer references a first time data structure associated with the second thread, the first time data structure comprising a first maximum running time interval and a first check time;
determine whether the first maximum running time interval is finite, responsive to obtaining the first object pointer, responsive to a determination that the first maximum running time interval is finite;
calculate the first check time as the first maximum running time interval added to an initially sampled timestamp;
determine if a first current time exceeds the first check time;
generate an error log, responsive to a determination that the first current time exceeds the first check time;
determine if a third thread is running, wherein the third thread is associated with a second operation;
obtain a second object pointer from the list of running threads, wherein the second object pointer references a second time data structure associated with the third thread, the second time data structure comprising a second maximum running time interval and a second check time;
calculate the second check time as the second maximum running time interval added to the initially sampled timestamp; and
determine if a second current time exceeds the second check time; and
generate the error log, responsive to a determination that the second current time exceeds the second check time. - View Dependent Claims (6, 7)
-
Specification