2023

Diagnosing More Java Disk I/O using JFR

The JDK provides JFR events for file reads and writes. These report the duration of the action and the number of bytes read/written. However, there are many more disk IO operations that are not instrumented, but can nevertheless have a significant impact on the performance characteristics of production applications. Examples include checking whether a file exists, looking up a modified timestamp, and creating a directory. This post explores instrumenting these actions.

8 min read

Smaller Java runtime

I asked my colleagues at PKWARE what they dislike most about the JVM. One commented, “relying on a (rather large) runtime.” I read that and thought, “challenge accepted!”

5 min read
Back to Top ↑

2022

Diagnosing Java File I/O using JFR

The other day, my team at PKWARE received a report that the latest version of our library had raised an alarm in their I/O regression tests. I knew that the JDK Flight Recorder could be used to diagnose performance issues, but had little experience with it before. I found limited information about diagnosing file I/O, so I thought I’d share what worked for us.

2 min read
Back to Top ↑