question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

TLAB events create misleading flame graphs

See original GitHub issue

Using -e allocation-tlab seems to count the allocation events instead of counting the amount of memory allocated at that stack frame. This means that the flamegraph will show stacks that allocate often, even if they only allocate a few bytes.

As a user I’d expect the flamegraph to point me to the stacks that actually consumed the most memory.

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
oehmecommented, May 3, 2018

You can take a look at my fork, it contains a couple of improvements:

  • tlab allocations now measure the tlabSize, the size is converted to kB
  • io and blocking are now measured by their duration instead of their count
  • the code for labeling and unit conversion is now in the EventType enum
  • the project is now built with Gradle so that there is a 1-step install process
  • broken stack frames no longer crash the tool
0reactions
chrishanthacommented, May 3, 2018

I checked your fork and saw all your improvements. (I actually saw your fork before your comment). Would you like to send a PR to my project?

Read more comments on GitHub >

github_iconTop Results From Across the Web

chrishantha/jfr-flame-graph: Get Method Sampling ... - GitHub
This is a simple application to read Method Profiling Samples from Java Flight Recorder dump and convert those Stack Traces to FlameGraph compatible...
Read more >
CPU Flame Graphs - Brendan Gregg
The flame graph visualization works for any stack trace plus value combination, not just stack traces with CPU sample counts like those above....
Read more >
Blazing Performance with Flame Graphs - SlideShare
"How did we ever analyze performance before Flame Graphs?" This new visualization invented by Brendan can help you quickly understand ...
Read more >
Profiling JVM Applications in Production - USENIX
Course Plan. • JVM and Linux performance information sources. • CPU sampling. • Flame graphs and symbols. • Lab: Profiling with perf and...
Read more >
Profiling Java Applications with Async Profiler - HackerNoon
In order to generate "Java Mixed-Mode Flame Graphs", the following steps ... Async Profiler supports many kinds of events like CPU cycles, ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found