2010-12-01 2 views
4

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

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

Есть ли что-то вроде этого?

ответ

1

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

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

2

OP: На самом деле это не так.

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

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

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^