Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Nikita Tsukanov
    @kekekeks
    а, то есть инструментация всего и вся
    Mihhail Maslakov
    @ionoy
    угу
    можно добавлять типы, члены типов и т.д.
    есть ограничения конечно, но для базовых вещей работает неплохо
    Nikita Tsukanov
    @kekekeks
    а апдейты ты докомпилируешь рослином?
    Mihhail Maslakov
    @ionoy
    да
    потом сериализую в XML и десериализую в ET
    но рослин только на стороне разработчика, так что приложение не становится от этого тяжелее
    что важно для мобильников, ну и вообще для скорости выполнения
    Nikita Tsukanov
    @kekekeks
    т. е. MSIL конвертируется в итоге в ET
    занятно
    Mihhail Maslakov
    @ionoy
    сейчас это скорее Roslyn AST -> ET
    хочу перейти на Roslyn IOperation -> ET
    но работы и так дофига
    ищу людей, кстати. так что если есть кто толковый на примете, посоветуйте пожалуйста
    зарплату могу волне нормальную обеспечить
    Nikita Tsukanov
    @kekekeks
    а по перфомансу твоё чудо-решение как?
    это ж на каждый вызов проверки надо делать
    плюс инлайнинг JIT-ом
    Mihhail Maslakov
    @ionoy
    это инструмент времени разработки. если есть метод, который реально вызывается миллион раз в секунду, то его можно добавить в исключения
    вообще я первоначально не предполагал инструментировать все методы по умолчанию
    но мне кажется это будет более юзер-френдли вариант, чем заставлять пользователя вручную каждый метод добавлять
    Nikita Tsukanov
    @kekekeks
    ну так-то да
    посмотри ещё в сторону API профайлеров
    Mihhail Maslakov
    @ionoy
    а так перформанс очень даже нормальный, на тех платформах которые поддерживают Emit и не полагаются на интерпретатор
    Nikita Tsukanov
    @kekekeks
    в моне и неткоре
    Mihhail Maslakov
    @ionoy
    мне кажется они не кроссплатформены, не?
    я когда смотрел в эту сторону
    Nikita Tsukanov
    @kekekeks
    есть такое, да
    но для инструментации можно их использовать
    в качестве более быстрых бакэндов
    если у тебя сборка под netcoreapp, то туда можно профайлер воткнуть
    Mihhail Maslakov
    @ionoy
    вообще надо будет эту тему изучить, ты прав
    я их когда-то откинул, и больше не брался
    Nikita Tsukanov
    @kekekeks
    тот же newrelic через апи профайлера код инструментирует
    и инжектит свои заголовки в HttpClient, например
    Mihhail Maslakov
    @ionoy
    интересная штука, не слышал о них
    я как раз думал сделать упор на "умный" дебаг
    Nikita Tsukanov
    @kekekeks
    это очень недешёвый инструмент для мониторинга и сбора трейсов в гетерогенной серверной инфраструктуре
    т. е. у тебя вызов проходит цепочкой через 5 микросервисов на .NET, Java, Python, Go
    где-то в сервисе на Go делается очень медленный запрос к базе
    и ты в веб-интерфейсе видишь, что вот этот конкретный медленный запрос к базе из сервиса на Go произошёл из-за того что дёрнули апишку в дотнетном вебапи
    Mihhail Maslakov
    @ionoy
    то есть он инструментирует всё что только можно?
    Nikita Tsukanov
    @kekekeks
    ну на дотнете он инструментирует серверную часть ASP.NET, HttpClient и все популярные коннекторы к базам
    просто из коробки
    ты подключаешь из модуль через переменную окружения
    не трогая само приложение вообще
    Mihhail Maslakov
    @ionoy
    даже в рантайме можно, я так понимаю?
    Nikita Tsukanov
    @kekekeks
    ну там профайлер прогружается на старте CoreCLR
    Mihhail Maslakov
    @ionoy
    а, понял