ceph/src/tracing
Sage Weil 3f5269d8b5 Merge pull request #13323 from yehudasa/wip-18079-2
librados: use cursor for nobjects listing

Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-07 08:41:08 -06:00
..
.gitignore
CMakeLists.txt Merge pull request #12492 from yehudasa/wip-func-oid-tracing 2017-01-18 15:19:21 -08:00
eventtrace.c
eventtrace.tp
librados.c
librados.tp librados: nobjects list get and seek to cursor 2017-03-01 14:49:12 -08:00
librbd.c
librbd.tp librbd: implement writesame API 2017-02-23 17:25:19 +08:00
objectstore.c
objectstore.tp
oprequest.c
oprequest.tp
osd.c
osd.tp
pg.c
pg.tp
README.md
tracing-common.h

Installation

The LTTng libraries that ship with Ubuntu 12.04 have been very buggy, and the generated header files using lttng-gen-tp have needed to be fixed just to compile in the Ceph tree. The packages available in Ubuntu 14.04 seem to work alright, and for older versions please install LTTng from the LTTng PPA.

https://launchpad.net/~lttng/+archive/ppa

Then install as normal

apt-get install lttng-tools liblttng-ust-dev

Add/Update Provider

Create tracepoint definition file

Add tracepoint definitions for the provider into a .tp file. Documentation on defining a tracepoint can be found in man lttng-ust. By convention files are named according to the logical sub-system they correspond to (e.g. mutex.tp, pg.tp). And add a C source file to be compiled into the tracepoint provider shared object, in which TRACEPOINT_DEFINE should be defined. See LTTng document for details. Place the .tp and the .c files into the src/tracing directory and modify the CMake file src/tracing/CMakeLists.txt accordingly.