Tooling 中級

組み込みFlight Recorderで外部ツールなしに任意のJavaアプリをプロファイルする。

✕ 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・スレッド・I/O・ロック・カスタムイベントを記録できます。

旧来のアプローチ
外部プロファイラー
モダンなアプローチ
Java Flight Recorder
JDKバージョン
9
難易度
中級
JFRによるプロファイリング
利用可能

JDK 9/11(オープンソース化はJDK 11)以降、広く利用可能

Java Flight Recorder(JFR)はJVM組み込みの低オーバーヘッドなプロファイリングツールです。CPU・メモリ・GC・I/O・スレッド・カスタムイベントを最小限のパフォーマンス影響(約1%)でキャプチャします。

共有 𝕏 🦋 in