jfr

jfrコマンドの備忘録

Memo 準備 JFRファイルのサイズを大きくしたいので、大量のJFRイベントを書き込むデモアプリを用意する。 Main.java import java.time.LocalDateTime; import jdk.jfr.Category; import jdk.jfr.Description; import jdk.jfr.Event; import jdk.jfr.Label; i…

Javaアプリのメモリリークを調べる

JavaアプリのメモリリークをPrometheusとJDK Flight Recorderを使って調べるときのメモ。 準備 ソースコード メモリリークがあるSpring Bootのデモアプリ。 build.gradle plugins { id 'org.springframework.boot' version '2.6.7' id 'io.spring.dependency…

JFRでdirect memory statisticsを見る

JDK 15からdirect memory statisticsのJFR eventが追加されたので試したときのメモ。 準備 ソースコード Nettyで確認したいので、Spring WebFluxを使う。Spring InitializrからWebFluxのプロジェクトを作成して、RestControllerを追加しただけ。 build.gradl…

JDK Flight Recorderのイベントを作る

JDK Flight Recorder (JFR) のイベントを作ったときのメモ。 準備 JDK Misson Control (JMC) ここからダウンロードしてインストールする。 ソースコード import java.util.concurrent.TimeUnit; import jdk.jfr.Category; import jdk.jfr.Description; impor…

Spring BootのFlightRecorderApplicationStartupを試す

Spring Boot 2.4 (Spring Framework 5.3) から追加されたFlightRecorderApplicationStartupを試したときのメモ。 追記 このバグがあるので、Spring Boot 2.4.7 (Spring Framework 5.3.8) 以降を使ったほうがいい。 https://github.com/spring-projects/sprin…