jconsole эквивалент для .Net? - PullRequest
       7

jconsole эквивалент для .Net?

4 голосов
/ 01 декабря 2010

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

  1. Вы добавляете DLL в свой проект
  2. Вы вызываете некоторый метод init
  3. Это предоставляет набор конечных точек (Интернет, TCP, именованные каналы и т. д.).
  4. Это не влияет на производительность вашего приложения, поэтому вы можете работать с ним в производственном режиме.
  5. В случае проблем вы подключаетесь кконечные точки и профиль.Вы можете видеть корни GC, что занимает память (сохраненные наборы), триггер GC, ...

Есть ли что-то подобное?

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

OP: Там действительно нет.

Саймон: Jconsole является побочным аргументом к тому, в чем действительно разница между java и .net. Java с готовностью предоставляет пользователю информацию, которую .net запутывает. Возможно, из-за их различных идеологий и целей java спроектирован как общая виртуальная среда, которая работает на любом хосте, где .net в основном разрабатывается с учетом Windows.

. Net процессы не предназначены для работы в неоднозначном вакууме; они работают как службы компонентов или части iis, и они работают на окнах, поэтому в виртуальной среде нет условий для удаленного мониторинга, потому что вы получите некоторую степень этого от wmi.

Java не работает таким образом, потому что java не может делать какие-либо предположения о лежащем в основе os или о том, какую информацию он будет предоставлять, и все, что делает java, должно выполняться одинаково для всех систем. Таким образом, java предлагает пользователю огромное количество данных о своей памяти и активности потоков и предоставляет инфраструктуру для обработки и обнаружения управляемых объектов в коде пользователя (mbeans). Jconsole и jvisualvm позволяют пользователю удаленно подключаться к процессу java (локально или по сети с помощью jmx, хотя jmx требует наличия флага для активного целевого процесса java), а затем они могут видеть все эти данные и просматривать все доступные MBeans. Кроме того, все это является основной функциональностью, и программы бесплатны.

.Net flat out этого не имеет. Разработчик с самого начала встраивает удаленное управление в код своего приложения, и нет удобного средства просмотра, которое помогает пользователям обнаруживать, какие объекты управления вообще существуют.

Кроме того, java-код можно тривиально вернуть обратно в исходный код, преобразовать в проект, а затем отладить с помощью удаленных точек останова в производственной системе. С сетью .net это возможно, но они определенно не делают это легким.

1 голос
/ 07 декабря 2010

Вы смотрели на CLR Profiler для .NET Framework 2.0

Быть человеком .NET или пытаться быть - :) Я не уверен, что сравнивается точно с jconsole, но вы можете профилировать вещи.Существуют и другие коммерческие инструменты, которые можно найти в Google «Профилировщик памяти CLR» или «Профилировщик .NET».

...