summaryrefslogtreecommitdiffstats
path: root/doc/dev/cpu-profiler.rst
blob: 3885293cd28d5f19b85b70ef6280daa1a7ecb2d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
=====================
 Installing Oprofile
=====================

The easiest way to profile Ceph's CPU consumption is to use the `oprofile`_
system-wide profiler.

.. _oprofile: http://oprofile.sourceforge.net/about/

Installation
============

If you are using a Debian/Ubuntu distribution, you can install ``oprofile`` by
executing the following::

	sudo apt-get install oprofile oprofile-gui
	

Compiling Ceph for Profiling
============================

To compile Ceph for profiling, first clean everything. ::

    git clean -dfx
	
Finally, compile Ceph. ::

	./do-cmake.sh -DCMAKE_CXX_FLAGS="-fno-omit-frame-pointer -O2 -g"
    cd build
    cmake --build .

In this command, ``CMAKE_CXX_FLAGS`` is specified. This provides callgraph output.

Ceph Configuration 
==================

Ensure that you disable ``lockdep``. Consider setting logging to 
levels appropriate for a production cluster. See `Ceph Logging and Debugging`_ 
for details.

.. _Ceph Logging and Debugging: ../../rados/troubleshooting/log-and-debug

See the `CPU Profiling`_ section of the RADOS Troubleshooting documentation for details on using Oprofile.


.. _CPU Profiling: ../../rados/troubleshooting/cpu-profiling