Я хочу измерить производительность управляемого (.NET) потока. Чтобы быть конкретным, мне нужно измерить следующее -
-
Как долго поток использует процессор?
-
Как долго он остается заблокированным (ожидая завершения удаленного вызова метода)?
Использование System.Diagnostic.StopWatch не помогает, потому что он читает функцию таймера производительности с высоким разрешением ОС/аппаратного обеспечения, которая может включать время, затрачиваемое на другие потоки, выполняемые параллельно и совместное использование одного и того же CPU.