Skip to main content

One post tagged with "Distributed Systems"

View All Tags

Using Flame Graphs to Visualize Method Execution Times in Distributed Systems

· 5 min read
Evgenii Frolikov
Senior Java Architect | Expert in High-Load Systems & JVM Internals

TL;DR: The Trace is the Test. In distributed microservices, BitDive captures cross-service spans and transforms them into deterministic JUnit Replay Plans. By using flame graphs as the blueprint, BitDive allows you to verify complex distributed logic end-to-end as Real Runtime Data.


At BitDive.io, we leverage flame graphs not for traditional CPU profiling, but for visualizing the time (in milliseconds) that each method in a span consumes. This approach is especially suited for distributed systems with microservices running across different servers and processors. In this post, we will explain why flame graphs are effective for this use case, how they can help uncover bottlenecks in distributed architectures, and why this method could be more suitable for your system's needs.