LISA13 - Blazing Performance with Flame Graphs

USENIX · 20K views · 2013 · 1:31:32

Open on YouTube

Software performance & optimizationTesting, debugging & developer toolsData visualization & information designtalk

Why Stack Overflow recommends it

Stack Overflow users link it when explaining flame graphs and off-CPU profiling, citing it as the author's own talk or as a way to understand stack-sampling visualizations.

Recommended by 1 people across 1 different months, 2015 to 2015.

What it is

Brendan Gregg of Joyent presents flame graphs, a visualization of sampled stack traces for understanding CPU usage in applications and kernels. The LISA13 talk covers use cases across Linux, SmartOS, Mac OS X and Windows, and extensions to I/O, memory and latency analysis.

What people said

Recommends Ihor B. · 2015-08 · Stack Overflow · on “How to do performance profiling of Hadoop cluster”

I solved the problem. Here [LINK] you may find the detailed instruction of how to do this. Short summary how the profiling is done: At every host of a cluster we put a special jar-file (a mod of StatsD JVM Profiler) with a javaagent that will be embedded in every JVM process that runs on that machine. A “javaagent” is a piece of code that is used to instrument the programs running on the JVM. Profiler’s javaagent gathers stacktraces from JVM processes 100 times per second and sends them to a dedicated host running a NoSQL database called InfluxDB ( [LINK] ). After we run a distributed app and after the stacktraces are gathered, we run a set of scripts on this database to extract data about c

Cites osgx · 2015-02 · Stack Overflow · on “How to use linux `perf` tool to generate "Off-CPU" profile”

Brendan Gregg published instruction about Off-cpu flame graph generating: [LINK] and [LINK] Off-CPU time flame graphs may solve (say) 60% of the issues, with the remainder requiring walking the thread wakeups to find root cause. I explained off-CPU time flame graphs, this wakeup issue, and additional work, in my LISA13 talk on flame graphs ( slides [LINK] , [this video] ). Here I'll show one way to do off-CPU time flame graphs using Linux perf_events. # perf record -e sched:sched_stat_sleep -e sched:sched_switch \ -e sched:sched_process_exit -a -g -o perf.data.raw sleep 1 # perf inject -v -s -i perf.data.raw -o perf.data # perf script -f comm,pid,tid,cpu,time,period,event,ip,sym,dso,trace | awk '

Cites Michael Schubert · 2015-10 · Stack Overflow · on “Getting call hierarchy in gperftools for an R package”

I am just watching a video about flame graphs [this video] - can you give an example of a problem that one would see with stack samples that this misses?