openjdk.ruOpenJDK на русском

JEP 228: Add More Diagnostic Commands

Добавление новых диагностических команд

ОтветственныйStaffan Larsen
ТипFeature
ОбластьImplementation
СтатусClosed / Delivered
Выпуск9
Компонентhotspot / svc
Обсуждениеserviceability dash dev at openjdk dot java dot net
ТрудоёмкостьS
ДлительностьM
Связан сJEP 279: Improve Test-Failure Troubleshooting
РецензентыMikael Vidstedt
ОдобренMikael Vidstedt
Создан2014/05/22 13:55
Обновлён2017/03/07 11:28
Задача8043764

Аннотация

Определить дополнительные диагностические команды, чтобы упростить диагностику HotSpot и JDK.

Описание

Ниже приведён список новых команд (точные названия пока не определены):

  • Выводить список всех загруженных классов и их структуру наследования.
  • Ответственная группа: runtime
  • Выводить методы, поставленные в очередь на компиляцию компилятором C1 или C2 (отдельные очереди)
  • Ответственная группа: compiler
  • Выводить все строковые константы UTF-8.
  • Ответственная группа: runtime

datadump_request

  • Подавать JVM сигнал выполнить запрос на выгрузку данных (data-dump) для JVMTI.
  • Ответственная группа: serviceability

dump_codelist

  • Выводить скомпилированные методы (n-methods) с полной сигнатурой, диапазоном адресов и состоянием (alive, nonentrant и zombie).
  • Позволять выбрать вывод в stdout или в файл.
  • Позволять вывод в формате XML или в текстовом виде.
  • Ответственная группа: compiler
  • Выводить размер кэша кода и список блоков в кэше кода с адресами.
  • Ответственная группа: compiler

set_vmflag

  • Устанавливать флаг или параметр командной строки в VM или в библиотеках.
  • Ответственная группа: servicability

Тестирование

Для каждой команды нужен тест, проверяющий её вывод.