Add lttng-ctl SWIG python bindings
[lttng-tools.git] / README
diff --git a/README b/README
index af6e8648895afcf7d68c9f6e74c1d4adf390ca59..1898af98472ef7686006bb9bade0024702a5e810 100644 (file)
--- a/README
+++ b/README
@@ -5,60 +5,142 @@ Please visit http://lttng.org for more information.
 
 Latest development can be found at:
 
-       * Gitweb :      http://git.lttng.org/lttng-tools.git/
-       * Git :         git://git.lttng.org/lttng-tools.git
+    * Gitweb :  http://git.lttng.org/lttng-tools.git/
+    * Git :     git://git.lttng.org/lttng-tools.git
 
-PREREQUISITES:
+REQUIREMENTS:
 
-       - liburcu
-         Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney
-         
-         -> Tested with liburcu >= v0.5.4
+       - Linux kernel >= 2.6.27
+         pipe2(), epoll_create1() and SOCK_CLOEXEC are needed to run the session
+         daemon. There were introduce in the Linux 2.6.27
 
-         * Debian/Ubuntu package: liburcu-dev
-         * Git : git://lttng.org/userspace-rcu.git
-         * Website:  http://lttng.org/urcu
+    - liburcu
+      Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney
 
-       - libustctl
-         LTTng user-space tracer control library
+      -> Tested with liburcu >= v0.6.6
 
-         Needed for interaction with that tracer.
+      * Debian/Ubuntu package: liburcu-dev
+      * Git : git://git.lttng.org/userspace-rcu.git
+      * Website:  http://lttng.org/urcu
 
-       - liblttctl
-         LTTng kernel tracer control library
+    - libpopt >= 1.13
+      Library for parsing command line parameters
 
-         Needed for interaction with that tracer.
+      * Debian/Ubuntu package: libpopt-dev
+
+    - SWIG >= 2.0 (optional)
+      Needed for Python bindings
+
+      * Debian/Ubuntu package: swig2.0
+
+    - python-dev (optional)
+      Python headers
+
+      * Debian/Ubuntu package: python-dev
+
+    - For kernel tracing: modprobe
+
+For developers using the git tree:
+
+This source tree is based on the autotools suite from GNU to simplify
+portability. Here are some things you should have on your system in order to
+compile the git repository tree :
+
+- GNU autotools (automake >=1.10, autoconf >=2.50, autoheader >=2.50)
+  (make sure your system wide "automake" points to a recent version!)
+- GNU Libtool >=2.2
+  (for more information, go to http://www.gnu.org/software/autoconf/)
+- GNU Gold >= 2.22
+  (Before this version we hit a known bug documented at:
+  http://sourceware.org/bugzilla/show_bug.cgi?id=11317)
+- flex >= 2.5.35
+- bison >= 2.4
+
+If you get the tree from the repository, you will need to use the "bootstrap"
+script in the root of the tree. It calls all the GNU tools needed to prepare the
+tree configuration.
 
 INSTALLATION INSTRUCTIONS:
 
-  - Download, compile and install liburcu, libuuid, libustctl and liblttctl
-  - In this package's tree, run ./configure.
-  - Run make.
-  - Run make install.
-  - Run ldconfig.
+  - Download, compile and install the prerequisites.
+  Then:
+  $ ./configure
+  $ make
+  $ sudo make install
+  $ sudo ldconfig
 
   If compiling from the git repository, run ./bootstrap before running
   the configure script, to generate it.
 
+  If you want Python bindings, run ./configure --enable-python-bindings.
+
+USAGE:
+
+Please see doc/quickstart.txt to help you start tracing. You can also use the
+-h/--help command on 'lttng' and all other commands offered in this tool (Ex:
+lttng enable-event -h).
+
+A network streaming HOWTO can be found in doc/streaming-howto.txt which quickly
+helps you understand how to stream a LTTng 2.0 trace.
+
+A Python HOWTO can be found in doc/python-howto.txt which quickly
+helps you understand how to use the Python module to control the LTTng API.
+
 PACKAGE CONTENTS:
 
-       This package contains the following elements:
+    This package contains the following elements:
+
+    - liblttng-ctl
+      The LTTng tracing control library.
+
+    - libsessiond-comm (internal)
+         The lttng-sessiond communication library. In order to talk with
+         lttng-sessiond, this library must be used.
+
+    - libkernel-ctl (internal)
+      Kernel tracer control and ioctl definitions.
+
+    - libconsumer (internal)
+      Library for Kernel and (optionally) UST trace consumer.
+
+       - libkernel-consumer (internal)
+         Library for Kernel consumer control
+
+       - libust-consumer (internal)
+         Library for UST consumer control
+
+       - libhashtable (internal)
+         Library wrapper over URCU hashtables.
+
+       - libcommon (internal)
+         Contains multiple useful function call used by the whole tree.
+
+       - libcompat (internal)
+         Compatibility library mostly for FreeBSD and Linux.
+       
+       - librelayd (internal)
+         Library for all relayd interactions over the network.
+
+       - lttng-relayd
+         The relay daemon used for network streaming
+
+    - lttng-consumerd
+      The consumer daemon which uses libconsumer.
 
-       - liblttngctl
-         The LTTng trace control library.
+    - lttng-sessiond
+      The LTTng session daemon binary.
 
-       - liblttsessiondcomm
-         The ltt-sessiond communication library. In order to talk with ltt-sessiond,
-         thi library must be used.
+    - lttng
+      The LTTng tracer command line control tool.
 
-       - ltt-sessiond
-         The LTTng session daemon binary.
+    - include (lttng.h --> installed in $(includedir)/lttng/lttng.h)
+      The liblttngctl API header file.
 
-       - lttng
-         The LTTng tracer command line control tool.
+    - tests
+      Various test programs.
 
-       - include
-         The liblttngctl API header file.
+       - doc
+         Various documentations and quickstart guide.
 
-       - tests
-         Various test programs.
+       - extras
+         Contains extra data such as bash completion file.
This page took 0.03362 seconds and 4 git commands to generate.