Отсутствуют имена процедур JAVA в Time Profiler, Instruments, OS X

Я пишу реализацию алгоритма с использованием Java. До OS X 10.7 я использовал Shark Profiler для профилирования моей реализации, которая работала довольно хорошо. Однако новые инструменты больше не находят имена процедур. Я уже пробовал запустить java-приложение с аргументами виртуальной машины для shark (а именно, -agentlib: Shark), но они неизвестны для 10.7, и я не смог найти такую ​​agentlib для инструментов.

Есть идеи, как присоединить имена процедур к именам символов (которые являются шестнадцатеричными числами) в Insturments? Я использую Eclipse Indigo, если это имеет значение.

Спасибо!

Редактировать: Пока в OS X Mountain Lion ничего не изменилось.

Правка №2: Обновление от (?) Разработчика через репортера об ошибках Apple:

dtrace в прошлом уже поддерживал стеки Java, хотя я, честно говоря, не могу сказать, поддерживалась ли эта поддержка. Это может быть жизнеспособным обходным путем для того, что вы пытаетесь измерить, что в противном случае не является приоритетом для инструментов производительности на данном этапе. Вы можете начать со сценария D в /usr/bin/cpu_profiler.d и изменить его, чтобы также собрать jstack.

Правка №3: ​​Хорошо, после некоторого обсуждения выясняется, что сам разработчик не знал, откуда взялся этот скрипт.Очевидно, что профилировщик времени в Instruments в любом случае не использует DTrace, поэтому остается единственный вариант - написать собственный скрипт или инструмент DTrace.

Вы правы, прошу прощения. Я не уверен, откуда взялся этот сценарий, и когда я внимательно посмотрел на него, в нем нет действий jstack, так что это не то, что вам нужно. Похоже, что единственный вариант профилирования java, который я могу вам предложить, - это DTrace. DTrace имеет поставщика профиля и действие jstack, которое собирает стеки Java. Вы можете использовать «агрегаты» для определения самых тяжелых трассировок стека, и все это работает из командной строки. Документация для DTrace в основном поддерживается Sun, и я бы направил вас к любому руководству по DTrace, поскольку большинство из них касается провайдера профиля.

Несмотря на то, что люди говорят в Интернете, Instruments не использует DTrace для всего, особенно для профилирования времени, поэтому я не могу предложить вам быстрое исправление в пользовательском интерфейсе Instruments.

9
задан HdM 24 May 2013 в 00:59
поделиться