web-3-1.0-SNAPSHOT.war... web-3-1.0-SNAPSHOT.war never changes.
.docx | |
---|---|
report | report |
Tip
На решение некоторых проблем в этой лабораторной работе я потратил непозволительно много времени, и не хочу, чтобы вы потратили еще столько же.
Поэтому я написал пару небольших гайдиков с советами, которые помогли мне запустить эту лабу, и, надеюсь, помогут и вам.
- Руководство по удаленному подключению JConsole и VisualVM к WildFly на Helios'е в HELIOS_GUIDE.md.
- Руководство по сборке и запуску HttpUnit (а также небольшие советы) в HTTP_UNIT_GUIDE.md.
- Кратко про JFR в JFR_GUIDE.md.
- Для своей программы из лабораторной работы #3 по дисциплине "Веб-программирование" реализовать:
MBean
, считающий общее число установленных пользователем точек, а также число точек, не попадающих в область. В случае, если пользователь совершил 3 "промаха" подряд, разработанныйMBean
должен отправлять оповещение об этом событии.MBean
, определяющий процентное отношение "попаданий" к общему числу кликов пользователя по координатной плоскости.
- С помощью утилиты
JConsole
провести мониторинг программы:- Снять показания
MBean
-классов, разработанных в ходе выполнения задания 1. - Определить время (в мс), прошедшее с момента запуска виртуальной машины.
- Снять показания
- С помощью утилиты
VisualVM
провести мониторинг и профилирование программы:- Снять график изменения показаний
MBean
-классов, разработанных в ходе выполнения задания 1, с течением времени. - Определить имя класса, объекты которого занимают наибольший объём памяти JVM; определить пользовательский класс, в экземплярах которого находятся эти объекты.
- Снять график изменения показаний
- С помощью утилиты
VisualVM
и профилировщикаIDE NetBeans
,Eclipse
илиIdea
локализовать и устранить проблемы с производительностью в программе. По результатам локализации и устранения проблемы необходимо составить отчёт, в котором должна содержаться следующая информация:- Описание выявленной проблемы.
- Описание путей устранения выявленной проблемы.
- Подробное (со скриншотами) описание алгоритма действий, который позволил выявить и локализовать проблему.
Студент должен обеспечить возможность воспроизведения процесса поиска и локализации проблемы по требованию преподавателя.
- Текст задания.
- Исходный код разработанных
MBean
-классов и сопутствующих классов. - Скриншоты программы
JConcole
со снятыми показаниями, выводы по результатам мониторинга. - Скриншоты программы
VisualVM
со снятыми показаниями, выводы по результатам профилирования. - Скриншоты программы
VisualVM
с комментариями по ходу поиска утечки памяти. - Выводы по работе.
- Мониторинг и профилирование. Основные понятия. Отличия мониторинга от профилирования.
- Инфраструктура для организации мониторинга и профилирования в составе
JDK
.JMX
. MBeans
. Основные понятия. Архитектура фреймворка.- Утилита
JConsole
. Возможности, область применения. - Утилита
Visual VM
. Возможности, область применения. - Удалённый мониторинг и профилирование приложений на платформе Java.
docker compose up # Setup PostgreSQL database
npm install # Install webpack
npm run build # Run webpack
./gradlew flywayMigrate # Database migrations
./gradlew flywayInfo # Check everything is OK
./gradlew test # Run tests
./gradlew build # Build .war
После чего задеплоить build/libs/mispi-4-1.0-SNAPSHOT.war
в WildFly.
В случае возникновения трудностей с Helios'ом или сборкой HttpUnit, прочитай HELIOS_GUIDE и HTTP_UNIT_GUIDE.
Ссылка | Описание |
---|---|
docs.oracle.com/.../jconsole.html | Документация JConsole |
https://visualvm.github.io/gettingstarted.html | Документация VisualVM |
https://habr.com/ru/companies/timeweb/articles/719434/ | Анализ дампа кучи Java |
https://habr.com/ru/companies/zabbix/articles/342226/ | Кратко про мониторинг в Java |
https://habr.com/ru/articles/147008/ | Гайд по запуску JConsole и VisualVM |
https://www.baeldung.com/visualvm-jmx-remote | Конфигурация и использование VisualVM |
https://github.com/alex-grandson/edu/blob/main/MISPI/lab4.md | Популярные вопросы по ЛР4 |
VeraKasianenko/Fundamentals_of_SE/lab4 | Пример ЛР4 |
При сдаче последнего задания лабораторной работы вам также могут понадобиться:
- Eclipse MAT -- гайд;
- Java Flight Recorder (JFR) -- гайд.
Проект доступен с открытым исходным кодом на условиях Лицензии MIT.
Авторские права 2024 Max Barsukov
Поставьте звезду ⭐, если вы нашли этот проект полезным.