JAVA-приложение трассировки во времени выполнения

Я хотел бы проследить JAVA-приложение во времени выполнения, чтобы зарегистрироваться и позже проанализировать каждое его поведение.

Существует ли возможность сцепиться в JAVA-приложение для получения информации о выполнении как вызовы метода (с параметрами и возвращаемыми значениями) и состояние объекта (т.е. его атрибуты и чьи значения)?

Моя цель состоит в том, чтобы получить полное понимание поведения приложений и как это имеет дело с данными.

5
задан 1 January 2010 в 16:45
поделиться

4 ответа

Может быть, взгляните на Glassbox диагностический агент для Java-приложений, который автоматически диагностирует общие проблемы . Из Glassbox - автоматический мониторинг и поиск неисправностей с помощью AOP:

Стеклянная коробка устанавливается как файл войны в вашем сервер приложений, а затем использует AspectJ load плетение во времени для контроля применения компоненты и другие артефакты, в для выявления таких проблем, как избыток или неудачные удаленные звонки, медленные запросы, слишком много запросов к базе данных, поток разногласие, даже какая просьба параметры вызвали сбои. Все это без изменение кода или процесса сборки. (...)

Glassbox контролирует приложения неинвазивно, используя аспекты для отслеживания взаимодействия компонентов. Мы также отслеживаем встроенные данные JMX, в частности, на Java 5 VM мы примеряем данные потока (по умолчанию каждые 100 мс). По мере обработки запроса мы суммируем заслуживающие внимания события, такие как, где было потрачено время и какие параметры были задействованы, чтобы сделать вещи медленными или неудачными. Мы также обнаруживаем операции более высокого уровня (такие как действия Struts или контроллеры Spring), по которым мы формируем отчеты. Наш клиент AJAX Web затем предоставляет резюме состояния по операциям на машинах, за которыми мы следим, и мы генерируем более детальный анализ по запросу. Glassbox позволяет контролировать кластеры серверов: Web-приложение использует JMX Remote или прямой RMI для доступа к данным с удаленных серверов. Мы также предоставляем JMX удаленный доступ к сводной статистике нижнего уровня.

Это хорошее приложение, дайте ему попробовать.

.
0
ответ дан 14 December 2019 в 08:52
поделиться

Используйте профилировщик. Например, JProfiler или один из этого обзора открытых java-профилировщиков. Всякий раз, когда мне, например, приходилось находить тупики, эти инструменты были бесценны...

1
ответ дан 14 December 2019 в 08:52
поделиться

Профилировщик Netbeans существует и работает правильно, для его использования см. http://profiler.netbeans.org/

1
ответ дан 14 December 2019 в 08:52
поделиться

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

Мы используем AspectJ таким образом для сбора и регистрации информации аутентификации для пользователей, которые вызывают ряд низкоуровневых методов для целей отладки и отмены ошибочных изменений.

5
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: