Как зарегистрировать время выполнения каждого метода на уровне страницы, бизнеса и доступа к данным в ASP.NET?

У меня есть сложное приложение ASP.NET, и оно работает с 2009 года. Мне нужно отслеживать его производительность и определять, какие методы и слои требуют времени или ресурсов. Затем я могу оптимизировать методы.

Прямо сейчас я использую SQL Profiler для проверки запросов и шаг за шагом настраиваю базу данных. Я хочу сделать то же самое для других слоев (UI, Service и Repository).

Я использовал Postsharp и блок приложения внедрения политик корпоративной библиотеки.

Я реализовал некоторые атрибуты и добавил их в некоторые классы, что помогает мне автоматически получать BeforeMethodEntry и AfterMethodEntry (модель АОП). Поэтому я могу получить время выполнения каждого метода. Он также обрабатывает журнал исключений и журнал просмотра страниц.

Но я думаю, что может быть другое реализованное/стандартное решение для мониторинга запущенного приложения.

PS: я реализовал другое решение, такое как реализация ExceptionHttpModule и PageViewHttpModule, которым не нужны сторонние библиотеки. Это не соответствует моим требованиям.

*Проще говоря, я хочу регистрировать и отслеживать действия слоя (особенно продолжительность выполнения метода). *


person Amir Pournasserian    schedule 24.11.2010    source источник


Ответы (1)


Вы можете изучить Spring.Net Aop. Если вы используете AroundAdvice, вы сможете запустить секундомер перед выполнением метода и остановить его сразу после его завершения. Есть способ использовать его так же, как с PostSharp (т. е. с использованием атрибутов).

person seraphim_coder    schedule 31.12.2010