У нас есть ситуация, когда мы хотели бы иметь возможность создать zip-файл, содержащий как можно больше информации о работающей в данный момент Java-программе (которая может быть недоступна), чтобы можно было проводить посмертный судебный анализ. В настоящее время мы развертываем на Java 5, но функции Java 6 тоже интересны.
Пока я думал о:
- Программно сгенерированный дамп потока. Похоже, это работает лучше в Java 6.
- Записанные события журнала за последние X минут. В настоящее время мы используем logback или java.util.logging.
- Некоторые сериализованные объекты.
- Внешняя среда - все системные свойства.
Что еще было бы полезно для информации о JVM?
Можно ли в общем виде обойти стеки вызовов и увидеть аргументы? (или это требует JVMTI или эквивалент). Это IBM JVM, поэтому мы не можем использовать jvisualvm и Attach API.