YourKit Java Profiler является коммерческим процессора и памяти профайлер программное обеспечение, которое позволяет пользователям легко решить широкий спектр процессора и проблем производительности, связанных с памятью.
YourKit Java Profiler обеспечивает автоматическое обнаружение утечек, мощные инструменты для анализа распределения памяти, в кучи браузере объекта, комплексных тестов памяти, как часть процесса тестирования JUnit, чрезвычайно низких накладных расходов профилирования.
Что такое Новый В этом выпуске:
- Агент: Windows определение версии улучшена. В частности, Windows 10 теперь правильно обнаружен, и Резюме показывает версию Windows, с номером сборки.
- Интеграция IDE: Исправлена ошибка: плагин NetBeans не может быть установлен на Windows 10
- CPU профилирование: Процессор трассировки коррекция результат в настоящее время применяется только в том случае -Dyjp.apply.calibration = верно указано в /bin/ui.ini
- профилирование памяти: оптимизация: Улучшено время загрузки снимков памяти (в частности, и Quot; задача 3 & Quot; в процессе)
- профилирование памяти: оптимизация: Object Explorer и другие виды открываются быстрее для некоторых наборов объектов
- профилирование памяти: Исправлена ошибка: утечка памяти временных структур данных, созданных во время снимка погрузка
Что нового в версии 2013 Построен 13072:
- Пользовательский интерфейс: Исправлена ошибка: спорадические и Quot; Java. lang.ClassCastException & Quot;
- Пользовательский интерфейс: тупик детектор: Исправлена ошибка: возможно и Quot; тупик проблема детектор: состояние несоответствие и Quot; исключения для некоторых входов
- Агент: Исправлена ошибка: IBM Java: & Quot; java.lang.UnsatisfiedLinkError & Quot; для собственных методов в com.ibm.oti.vm.VM
Что нового в версии 2013 Построен 13070:
- Агент: Linux: Исправлена ошибка: неправильное имя сессия был выбран в случае очень длительного командной строки, например, "Java" вместо основной класс или JAR имя
- Агент: Исправлена ошибка: параметры запуска probe_on, probe_off, probe_auto, probe_disable не принять короткий синтаксис для встроенных датчиков, например, .Databases Для com.yourkit.probes.builtin.Databases
- Агент: зонды, счетчики производительности: Исправлена ошибка: FileOutputStream и процесс ввода / вывода события не были зарегистрированы в некоторых версиях Java
- интеграции IDE NetBeans 8.0: бета поддерживается
- Интеграция IDE: Mac OS X: Исправлена ошибка: пользовательский интерфейс профилирования не автоматически подключиться к профилированной процесса в связи с Java 7 Неспособность JavaAppLauncher на свои параметры пройти командной строки Java исполняемого
Что нового в версии 2013 Построен 13066:
- CPU профилирование:
- Сравнение снимков: улучшение: просмотров рабов и Quot; Назад & Quot следы ;, & Quot; вызываемые методы список & Quot; и & Quot; Объединенный вызываемые методы и Quot; были добавлены для выбранного метода в & Quot; метод списка и Quot ;. Они особенно полезны при анализе метод, называемый в разных местах в снимкам сравниваемых.
- профилирование J2EE высокого уровня в настоящее время на основе встроенных в результатах разведочных.
- Это устраняет накладные расходы, ранее использовавшихся специализированных обратных вызовов, которые частично повторяющихся встроенную функциональность зонда, а также выполняемых некоторые операции в режиме исполнения вместо выполнения их, когда профайлер открывает снимок.
- The high_level_cpu_profiling недвижимость больше не существует в выборке процессора или отслеживания параметров. Опция запуска disablej2ee был удален. Чтобы включить J2EE высокого уровня профилирования выключен, вы должны выключить или отключить соответствующие зонды.
- Процессор: новая опция запуска _instrument_all_methods был добавлен в приборных примитивных добытчиками, сеттеров и других подобных коротких методов, которые только поля объекта доступа и / или возвращающих значение. По умолчанию, такие методы не инструментальной уменьшить издержки. Используйте эту опцию, если Призыва рассчитывает на всех называемых методов являются более ценными, чем точность времени и низких накладных расходах.
- Пользовательский интерфейс: добавлена возможность показать методы, которые имели менее 1 мс, указав -Dyjp.show.shortest.methods = верно /bin/yjp.ini
- Оптимизация: Горячие точки зрения открывает гораздо быстрее,
- Пользовательский интерфейс: добавлена возможность отключения нулевой временной коррекции метода с помощью свойства -Dyjp.zero.time.methods = False в /bin/yjp.ini. Коррекция нулевой времени означает, что любые призывы к следующих способов игнорируются:
- java.lang.Object: ждать (*)
- java.lang.Thread: сон (*)
- java.lang.Thread: выход (*)
- java.net.PlainSocketImpl: socketAccept (*)
- java.net.PlainSocketImpl: принимаю (*)
- java.net.ServerSocket: принять ()
- org.apache.tomcat.jni.Socket: принимаю (*)
- sun.nio.ch.ServerSocketChannelImpl: accept0 (*)
- sun.misc.Unsafe: парк (*)
- java.util.concurrent.locks.LockSupport: парк * (*)
- com.ibm.tools.attach.javaSE.IPC: waitSemaphore (*)
- sun.nio.ch.EPollArrayWrapper: epollWait (*)
- Технически, их время вычитается из времени вызывающего абонента до корня дерева вызовов, когда CPU профилирования результаты, загруженной в пользовательском интерфейсе. Другими словами, их время всегда предполагается равным 0, когда поправка применяется.
- Профилирование памяти:
- Object Explorer: ценности немедленно показано на объекты следующих классов:
- java.util.Date
- java.net.URL
- java.io.File
- java.util.zip.ZipFile
- java.util.jar.JarFile
- примитивная стоимость обертки:
- java.lang.Integer
- java.lang.Long
- java.lang.Short
- java.lang.Boolean
- java.lang.Byte
- java.lang.Character
- java.lang.Double
- java.lang.Float
- атомные значения:
- java.util.concurrent.atomic.AtomicInteger
- java.util.concurrent.atomic.AtomicLong
- java.util.concurrent.atomic.AtomicBoolean
- другие числовые классы:
- java.math.BigDecimal
- java.math.BigInteger
- отражение:
- java.lang.reflect.Field
- java.lang.reflect.Constructor
- java.lang.reflect.Method
- (с) построить 13062 размер сбора для классов коллекций и их подклассы:
- java.util.ArrayList
- java.util.Arrays $ ArrayList (вернулся из Arrays.asList ())
- java.util.HashMap
- java.util.HashSet
- java.util.Hashtable
- java.util.IdentityHashMap
- java.util.LinkedList
- java.util.PriorityQueue
- java.util.TreeMap
- java.util.Vector
- java.util.WeakHashMap
- Object Explorer: самостоятельно ссылки объекты явно указаны с [ссылка] самоуправления, а соответствующие узлы дерева являются листья сейчас, чтобы избежать бесконечного расширения
- Object Explorer: добавлена возможность настроить максимальное количество показанных отдельных объектов с помощью свойства -Dyjp.max.objects.to.show = в /bin/yjp.ini. Значение по умолчанию остается 500. Примечание:. Установка больших значений увеличивается использование памяти и может замедлить интерфейс
- Примитивные массивы со всеми теми же элементами явно указано в обозревателе объектов, путей и других взглядов, представляющих отдельные объекты
- Анализ массивов с большим числом элементов был упрощен с помощью новой памяти действий | Элементы массива (Посмотреть Shift + F5) (также доступны через всплывающее меню), который открывает все элементы выбранной базовой массива (ов) в новой вкладке, где они могут быть всесторонне рассмотрены все доступные виды.
- Это действие также, как и Quot; Открыть все элементы в новой вкладке & Quot; гиперссылка на Обозреватель объектов в дополнение к & Quot; Настройка диапазона показано элемент массива ... & Quot; гиперссылка доступна для массивов с скрытых элементов.
- Объединенные пути: улучшение: отдельные узлы используются для корней GC и объектов нераспределенной из нескольких объектов
- Объединенные пути: улучшение: & Quot;
не
трассировка
Что нового в версии 12.0.5:
- Файл журнала агента не может быть создана, если Имя сессии, содержащуюся недопустимые символы имени файла.
Что нового в версии 12.0.4:
- Это версия исправления пробы записи распределение, который может привести к сбою профилированный приложение, если никогда не начал отбор процессора.
- В комплекте поставки JRE был повышен до Java 7.
Что нового в версии 12.0.3:
- Поддержка FreeBSD 8 улучшилось
- Загрузка снимков с большим количеством ГК значительно оптимизированы.
- Этот релиз решает некоторые проблемы с JBoss, GlassFish, и OSGI Феликс.
Что нового в версии 12.0.1:
- Новые Поддерживаемые платформы:
- Linux на ARM: бег профилированные приложений и / или интерфейс профайлера поддерживается на мягкой поплавка (ARMv5, ARMv7) и жесткий поплавок (ARMv7) JVM,
- Linux на PPC: работает профилированные приложений и / или интерфейс профилирования поддерживается на 32-разрядных (КПП) и 64-битной (ppc64) JVM,
- CPU профилирование:
- Процессор отслеживания накладные расходы были значительно снижены (различные профилированные заявки выполняются до 10% -50% быстрее, чем в предыдущей версии профилировщика) и точность была увеличена за счет следующих улучшений:
- Новый режим адаптивной трассировка автоматически снижает накладные расходы и отслеживание делает результаты более адекватной (см настройки процессора трассировки)
- трассировки процессора в настоящее время измеряет время стены по умолчанию (см процессора отслеживания настройки и измерения времени).
- Это уменьшает накладные расходы, поскольку профилирования получения времени стены быстрее, чем получение процессорного времени.
- Время стены также более точным, чем процессорного времени, обеспечивая несколько наносекунд, когда точность измерения временных интервалов.
- внутренние улучшения уменьшается головой профилирование
- Все настройки процессора профилирования, применяемые во время выполнения настраиваются в настройках выборки процессора и настройки процессора отслеживания
- Обратите внимание, что изменения, связанные:
- API: два новых метода контроллера были добавлены: startCPUTracing (Nullable настройки струнных) и startCPUSampling (Nullable настройки String). Методы startCPUProfiling (...) были устаревшими.
- профилирование J2EE высокого уровня настроен в настройках выборки процессора и настройки процессора отслеживания
- вариант запуска noj2ee был удален в пользу high_level_cpu_profiling собственности в настройках выборки процессора и настройки процессора отслеживания
- Параметры загрузки samplingperiod и samplingdelta были удалены в пользу sampling_period_ms и sampling_period_delta_ms свойств в настройках выборки процессора
- измерение времени настроен в настройках выборки процессора и настройки процессора трассировки. Отдельный файл конфигурации .walltime и опция запуска посвященный walltimespec больше не используются.
- запуска опции фильтры были удалены в пользу настройки отслеживания процессора
- трассировка Процессор: методы время стена больше не неявно рассматривается как всегда нефильтрованное. Предыдущий поведение может создать неожиданную нагрузку, если измерение времени стена была настроена для многих или всех методов.
- Агент: измерение времени была улучшена, чтобы обеспечить монотонность при необходимости
- Процессор выборки: Исправлена ошибка: родные обертки метод $$ $$ YJP может появиться в штабеля
- Профилирование памяти:
- Пользовательский интерфейс: новая функция: вид класса дерево похоже на & Quot; список класса и Quot ;, но показывает классы, сгруппированные по упаковке
- Пользовательский интерфейс: новые функции: просмотров памяти, такие как список класса позволяют выбор нескольких строк. Это влияет на раб рассматривает содержание, а также действий, таких как & Quot; Просмотреть выбранных объектов & Quot; и другие.
- & Quot; Повторяющиеся строки и Quot; осмотр: результаты приведены в корневом узле новая группировка, которая представляет общее количество отходов во всех дублирующих строк
- Оптимизация: снимки с большими массивами примитивных открыты быстрее
- Пользовательский интерфейс: оптимизация: производительность и Quot; Входящие Ссылки и Quot; вид был значительно улучшен
- Пользовательский интерфейс: улучшение вычисления точного размера нераспределенной в & Quot; список класса и Quot; и аналогичные просмотров: больше деталей обрабатываются за клик, если скорость вычисления позволяет
- Пользовательский интерфейс: улучшение: доступные ядра ЦП для параллельных вычислений в следующих представлениях:
- Список класса
- Класс дерево
- Поколения
- достижимости областей
- Класс погрузчики
- Веб-приложения
- возраст объекта
- Пользовательский интерфейс: улучшение: & Quot; Рассчитать точное сохранил размеры & Quot; Действие использует доступные ядра процессора, чтобы выполнять вычисление параллельно
- Пользовательский интерфейс: улучшение: & Quot; Рассчитать точное сохранил размеры & Quot; действие не заставит сортировка по нераспределенной колонке размера, если продолжается расчет
- Оптимизация: накладные записи распределение было уменьшено для многопоточных приложений. Как велика улучшение зависит от & Quot; Запись каждый N-й объект и Quot; установка. По данным испытаний, код профилируемой работает до 30% быстрее, когда каждый 10-й объект снимается (настройка по умолчанию), и до 70% быстрее, когда каждый 100-й объект записывается, по сравнению с предыдущей версией
- Веб-приложения: улучшение: Веб-контекст приложения путь (URL) в настоящее время показано, в дополнение к имени веб-приложений
- Веб-приложения: добавлена поддержка пристани (версии 6, 7, 8)
- Класс Количество экземпляр телеметрии (& Quot; Список классов и Quot; вкладка), в отличие от других видом телеметрии, автоматически не периодически обновлять. Это для соображений производительности:. Сбора статистики может занять значительное время в случае больших кучах с многих объектов, таким образом, должен работать по требованию
- Вместо этого, он обновляет, если:
- The & Quot; Обновить & Quot; кнопка нажата, когда отображается вкладка (явное изменение)
- The & Quot; Сила сборщик мусора и Quot; кнопка нажата, когда отображается вкладка (это имеет смысл, чтобы сразу увидеть изменения в объектных графов и размеров заставив мусора)
- снимок в плен (сбор статистики является частью захвата)
- Пользовательский интерфейс: Пути: Исправлена ошибка: дублировать записи пути может быть показано при определенных обстоятельствах
- Телеметрия:
- Процессор телеметрии:. ядро процессора время он представлен как отдельный кривой, в дополнение к основному пользователя + ядра процессора времени графа
- AIX Примечание: мы знаем, две функции для измерения процесса процессорного времени на AIX: clock_gettime (CLOCK_PROCESS_CPUTIME_ID) и rusage (). Первый используется по умолчанию, потому что это, кажется, дают лучшие результаты, чем его коллега. Тем не менее, он имеет недостаток: он не дает ядра и пользовательский раз отдельно. Это означает, что вы не увидите время ядро телеметрии. Чтобы включить его, указать вариант запуска агента _with_rusage использовать rusage () вместо этого.
- График рендеринга была оптимизирована, что делает интерфейс более отзывчивым, особенно при использовании больших весов
- Государство Тема телеметрии: Исправлена ошибка: образцы телеметрии может произойти по более низкой ставке, в результате пробелов в нить состояние телеметрии графа
- Зонды:
- Новая функция: возможность очистить таблицы. Избавьтесь от старых событий вы не заинтересованы в больше, или дать пространство для новых событий, если был достигнут предел емкости стол.
- Чтобы очистить таблицу из интерфейса, использования и Quot; Ясно таблицу (ы) ... & Quot; ссылка находится в правом верхнем углу и Quot; зондов и Quot; Вкладка.
- Чтобы очистить таблицы программно, использовать метод профилирования API Controller.clearUserTables (String ... tableNames)
- Пользовательский интерфейс: & Quot; зонды и Quot; вкладке Макет был изменен на более вертикальное дает пространство для просмотра списков событий, и сделать интерфейс более последовательным. Теперь столы, сроки, вызов события дерево и оценка использования процессора вкладки расположены на одном уровне.
- Класс нагрузки зонд может быть включен с опцией запуска зонда = загрузку классов (по умолчанию) и инвалидов с опцией запуска noprobe = загрузку классов. Запуск опция builtinprobes = нет в настоящее время не предполагает noprobe = загрузку классов.
- Зонды: API: класс устаревшим com.yourkit.probes.ObjectIntWeakMap был удален. Использование com.yourkit.probes.ObjectRowIndexMap вместо этого.
- & Quot; Автор Жизненный цикл & Quot; встроенный в зонд: Исправлена ошибка: события изменения имени были неправильно связан в течение нескольких JVM внутренней резьбой
- Триггеры:
- по умолчанию запускает файл описания был изменен на /.yjp/triggers.txt
- IDE интеграция:
- Затмение, IntelliJ IDEA, NetBeans 7.0 и новее плагин автоматически определяет 32-разрядные и 64-разрядные JVM.
- The & Quot; Профиль & Quot; действие должно знать, является ли JVM для запуска приложения профилированный 32-бит или 64-бит, для того, чтобы поставить соответствующую версию агента.
- Ранее плагин полностью полагались на выбор пользователя в & Quot в; 32-битной или 64-битной JRE отбора и Quot; вкладка конфигурации плагина. Неправильный выбор приводит к JVM отказа Произошла ошибка во время инициализации VM. Не удалось найти библиотеку агента.
- Теперь, делается попытка автоматически определить вид JVM, получив доступную информацию из IDE. Если обнаружение успешно, его результат перекрывает пользовательский сделал выбор.
- Это делает & Quot; Профиль & Quot; Действие работа из коробки в большинстве случаев.
- Примечание: мы сохранили и Quot в; 32-битный или 64-битный JRE Выбор & Quot; Вкладка в качестве резервного для тех случаев, когда автоматическое определение невозможно.
- Eclipse: Maven конфигурации выполнения поддерживаемых в Eclipse, 3,7 и новее
- IntelliJ IDEA 12 поддерживается
- NetBeans 7.3 поддерживается
- NetBeans: Исправлена ошибка: профилирование один класс или испытание JUnit могут не работать в веб-проектов
- J2EE интеграции:
- J2EE мастер интеграция: добавлена Причал 6 и выше поддержка
- Пользовательский интерфейс
- Улучшение: левая вертикальная вкладка группа, которая представляет открытые снимки и подключенных приложений в настоящее время пытается избежать скроллер если много вкладок открыто, путем сокращения названия вкладок. Если полный вкладка название не подходит, она по-прежнему будет доступен с помощью всплывающей подсказке.
- Фильтры: добавлена быстрый способ переключения между применением и не применяя фильтры в UI:
- с новым основным пункт меню Настройки | Свернуть Фильтры Звонки
- панель, когда профайлер подключен к запущенного приложения
- & Quot; Фильтры ... & Quot; гиперссылка на Легенда при работе с снимок
- Масштабируемость: сделать интерфейс более отзывчиво при работе с огромными снимками, и Quot; список вызываемые методы и Quot; вид раб не рассчитывается автоматически, как только выбор в изменениях в главной таблице. Вместо этого, расчет должен быть явно начал, нажав на ссылку. По умолчанию, автоматический расчет выполняется для снимков с менее чем 1000000 звонков кадров (т.е. уникальные стеки), которая охватывает наибольшее большинство реальных снимков. Чтобы изменить порог, укажите -Dyjp.callees.auto.threshold = количество кадров в /bin/yjp.ini.
- Добавлена поддержка высокой контрастностью цветовых схем. Чтобы использовать его, пожалуйста, укажите -Dyjp.system.colors = верно /bin/yjp.ini.
- сценарий запуска yjp.sh улучшилась: если переменная среды YJP_JAVA_HOME указана, то есть априори более комплекте JRE и системы по умолчанию Java, которая обеспечивает возможность для запуска интерфейса профилирования под конкретную версию Java, не редактируя сценарий запуска
- Резюме: добавлена & Quot; Командная строка и Quot; недвижимость представлять всю командную строку процесса Java
- Вызов дерево и обратно следы просмотров: Добавлен пункт меню, чтобы расширить выбранный узел до 5 уровней, в качестве дополнения к существующему пункту, который расширяет узел полностью
- Улучшение: диалог в стиле объединены в отношении справки и без закрытия месте кнопки
- Исправлена ошибка: окно профилирования может стать невидимым после перезагрузки профилировщика, если один из ранее используемых дисплеев больше не доступны
- Исправлена ошибка: стек исключения переполнения при определенных редких случаях
- Исправлена ошибка: выбора файлов вызывается из диалога Open Snapshot неправильном обращении Введите ключ, при запуске пользовательского интерфейса на Java 7
- Прочее:
- Экспорт с командной строки: список класса экспортируется производительности снимков тоже (как видно на вкладке Memory | список класса)
- Предупреждение: снимок конфигурационный файл каталога теперь /.yjp/snapshotdir.txt
- Windows Installer: профайлер теперь в комплекте с Java JRE 7. Примечание:. Java 6 остается полностью поддерживается платформа
- Агент: имя файла журнала теперь -.log к более отдельных бревен из различных приложений
- Агент:. добавлена возможность хранить журналы из нескольких трасс и того же приложения в серии лог-файлов, названных ..log вместо создания отдельного файла журнала -.log для каждого профилированного процесса
- Этот режим может быть полезен, когда профилирования приложений, таких как серверы, при наличии единого журнал лучше, чем имеющие отдельный журнал для каждого запуске сервера.
- Чтобы использовать этот режим, укажите запуска опции united_log
- имя сессии является имя приложения, как показано на UI профилировщика, и который также используется по умолчанию, чтобы назвать снимки приложения. Она автоматически выбирается для конкретного приложения базирования на его имени JAR-файла, или его имени главного класса, или пользовательские имя исполняемого файла, или на имени конфигурации выполнения, когда профилирования изнутри IDE. Имя сессии также может быть указан явно с помощью опции запуска имя_сеанса =
- Запуск номер начинается с 1. Если первый файл журнала .1.log превышает предельный размер, новый файл журнала .2.log будет создан и используется, то .3.log т.д. Предельный размер составляет 1 МБ по умолчанию, и может быть изменен с помощью опции запуска log_file_size_limit =
- Примечание: самые старые файлы журналов не удаляются автоматически. Если вам необходимо очистить их, сделать это вручную или написать сценарий.
- Агент: Прикольные 2.0 поддерживается
- Агент: трассировка процессора и распределение накладных расходов перекодировка немного снижается на IBM Java
- Агент: Исправлена ошибка: режим приложить: неправильный обработчик исключений в конструкторе при определенных обстоятельствах
- Агент: Исправлена ошибка: возможно java.lang.VerifyError: Противоречивые stackmap кадров в отрасли цели для конкретных моделей, скомпилированная с компилятором Eclipse,
- Пользовательский интерфейс: дистанционное профилирование: Исправлена ошибка: дистанционное профилированные приложения, работающие на разных машинах, настроены на использование тот же порт и начал в то же время не может быть одновременно подключен профилирования интерфейс
не
Использование
Что нового в версии 10.0:
- Это новый крупный релиз содержит много новых возможностей, улучшений и исправления. Был добавлен платформа Поддержка AIX (КПП и ppc64).
- Новый & Quot; триггеры и Quot; функция позволяет пользователям автоматически выполнять различные действия по конкретным событиям (высокий процессора или памяти, использование выполнение метода и т.д.)..
- Запись Выделение может собрать статистику сборщик мусора в классе.
- Производительность может быть извлечена из снимков памяти.
- Точность калибровки трассировки процессора была улучшена.
- использование и время, проведенное в сборщик мусора процессора теперь отображаются на одном графике.
- Как обычно, много улучшений в пользовательском интерфейсе были реализованы.
снимки
Что нового в версии 9.5.1:
- Улучшение: более OSGi контейнерные приложения можно профилировать без необходимость вручную twick OSGi настройки, чтобы загрузка классов профилировщика. В частности, это включает в себя GlassFish 3.1.
- Интеграция IDE: улучшенные NetBeans плагин установку на Windows Vista и Windows 7. Ранее, мастер интеграция IDE может потерпеть неудачу, если NetBeans была установлена в защищенной директории, такие как & Quot; Program Files & Quot; из-за контроля доступа пользователя Windows в (ОАК). Теперь, уместно ОАК быстрое показано при необходимости, позволяя мастер успеха.
- интеграции IDE NetBeans 7.0: М2 поддерживается
- Интеграция IDE: профайлер UI плагин: улучшения
- Пользовательский интерфейс: Экран приветствия: улучшенная юзабилити на экранах с низким разрешением
- Пользовательский интерфейс: диалог открытым снимок: группировка снимков по сессии теперь опционально
- Исправлена ошибка: интерфейс: диалог открытым снимок может неправильно обновить при определенных редких случаях
Ограничения
- 15-дневная оценка
Комментарии не найдены