JVM
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.
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!”
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.