Я хочу отфильтровать, какие классы профилируются по процессору в Java VisualVm (версия 1.7.0 b110325). Для этого я попытался в разделе «Профилировщик» -> «Настройки» -> «Параметры процессора» установить «Профилирование только классов» для моего тестируемого пакета, что не дало результата. Затем я попытался избавиться от всех классов java. * И sun. *, Установив их в «Не профилировать классы», что тоже не помогло.
Это просто ошибка? Или я что-то упускаю? Есть ли обходной путь? Я имею в виду кроме:
- платить за лучший профайлер
- отбор проб вручную (см. Можно использовать профилировщик, но почему бы просто не остановить программу?)
- переключиться на представление «Дерево вызовов», что бесполезно, так как только представление «Профилировщик» дает мне процент использования ЦП для каждого метода.
Я хочу сделать это в основном для того, чтобы получить половину правильного процента потребляемого ЦП для каждого метода. Для этого мне нужно избавиться от надоедливых измерений, например для sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run()
(около 70%). Кажется, у многих пользователей есть эта проблема, см., Например,