2009-04-21 5 views
3

Я пробую программу VisualVM, которая поставляется с новыми JDK. Я занимаюсь профилированием и пытаюсь профилировать CPU только с помощью методов в определенном пакете.Ограничение профилирования в виртуальной виртуальной машине

я поставил следующие в «профиле только классы:»

jig.* 

Где швах пакет я хочу инструмента. К сожалению, я возвращаю результаты другим методам, которые не входят в этот пакет или какие-либо подпакеты.

ответ

2

Единственный способ, которым я могу воспроизвести вашу проблему, - это оставить флажок «Профилировать новые Runnables». Когда я оставляю этот флажок, профайлер выбирает код, начинающийся как новые потоки, даже если этот код не соответствует критериям фильтрации. Я думаю, это неясная функциональность.

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

0

Вы можете ввести критерий фильтрации в текстовое поле в нижней части списка «Результаты профилирования», которое должно сделать трюк.

2

На самом деле есть открытая ошибка о том, что:

https://java.net/jira/browse/VISUALVM-546

Я полностью согласен с (и с вашим разочарованием по поводу «странного» поведения VisualVM). Даже с помощью «Profile new Runnables» проверка фильтра, по моему мнению, должна выполняться.

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

Я приглашаю всех голосовать за внимание разработчиков VisualVM.

Смежные вопросы