Как мне профилировать встроенный контейнер молы? - PullRequest
2 голосов
/ 23 декабря 2011

В рамках моей сборки мы используем плагин 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 и (б) второй взгляд на документацию показывает, что, возможно, они используются только для запуска / остановкиконтейнер, а не сам контейнер?

...