Performance Profiling

This document over time will be home to various guides on how to use various profiling tools to do performance analysis of Mesos.

Flamescope

Flamescope is a visualization tool for exploring different time ranges as flamegraphs. In order to use the tool, you first need to obtain stack traces, here's how to obtain a 60 second recording of the mesos master process at 100 hertz using Linux perf:

$ sudo perf record --freq=100 --no-inherit --call-graph dwarf -p <mesos-master-pid> -- sleep 60
$ sudo perf script --header | c++filt > mesos-master.stacks
$ gzip mesos-master.stacks

If you'd like to solicit help in analyzing the performance data, upload the mesos-master.stacks.gz to a publicly accessible location and file with dev@mesos.apache.org for analysis, or send the file over slack to the #performance channel.

Alternatively, to do the analysis yourself, place mesos-master.stacks into the examples folder of a flamescope git checkout.