Patent ID: 8601444

Claim:
A method for a computing system to display a visualization of thread timelines and disk input/output channel timelines, the method comprising: an act of executing an application program, wherein the execution of the application program results in operation of a plurality of threads and one or more disk input/output channels that are used by the plurality of threads, not all of the plurality of threads necessarily operating during the entire course of the execution; during the act of executing the application program, an act of sampling each operating thread of the plurality of threads to determine whether the operating thread is executing or not; and after the act of executing the application program, formulating a plurality of thread timelines and one or more disk input/output channel timelines using the samples, each of the plurality of thread timelines corresponding to one of the plurality of threads, each of the one or more disk input/output channel timelines corresponding to one of the disk input/output channels, each disk input/output channel timeline visualizing file input/output as it relates to at least one of the plurality of thread timelines, at least one of the plurality of thread timelines visualizing at least one time segment during which the corresponding thread was executing at corresponding times along the corresponding thread timeline and visualizing a plurality of time segments during which the corresponding thread was blocked at corresponding times along the corresponding thread timeline, visualizing the plurality of time segments during which the corresponding thread was blocked including visualizing the corresponding thread during each blocked time segment using a different visual indicator, each different visual indicator corresponding to a different reason why the corresponding thread was blocked during said time segment.