| 1 | LTTng Trace Control |
| 2 | ---------------- |
| 3 | |
| 4 | Please visit http://lttng.org for more information. |
| 5 | |
| 6 | Latest development can be found at: |
| 7 | |
| 8 | * Gitweb : http://git.lttng.org/lttng-tools.git/ |
| 9 | * Git : git://git.lttng.org/lttng-tools.git |
| 10 | |
| 11 | REQUIREMENTS: |
| 12 | |
| 13 | - Linux kernel >= 2.6.27 |
| 14 | pipe2(), epoll_create1() and SOCK_CLOEXEC are needed to run the session |
| 15 | daemon. There were introduce in the Linux 2.6.27 |
| 16 | |
| 17 | - liburcu |
| 18 | Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney |
| 19 | |
| 20 | -> Tested with liburcu >= v0.7.2 |
| 21 | |
| 22 | * Debian/Ubuntu package: liburcu-dev |
| 23 | * Git : git://git.lttng.org/userspace-rcu.git |
| 24 | * Website: http://lttng.org/urcu |
| 25 | |
| 26 | - libpopt >= 1.13 |
| 27 | Library for parsing command line parameters |
| 28 | |
| 29 | * Debian/Ubuntu package: libpopt-dev |
| 30 | |
| 31 | - SWIG >= 2.0 (optional) |
| 32 | Needed for Python bindings (--enable-python-bindings). |
| 33 | |
| 34 | * Debian/Ubuntu package: swig2.0 |
| 35 | |
| 36 | - python-dev (optional) |
| 37 | Python headers |
| 38 | |
| 39 | * Debian/Ubuntu package: python-dev |
| 40 | |
| 41 | - For kernel tracing: modprobe |
| 42 | |
| 43 | - bash |
| 44 | Needed for running "make check". |
| 45 | |
| 46 | For developers using the git tree: |
| 47 | |
| 48 | This source tree is based on the autotools suite from GNU to simplify |
| 49 | portability. Here are some things you should have on your system in order to |
| 50 | compile the git repository tree : |
| 51 | |
| 52 | - GNU autotools (automake >=1.10, autoconf >=2.50, autoheader >=2.50) |
| 53 | (make sure your system wide "automake" points to a recent version!) |
| 54 | - GNU Libtool >=2.2 |
| 55 | (for more information, go to http://www.gnu.org/software/autoconf/) |
| 56 | - GNU Gold >= 2.22 |
| 57 | (Before this version we hit a known bug documented at: |
| 58 | http://sourceware.org/bugzilla/show_bug.cgi?id=11317) |
| 59 | - flex >= 2.5.35 |
| 60 | - bison >= 2.4 |
| 61 | |
| 62 | If you get the tree from the repository, you will need to use the "bootstrap" |
| 63 | script in the root of the tree. It calls all the GNU tools needed to prepare the |
| 64 | tree configuration. |
| 65 | |
| 66 | INSTALLATION INSTRUCTIONS: |
| 67 | |
| 68 | - Download, compile and install the prerequisites. |
| 69 | Then: |
| 70 | $ ./configure |
| 71 | $ make |
| 72 | $ sudo make install |
| 73 | $ sudo ldconfig |
| 74 | |
| 75 | If compiling from the git repository, run ./bootstrap before running |
| 76 | the configure script, to generate it. |
| 77 | |
| 78 | If you want Python bindings, run ./configure --enable-python-bindings. |
| 79 | |
| 80 | USAGE: |
| 81 | |
| 82 | Please see doc/quickstart.txt to help you start tracing. You can also use the |
| 83 | -h/--help command on 'lttng' and all other commands offered in this tool (Ex: |
| 84 | lttng enable-event -h). |
| 85 | |
| 86 | A network streaming HOWTO can be found in doc/streaming-howto.txt which quickly |
| 87 | helps you understand how to stream a LTTng 2.0 trace. |
| 88 | |
| 89 | A Python HOWTO can be found in doc/python-howto.txt which quickly |
| 90 | helps you understand how to use the Python module to control the LTTng API. |
| 91 | |
| 92 | PACKAGE CONTENTS: |
| 93 | |
| 94 | This package contains the following elements: |
| 95 | |
| 96 | - liblttng-ctl |
| 97 | The LTTng tracing control library. |
| 98 | |
| 99 | - libsessiond-comm (internal) |
| 100 | The lttng-sessiond communication library. In order to talk with |
| 101 | lttng-sessiond, this library must be used. |
| 102 | |
| 103 | - libkernel-ctl (internal) |
| 104 | Kernel tracer control and ioctl definitions. |
| 105 | |
| 106 | - libconsumer (internal) |
| 107 | Library for Kernel and (optionally) UST trace consumer. |
| 108 | |
| 109 | - libkernel-consumer (internal) |
| 110 | Library for Kernel consumer control |
| 111 | |
| 112 | - libust-consumer (internal) |
| 113 | Library for UST consumer control |
| 114 | |
| 115 | - libhashtable (internal) |
| 116 | Library wrapper over URCU hashtables. |
| 117 | |
| 118 | - libcommon (internal) |
| 119 | Contains multiple useful function call used by the whole tree. |
| 120 | |
| 121 | - libcompat (internal) |
| 122 | Compatibility library mostly for FreeBSD and Linux. |
| 123 | |
| 124 | - librelayd (internal) |
| 125 | Library for all relayd interactions over the network. |
| 126 | |
| 127 | - lttng-relayd |
| 128 | The relay daemon used for network streaming |
| 129 | |
| 130 | - lttng-consumerd |
| 131 | The consumer daemon which uses libconsumer. |
| 132 | |
| 133 | - lttng-sessiond |
| 134 | The LTTng session daemon binary. |
| 135 | |
| 136 | - lttng |
| 137 | The LTTng tracer command line control tool. |
| 138 | |
| 139 | - include (lttng.h --> installed in $(includedir)/lttng/lttng.h) |
| 140 | The liblttngctl API header file. |
| 141 | |
| 142 | - tests |
| 143 | Various test programs. |
| 144 | |
| 145 | - doc |
| 146 | Various documentations and quickstart guide. |
| 147 | |
| 148 | - extras |
| 149 | Contains extra data such as bash completion file. |