В рамках моей сборки мы используем плагин cargo-maven2 для запуска контейнера с причалом с нашим приложением.Периодически мы получаем результат «Не удалось запустить встроенный контейнер Jetty 6.x».Мы увеличиваем время ожидания по умолчанию на 120 секунд.
Мы используем JVM Sun 1.6.0_07, поэтому я подумал, что hprof может помочь.
В качестве проверки работоспособности я начал с
set MAVEN_OPTS=%MAVEN_OPTS% -agentlib:hprof=cpu=samples,interval=20,depth=3,file=hprof.out
, а затем запустил
mvn -Dmaven.test.skip=true install
(Cargo настроен для запуска во время теста перед интеграцией и теста после интеграциицели)
Похоже, это то, что я хочу - я вижу сообщения о запуске и остановке контейнера и сообщения о том, что тесты пропускаются.После того, как maven выдает сводную информацию о сборке, я вижу сообщение «Дамп использования ИПЦ путем выборки запущенных потоков ... готово».Файл hprof.out написан, в нем есть тип данных, которые мне нужны.
Конечно, это выборка самого maven, которая бесполезна.
Как получить ту же информацию о выборке для моего веб-приложения?
Первоначально я хотел использовать свойство cargo.jvmargs
<cargo.jvmargs>-agentlib:hprof=cpu=samples,interval=20,depth=3,file=hprof.out</cargo.jvmargs>
, но(а) когда я делаю это (удаляя аргументы профилирования из MAVEN_OPTS), я не могу найти результирующий файл hprof.out и (б) второй взгляд на документацию показывает, что, возможно, они используются только для запуска / остановкиконтейнер, а не сам контейнер?