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.
343 views

Johannes Bechberger
9,675 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,539 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,985 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,545 viewsDid you ever wonder whether JFR timestamps use the same time source as System.nanoTime? Come down the rabbit hole with me!

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

Johannes Bechberger
4,464 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,105 viewsAn introduction into GetStackTrace, AsyncGetCallTrace, and the history and specification of AsyncGetStackTrace.

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