Bernd Bohmann: Java Performance Analyse mit Flame Graphs unter Linux und die BPF Compiler Collection

Was sind Flame Graphs? Bis auf die typischen Farben habe sie nichts gemeinsam mit Flammen. Flame Graphs visualisieren den Call Stack von Software, so dass Performance-Probleme schnell und genau identifiziert werden können. Klassische Java Profiler sind langsam und ungenau. Ist es wirklich noch Profiling wenn die Geschwindigkeit 10 x langsamer wird? System Profiler wie die Linux perf_events haben im Gegensatz einen geringen Overhead und bieten eine vollständige Sicht. Im Zusammenspiel bieten perf_events und Flame Graphs ganz neue Möglichkeiten zu sehen was in der Java VM wirklich los ist. Wer perf_events und Flame Graphs zur Performance Analyse verwendet sollte auch einen Blick auf die BCC Tools werfen. Die BPF Compiler Collection(BCC) ist eine Sammlung von neuen eBPF-Tools(extended Berkeley Packet Filter) für die Linux IO Analyse, Networking, Monitoring usw.

Bernd Bohmann arbeitet als Software Ingenieur bei der IRIAN Deutschland GmbH. Neben seiner Arbeit als Berater und Entwickler ist er auch aktiv bei der Apache Software Foundation und hat eine Schwäche für Java und Linux.

Twitter: @bbohmann
Github: bohmber
LinkedIn: bernd-bohmann