Writing a Profiler in 240 Lines of Pure Java
How to develop a tiny Java profiler, that can output flame graphs, in just 240 lines of pure Java, making it easy for anyone to understand.

A JVM developer working on profilers and their underlying technology, e.g. JEP Candidate 435, in the SapMachine team at SAP.
4 views

Johannes Bechberger
9,610 viewsHow to develop a tiny Java profiler, that can output flame graphs, in just 240 lines of pure Java, making it easy for anyone to understand.

Ever wondered why you need design patterns and how to apply them? Miroslav Wengner's book has you covered.

Johannes Bechberger
4,475 viewsAsyncGetCallTrace is the base of many profilers, but how can we test it automatically to make sure it's correct? I'll explore a layered …

Johannes Bechberger
6,929 viewsDo you trust profilers? I once did too. Here I describe why you should take the results of profilers with a grain of salt.

Let's talk about debugging and observability. We work with debugging all the time, but how well do we know this common practice?

Johannes Bechberger
5,447 viewsDid you ever wonder whether JFR timestamps use the same time source as System.nanoTime? Come down the rabbit hole with me!

Johannes Bechberger
8,954 viewsEver wondered how to use Firefox Profiler to view your own profiling data? This article gives you the foundations!

Johannes Bechberger
4,399 viewsEver wanted to profile your application directly from your IDE? Here comes the Java JFR Profiler plugin, an open-source plugin for IntelliJ!

Johannes Bechberger
8,018 viewsAn introduction into GetStackTrace, AsyncGetCallTrace, and the history and specification of AsyncGetStackTrace.

Johannes Bechberger
6,411 viewsHow do profilers like async-profiler work? How to write your own? This is the second part, covering wall-clock profiling.