Patent Number: 
Section: claims

1. A computer implemented method for analyzing transitions in processor states, the computer implemented method comprising:collecting idle counts occurring during execution of code to form collected idle counts; andproviding the idle counts to an application for analyzing why a processor becomes idle, wherein collecting idle counts comprises:collecting information for a system having a transition between an idle state and a non-idle state to form collected system information; andproviding the collected system information for analysis by an application; and wherein collecting information comprises:generating trace records in response to events in which the processor transitions to the idle state and from the idle state; andstoring counts of times a processor associated with a thread has been in an idle state in nodes in a tree of entries into and exits out of routines. 2. The computer implemented method of claim 1, wherein the storing step comprises:storing a first count of a number of times a processor has been idle in a current node in response to an entry into a second routine from a first routine; andstoring a second count of the number of times the processor has been idle in the current node in response to an exit from the first routine. 3. The computer implemented method of claim 2, wherein the first count is a difference between a base count of the number of times the processor has been idle when the first routine was entered and a current count of the number of times the processor has been idle when the entry into the second routine from the first routine occurs. 4. The computer implemented method of claim 2, wherein the second count is a difference between a base count of the number of times the processor has been idle when the first routine was entered and a current count of the number of times the processor has been idle when the exit from the first routine occurs. 5. The computer implemented method of claim 4 further comprising:combining the trace records with the nodes in the tree using node identifiers. 6. The computer implemented method of claim 2, wherein the second count is a difference between a base count of the number of times the system has been idle when the first routine was entered and a current count of the number of times the system has been idle when the exit from the first routine occurs. 7. The computer implemented method of claim 1, wherein each trace record in the trace records includes a node identifier of a current node present when each trace record was generated.