@hax
junior developer

Какие тулы для профилирования ASP.NET Core приложений в докере можете посоветовать?

Всем привет! Появилась необходимость изучить производительность отдельных эндпоинтов в ASP.NET Core Web API, работающего в докер-контейнере. Необходимо изучить какие методы жрут больше всего CPU/RAM и какие методы больше всего выполняются. Докер-конейнер находится в кубернетесе на удалённой машине.
Сейчас рассматриваю следующие варианты:
1) dotTrace. Пробовал запускать через dotTrace.sh внутри контейнера и читать снепшот через Rider. Не очень информативный получился снепшот (хотя может быть я просто я открывал его как-то не так :))
2) dotnet-trace.
3) Visual Studio Performance Profiler - пока что не разобрался как можно подключиться к remote process в докере в VS Community 2019.

Можете подсказать на какую тулу стоит потратить больше времени для изучения? Какая из них даст ту статистику, которая мне необходима?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
firedragon
@firedragon Куратор тега C#
Senior .NET developer
Посмотрите в эту сторону
https://2017.dotnext-moscow.ru/2017/msk/talks/2dfo...

Мой выбор
https://miniprofiler.com/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vabka
Fullstack dev
Докер-конейнер находится в кубернетесе на удалённой машине.

Это всё осложняет. Обычно, на продакшене профилировать не стоит - лучше написать нагрузочные тесты и запускать в разработческом окружении
Как вариант для dotnet-trace
  1. Базовый образ в докере должен быть SDK 3.0+
  2. Устанавливаем dotnet-trace в докере
    RUN dotnet tool install --global dotnet-trace
    ENV PATH $PATH:/root/.dotnet/tools


  3. После запуска приложения в контейнере (писать в консоль в докере):
    dotnet-trace collect --process-id $(pidof dotnet) --providers Microsoft-DotNETCore-SampleProfiler


  4. Когда всё - жмём Ctrl+C, в папке с приложением будет файл trace.nettrace


https://stackoverflow.com/questions/59364119/net-c...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Deltasoft Казань
от 60 000 до 100 000 ₽
Почта Банк Москва
от 200 000 до 240 000 ₽
IQSoft Новосибирск
от 130 000 ₽
04 авг. 2020, в 08:36
2000 руб./за проект
04 авг. 2020, в 06:54
5000 руб./за проект
04 авг. 2020, в 03:17
1000 руб./за проект