Tooling Средний

Профилирование любого Java-приложения встроенным Flight Recorder — без внешних инструментов.

✕ Java 8
// Install VisualVM / YourKit / JProfiler
// Attach to running process
// Configure sampling
// Export and analyze
// External tool required
✓ Java 9+
// Start with profiling enabled
$ java -XX:StartFlightRecording=
    filename=rec.jfr MyApp

// Or attach to running app:
$ jcmd <pid> JFR.start
Заметили проблему в этом коде? Сообщите нам.
🆓

Встроен

Никаких внешних профилировщиков для установки или лицензирования.

Минимальные накладные расходы

~1 % влияния на производительность — безопасно для использования в продакшене.

📊

Богатый набор событий

CPU, память, GC, потоки, ввод-вывод, блокировки и пользовательские события.

Старый подход
Внешний профилировщик
Современный подход
Java Flight Recorder
Начиная с JDK
9
Сложность
Средний
JFR для профилирования
Доступно

Широко доступно начиная с JDK 9/11 (открытый исходный код с версии 11)

Java Flight Recorder (JFR) — инструмент профилирования, встроенный в JVM с минимальными накладными расходами. Он фиксирует события CPU, памяти, GC, ввода-вывода, потоков и пользовательские события с минимальным влиянием на производительность (~1%).