Возможно, вам придется вручную обрабатывать наиболее интересные фрагменты кода.
Несмотря на то, что существуют решения для инъекции IL (см. Страницу MSIL Injection на сайте PostSharp), я не думаю, что возможно внедрить код в произвольных местах без изменения существующей кодовой базы,Тем не менее, во многих случаях относительно легко оборудовать большую часть существующего кода (учитывая, что он достаточно хорошо разделен на модули) с использованием декораторов.Например, добавьте пользовательское профилирование DelegatingHandler
в HttpClient
или используйте профилирование SqlConnection
factory.
Для проверки иерархии вызовов и задержки вы можете использовать MiniProfiler , это встроенные декораторыи RenderPlainText()
метод.Или вы можете использовать библиотеку Metrics.NET для проверки показателей, связанных с пропускной способностью, таких как гистограмма и счетчик.