Привет!
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.
Здравствуйте, Андрей Бабошин, Вы писали:
АБ>Изначально идея была в том, чтобы упростить мониторинг .net core приложений, а потом завертелось.
Перфоманс пробовал мерить?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Здравствуйте, Андрей Бабошин, Вы писали:
АБ>Привет!
Привет
АБ>Работает в .net core 2.1/3.1.
А кроссплатформенно это можно проделать, хотя бы в теории ?
Здравствуйте, _NN_, Вы писали:
АБ>>Работает в .net core 2.1/3.1.
_NN>А кроссплатформенно это можно проделать, хотя бы в теории ?
Компилируется как под виндой (только из студии, скрипты я не писал), так и под линукс cmake'ом (
https://github.com/ABaboshin/DotNetCoreProfiler/blob/core-2.1/Dockerfile.native).
Это если я правильно понял вопрос
Здравствуйте, Андрей Бабошин, Вы писали:
АБ>Здравствуйте, _NN_, Вы писали:
АБ>>>Работает в .net core 2.1/3.1.
_NN>>А кроссплатформенно это можно проделать, хотя бы в теории ?
АБ>Компилируется как под виндой (только из студии, скрипты я не писал), так и под линукс cmake'ом (https://github.com/ABaboshin/DotNetCoreProfiler/blob/core-2.1/Dockerfile.native).
АБ>Это если я правильно понял вопрос
Ок. Надо будет попробовать.