Назад | Перейти на главную страницу

как NewRelic работает, просто установив .Net агент?

Вчера решил подарить NewRelic попытка. Я зарегистрировал бесплатную учетную запись, установил агент .Net и перезапустил IIS в соответствии с инструкциями. Сразу же этот агент начал отображать на панели инструментов огромное количество информации, например:

Как можно сделать вышеуказанное и многое другое, просто установив агент .Net? Меня беспокоит фактическая производительность приложения - раньше я использовал инструменты профилирования, которые сильно замедляли работу приложения, изменяя скомпилированные библиотеки DLL. Однако этот инструмент, похоже, ничего не изменил.

Мне все еще нужно придумать, что означает вся эта информация и как это на самом деле может мне помочь, но для меня это выглядит довольно «волшебным», и меня беспокоит, есть ли какие-либо последствия для производительности, если оставить агент запущенным и загрузить информацию на панель управления.

New Relic заявляет, что они используют API профилирования .Net.

https://docs.newrelic.com/docs/dotnet/new-relic-net-installation#trouble

Агент .NET обрабатывает код приложения и системы с помощью BCI (внедрение байтового кода). Это делается путем регистрации агента New Relic в CLR (Common Language Runtime) в качестве «профилировщика». CLR обращается к .NET-агенту при загрузке кода, и агент обрабатывает код, если это интересный вызов метода.

Ключевое различие между New Relic .NET Agent и традиционными инструментами профилирования заключается в том, что New Relic .NET Agent не инструментально все. Разработчики New Relic изучили и выбрали ключевые методы в различных фреймворках (например, ASP.NET) и библиотеках (например, SQL Server), и агент внедряет код только в эти методы. Традиционный профилировщик вставит код в все поэтому они обычно замедляют работу вашего приложения. Выборочно внедряя код, New Relic может снизить накладные расходы, но при этом дать вам представление об интересных частях вашего приложения.