2 Replies Latest reply: Mar 11, 2014 2:38 PM by riceball RSS

    Tracer vs. Sampling in Java Flight Recorder

    riceball

      From JFR "Start FR wizard -->event options for profiling" and the profiling results,  I can tell that JFR is a sampling based profiler when analyzing methods. What I could not find out for sure is, how about I/O, GC and others? It is hard for me to believe those are sampling based as well. Instead I tend to believe those are actual counts that are being traced and recorded.

       

      I copied  page #5 on below side. If I understand correctly, it basically says that "GC, I/O and so on" are tracer based, not sampling based actual stats. While when it says "Sampling-based profiler", it only means "methold sampling".  Also page 16 on this slide seems to confirm my understanding, as JFR is built into JVM, and is able to instrument and get status for GC, I/O stuff.

       

      The reason I am interested is, actual stats for GC & I/O seem to be more valuable than sampled stats. So curious to know about it for sure.

      Java Flight Recorder Behind the Scenes

       

      Tracer and Profiler

      • Captures both JVM and application data

      –  Garbage Collections

      –  Synchronization

      –  Compiler

      –  CPU Usage

      –  Exceptions

      –  I/O

      • Sampling-based profiler

      –  Very low overhead

      –  Accurate data