Редактировать: Я НЕ спрашиваю о способе реализации библиотеки профилирования, я спрашиваю, есть ли одна (желательно бесплатная) там .
Хотя существует множество коммерческих и бесплатных профилировщиков для платформы .NET, они все анализируют (лучше или хуже) код вашего приложения таким образом, чтобы вы могли увидеть, какой вызов метода или даже строка потребляют много ресурсов.
Хотя это может быть полезно во многих быстрых ситуациях оптимизации, меня интересовал более прямой «библиотечный» подход. По сути, я имею в виду нечто, что позволяет мне определять сценарии с контрольными точками, чтобы я мог профилировать и сравнивать между версиями любые два заданных сценария.
Я хочу иметь возможность определить что-то вроде:
Mon.StartScenario("ClientReportsTime");
// Get All clients
//...
Mon.CheckPoint(); // You should be able to see memory ussage
//and time taken to reach this point.
// Extract information
//..
Mon.CheckPoint();
// Finished!!
Mon.StopScenario("ClientReportsTime");
Так что сценарий имеет определенное время, которое может быть точно идентифицировано. Это относительно простая функциональность, и я собирался реализовать ее как библиотеку, когда подумал, что она может быть где-то там. Вы знаете о какой-то существующей библиотеке, подобной этой?