Skip to content

Commit

Permalink
Merge pull request ceph#12168 from liewegas/doc-perf
Browse files Browse the repository at this point in the history
doc/dev/perf: a few notes on perf

Reviewed-by: Kefu Chai <[email protected]>
  • Loading branch information
tchaikov authored Nov 28, 2016
2 parents da9be4c + f5a15f0 commit 5233aa0
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions doc/dev/perf.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Using perf
==========

Top::

sudo perf top -p `pidof ceph-osd`

To capture some data with call graphs::

sudo perf record -p `pidof ceph-osd` -F 99 --call-graph dwarf -- sleep 60

To view by caller (where you can see what each top function calls)::

sudo perf report --call-graph caller

To view by callee (where you can see who calls each each top function)::

sudo perf report --call-graph callee

:note: If the the caller/callee views look the same you may be
suffering from a kernel bug; upgrade to 4.8 or later.

Flamegraphs
-----------

First, get things set up::

cd ~/src
git clone https://github.com/brendangregg/FlameGraph

Run ceph, then record some perf data::

sudo perf record -p `pidof ceph-osd` -F 99 --call-graph dwarf -- sleep 60

Then generate the flamegraph::

sudo perf script | ~/src/FlameGraph/stackcollapse-perf.pl > /tmp/folded
~/src/FlameGraph/flamegraph.pl /tmp/folded > /tmp/perf.svg
firefox /tmp/perf.svg

0 comments on commit 5233aa0

Please sign in to comment.