Вопрос о профильном профиле - PullRequest
1 голос
/ 19 октября 2010

Я работаю над кодом, который работает как сервис. В основном он слушает ввод и производит вывод соответственно.

Я пытаюсь профилировать пакет, используя jrat. [У нас нет лицензии на Jprofiler, и я не могу настроить пробную версию для правильной работы].

Я следовал инструкциям здесь: http://transferer.blogspot.com/2009/12/how-to-use-jrat-in-eclipse.html а также http://digiassn.blogspot.com/2008/01/java-using-jrat-under-eclipse.html

Я получаю выходные файлы .jrat, но вижу только следующее:

001_JRat-LOG.jrat рабочий стол% cat 001_JRat-LOG.jrat Зритель = "org.shiftone.jrat.ui.viewer.SimpleTextOutputViewBuilder" JRat: INFO (18 октября, 17: 15: 32 769) (основной) RuntimeContextImpl - файл журнала создан JRat: INFO (18 октября, 17: 15: 32 769) (основной) RuntimeContextImpl - Запуск JRat версия 1-alpha2 - построена 31 июля 2006 JRat: INFO (18.10.17: 15: 32,770) (основные) настройки - строка 'jrat.factory' = 'Org.shiftone.jrat.provider.silent.SilentMethodHandler' JRat: INFO (18 октября, 17: 15: 32 771) (основной) RootFactory - JRat создает рут Фабрика-обработчик ... JRat: ИНФОРМАЦИЯ 17: 15: 42,451) (JRat-JMX-Poller) WaitingJmxRegistry - регистрация 6 mbean (s) JRat: ИНФО (октябрь / 18) 17: 15: 42,451) (JRat-JMX-Poller) ServerJmxRegistry - registerMBean org.shiftone.jrat.core.jmx.info.JRatInfo@c5e9c shiftone.jrat: Сервис = org.shiftone.jrat.core.jmx.info.JRatInfo JRat: INFO (18 октября, 17: 15: 42 453) (JRat-JMX-Poller) СерверJmxRegistry - registerMBean org.shiftone.jrat.util.log.LoggingManager@11756a4 shiftone.jrat: Сервис = org.shiftone.jrat.util.log.LoggingManager JRat: INFO (18 октября, 17: 15: 42 453) (JRat-JMX-Poller) СерверJmxRegistry - registerMBean org.shiftone.jrat.core.jmx.benchmark.Benchmark@b301f2 shiftone.jrat: Сервис = org.shiftone.jrat.core.jmx.benchmark.Benchmark JRat: INFO (18 октября, 17: 15: 42 453) (JRat-JMX-Poller) СерверJmxRegistry - registerMBean Трансформаторные [AsmInjectorStrategy (использование http://asm.objectweb.org)] shiftone.jrat: Сервис = org.shiftone.jrat.inject.bytecode.Transformer JRat: INFO (18 октября, 17: 15: 42, 454) (JRat-JMX-Poller) СерверJmxRegistry - registerMBean org.shiftone.jrat.core.shutdown.ShutdownRegistry@4be2cc shiftone.jrat: Сервис = org.shiftone.jrat.core.shutdown.ShutdownRegistry JRat: INFO (18 октября, 17: 15: 42, 454) (JRat-JMX-Poller) СерверJmxRegistry - registerMBean FileOutputRegistry [PrintWriter [001_JRat-LOG.jrat]] shiftone.jrat: Сервис = org.shiftone.jrat.core.output.FileOutputRegistry JRat: INFO (18 октября, 17: 15: 48 825) (JRat-Shutdown) ShutdownRegistry - закрытие вниз ... [трансформаторные [AsmInjectorStrategy (использование http://asm.objectweb.org)], FileOutputRegistry [PrintWriter [001_JRat-LOG.jrat]]] JRat: INFO (18 октября, 17: 15: 48 826) (JRat-Shutdown) ShutdownRegistry - Выключение FileOutputRegistry [PrintWriter [001_JRat-LOG.jrat]] ... JRat: INFO (18 октября, 17: 15: 48 826) (JRat-Shutdown) FileOutputRegistry - closeFileOutputs [PrintWriter [001_JRat-LOG.jrat]] JRat: INFO (18 октября, 17: 15: 48 826) (JRat-Shutdown) FileOutputRegistry - закрытие: PrintWriter [001_JRat-LOG.jrat] JRat: INFO (18 октября, 17: 15: 48 826) (JRat-Shutdown) FileOutputPrintWriter - закрытие JRat: INFO (18 октября, 17: 15: 48 826) (JRat-Shutdown) FileOutputRegistry - удалить PrintWriter [001_JRat-LOG.jrat]

Кто-то использовал это раньше на Linux? Я думаю, так как я запускаю это как службу ... после запуска моего приложения я нажимаю кнопку завершения, чтобы остановить мое приложение [в отличие от других приложений, которые могут завершать работу самостоятельно после завершения работы] .. это, вероятно, не делает приложение завершенным изящно а значит jrat не производит дамп ?? Это всего лишь слепое предположение.

Спасибо

P.S: Я использую затмение Java версия 1.6.0_13

Изменения: Не удалось заставить это работать, но вместо этого попробовал Visualvm, который работает нормально.Однако необходимо профилировать удаленное приложение, [так как я хочу профилировать часть своего сервиса и простой способ подчеркнуть эту часть кода и получить его номер от самого сервера], поэтому буду искать что-то, что легко использовать удаленно.

Ответы [ 2 ]

0 голосов
/ 24 января 2013

jrat не был очень активным в последние годы.

Возможно, лучший подход с открытым исходным кодом - использование JVMTI-агента AspectJ, как объяснено в следующем посте: http://andrewclement.blogspot.com.br/2009/02/load-time-weaving-basics.html

Выможет писать аспекты, которые будут применяться к классам при их загрузке JVM.

0 голосов
/ 29 сентября 2011

Вы можете попробовать BTrace, который устанавливается в качестве агента в приложении, которое вы используете. BTrace может быть соединен с удаленным визуализатором, чтобы обеспечить возможность сбора данных в режиме реального времени, а также составления исторического графика.

Пожалуйста, обратитесь к следующему вопросу для получения дополнительной информации: Высокое время выполнения для методов Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...