если не ошибаюсь, то можно использовать Visual Studio Analyzer
A common performance issue in distributed applications is an abnormally long execution time. This increase in execution time and decrease in application performance is commonly known as a performance bottleneck. For example, suppose your COM-based, data-driven application appears to be running slower than you expect. You can use Visual Studio Analyzer to locate the problem by pinpointing which component is creating a bottleneck.
если в собсвенной программе то нужно использовать коунтеры