[ann] .net core AOP using ICorProfiler
От: Андрей Бабошин Германия http://andreybaboshin.livejournal.com/
Дата: 28.05.20 14:02
Оценка: 196 (8)
Привет!

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.
Re: [ann] .net core AOP using ICorProfiler
От: Ночной Смотрящий Россия  
Дата: 29.05.20 18:05
Оценка:
Здравствуйте, Андрей Бабошин, Вы писали:

АБ>Изначально идея была в том, чтобы упростить мониторинг .net core приложений, а потом завертелось.


Перфоманс пробовал мерить?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: [ann] .net core AOP using ICorProfiler
От: _NN_ www.nemerleweb.com
Дата: 29.05.20 19:28
Оценка:
Здравствуйте, Андрей Бабошин, Вы писали:

АБ>Привет!

Привет

АБ>Работает в .net core 2.1/3.1.


А кроссплатформенно это можно проделать, хотя бы в теории ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: [ann] .net core AOP using ICorProfiler
От: Андрей Бабошин Германия http://andreybaboshin.livejournal.com/
Дата: 29.05.20 23:44
Оценка: 12 (1)
Здравствуйте, _NN_, Вы писали:

АБ>>Работает в .net core 2.1/3.1.


_NN>А кроссплатформенно это можно проделать, хотя бы в теории ?


Компилируется как под виндой (только из студии, скрипты я не писал), так и под линукс cmake'ом (https://github.com/ABaboshin/DotNetCoreProfiler/blob/core-2.1/Dockerfile.native).

Это если я правильно понял вопрос
Re[2]: [ann] .net core AOP using ICorProfiler
От: Андрей Бабошин Германия http://andreybaboshin.livejournal.com/
Дата: 29.05.20 23:45
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, Андрей Бабошин, Вы писали:


АБ>>Изначально идея была в том, чтобы упростить мониторинг .net core приложений, а потом завертелось.


НС>Перфоманс пробовал мерить?


В числах ещё нет, но на тестовой системе на работе с кучей микросервисов просадки не наблюдается.
Re[3]: [ann] .net core AOP using ICorProfiler
От: _NN_ www.nemerleweb.com
Дата: 30.05.20 04:11
Оценка:
Здравствуйте, Андрей Бабошин, Вы писали:

АБ>Здравствуйте, _NN_, Вы писали:


АБ>>>Работает в .net core 2.1/3.1.


_NN>>А кроссплатформенно это можно проделать, хотя бы в теории ?


АБ>Компилируется как под виндой (только из студии, скрипты я не писал), так и под линукс cmake'ом (https://github.com/ABaboshin/DotNetCoreProfiler/blob/core-2.1/Dockerfile.native).


АБ>Это если я правильно понял вопрос


Ок. Надо будет попробовать.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: [ann] .net core AOP using ICorProfiler
От: Андрей Бабошин Германия http://andreybaboshin.livejournal.com/
Дата: 03.06.20 17:33
Оценка:
Здравствуйте, Андрей Бабошин, Вы писали:

АБ>Работает в .net core 2.1/3.1.


Обновления:
— перехватывает вызовы в entrypoint, до этого в entrypoint происходила только загрузка dll'ки и более ничего,
— всё ещё без чисел, но улучшена скорость работы путём удаления лишних вызовов SetILFunctionBody.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.