2017-01-21 12 views
1

Как агент NewRelic .NET работает в своем ядре? Это какой-то модуль IIS или агент NewRelic придает CLR?Как работает новый агент Relic .NET?

E.g. как он знает, что какой-то запрос является внешним, если он проходит через HttpClient?

+1

Надеюсь, что вы получите ответ от этой ударной ссылки http://serverfault.com/questions/549845/how-does -newrelic-работа-на-просто-установка-нетто-агент – Anbazhagan

ответ

1

Все инструменты APM, которые контролируют .NET (лидеры AppDynamics, New Relic и Dynatrace), делают практически то же самое. Чтобы собирать данные из CLR, они используют профилирующие API https://msdn.microsoft.com/en-us/library/bb384493(v=vs.110).aspx, но трюк делает это, сводя к минимуму накладные расходы. Вы должны использовать инструмент умным способом, чтобы избежать проблем с производительностью. Более продвинутые продукты также будут делать инъекцию кода (мы это делаем в AppDynamics, например), вот пример приложения для добавления собственного кода во время выполнения. https://www.codeproject.com/Articles/463508/NET-CLR-Injection-Modify-IL-Code-during-Run-time

Они также объединяют это со сбором данных через WMI через OS, .NET runtimes, IIS и другие.

Вы можете видеть, что инструменты APM очень сложны, делая это в масштабе в производстве с низкими накладными расходами - задача. О да, помни, ты тоже ничего не сломаешь. Именно по этой причине для создания хорошего продукта APM требуются годы. Если у вас есть конкретные вопросы в API, я могу объяснить, как мы это делаем в AppDynamics по крайней мере :)