Привет!
AOP for .net core using ICorProfiler
https://github.com/ABaboshin/DotNetCoreProfiler
Изначально идея была в том, чтобы упростить мониторинг .net core приложений, а потом завертелось.
Умеет:
— перехватывать вызовы управляемых функций
— добавлять свой пролог и эпилог
— пропускать вызовы
Умеет плохо / не умеет:
— перехватывать вызову динамических методов
— работать с generic types
Примеры:
— инъекция конфигурации на старте
— перехват создания IServiceProvider
— инъекция трейс-контекста для входящих/исходящих http запросов, masstransit/rabbitmq сообщений
— мониторинг времени выполнения входящих/исходящих http запросов, masstransit/rabbitmq сообщений, efcore запросов
— мониторинг времени выполнения вызовов, помеченных аттрибутом Monitor
— кэширование результатов выполнения, помеченных аттрибутом Cache
— обнаружение взаимных блокировок потоков
Работает в .net core 2.1/3.1.