SJK (Swiss Java Knife) — github.com/aragozin/jvm-tools — начал свою историю 2011 году с простых инструментов мониторинга потоков и сборщика мусора в JVM. С тех пор он оброс значительным числом разноплановых функций, которые могут понадобиться Java-инженеру или SRE, работающему с JVM.
SJK — это выполняемый jar файл, который можно скопировать и использовать на сервере (или даже в контейнере). В то же время SJK может быть использован, как библиотека для встраивания диагностики в прикладной код.
На данной встрече поговорим о всём спектре возможностей SJK, которые в свою очередь можно разделить на несколько категорий:
- ad hoc диагностика JVM, анализ производительности и профилирование;
- анализ данных, собранных при профилировании (в том числе, данные собранные другими инструментами, такими как Java Flight Recorder и perf);
- манипуляции с JMX: вызовы, скраппинг, проксирование и пр.;
- использование SJK в качестве библиотеки.