This is a continuation to How much time spent in a .NET Thread?
I know how I can measure cpu time of a thread (http://www.codeproject.com/KB/dotnet/ExecutionStopwatch.aspx), but I don't know how to measure IO wait of a thread. Thread waits for IO, gets interrupted. While other threads executing, IO operation of our thread long over, we return to our thread, we stop Stopwatch, but it shows incorrectly large time. Any ideas on this?