Я использую MVC 5, .NET 4.7, C #, EF6, SQL Server.
Я выполнял профилирование производительности на своем ноутбуке с помощью DotTrace, и это отлично. Однако я застрял после публикации в службе приложений Azure, поскольку DotTrace не поддерживает это, что является большим позором. Поэтому я попытался использовать трассировку профилей в Application Insights, поскольку в облаке, похоже, возникают дополнительные узкие места, которые я не могу объяснить. Однако я обнаружил, что трассировка профиля временной шкалы гораздо менее полезна, чем DotTrace, в основном из-за меньшего количества информации.
Также я считаю, что профилировщик ANTS может использовать только локальный эмулятор Azure, так что мне кажется, что мне не хватает горячих точек разогрева в реальном времени на разных уровнях ценообразования, проблем с подключением SQL Azure и т. Д.
Я нашел NewRelic в некоторой степени полезным, но он не будет работать с Application Insights, а его агент - нет. Я не верю, что DataDogHQ переходит на уровень кодовой линии.
Какие другие инструменты доступны для профилирования производительности, до уровня кода строки, для экземпляров службы приложений?
Заранее спасибо.
РЕДАКТИРОВАТЬ: Я пытался исследовать ИИ больше, и я столкнулся с 3 проблемами:
1) Он профилируется случайным образом, что, я думаю, сделано так, чтобы минимизировать влияние на сервер.
2) Я не могу понять, когда трассировка профилировщика становится доступной, а затем, когда это происходит, кажется, что на временной шкале видны только события БД.
3) Я попытался загрузить файл ETL и просмотреть его в средстве просмотра производительности Windows, но информация была очень системной, а не специфичной для приложения, которую отображал DotTrace.
ИИ выглядит великолепно, особенно когда вы можете использовать его из Visual Studio. Однако я действительно застрял на том, как я получаю временную шкалу всех вызываемых методов, вплоть до кодовой линии узкого места. Возможно, это не может сделать это?