Oracle JDKを含むOpenJDKディストリビューション(以下、JavaまたはJDK)にはJFRを筆頭にさまざまな分析ツール/仕組みがあります。 JDK7からJDK12にかけてトレンドが変わった部分もあるので、少しサマったメモを書きます。 メトリクス取得のための仕組み Javaにはパフォーマンスメトリクスを取得するための方法がいくつかあります。代表的なのは下記の3つでしょう。 JMX ログ JPLIS(javaagent) JMX Java Management Extensions(JMX)はJavaのリソース監視および管理のためのプロトコルです。簡単にいえばJava版のSNMPです。 JSR-174としてJava 1.5より取り込まれています。 Managed Bean(MBean)を利用してCPUやメモリの情報を取得したり、特定のイベント(例えば強制GC)とかを実行することも可