X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=README.md;h=9553ef151940ad7e307cae587f459621b1fc0a17;hb=6ba0c2b259f1f99ed3ce8ee2e58e90bc393b704e;hp=a2d9e634f6ebf758d960d2a22eae9e81c1017181;hpb=6f9466c5e5313199ef857c0b91cfb2eaf3a8904e;p=lttng-ust.git diff --git a/README.md b/README.md index a2d9e634..9553ef15 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,8 @@ user space tracing helpers for any application. Prerequisites ------------- -LTTng-UST depends on [liburcu](http://liburcu.org/) v0.7.2 at build and -run times. +LTTng-UST depends on **[liburcu](http://liburcu.org/) >= 0.12** at build +time. It also optionally depends on libnuma. Building @@ -25,15 +25,16 @@ portability. Here are some things you should have on your system in order to compile the Git repository tree: - [GNU Autotools](http://www.gnu.org/software/autoconf/) - (**Automake >= 1.10**, **Autoconf >= 2.50**, - **Autoheader >= 2.50**; + (**Automake >= 1.12**, **Autoconf >= 2.69**, + **Autoheader >= 2.69**; make sure your system-wide `automake` points to a recent version!) - **[GNU Libtool](https://www.gnu.org/software/libtool/) >= 2.2** + - **[pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)** ### Optional dependencies -Optional packages to build LTTng-tools man pages: +Optional packages to build LTTng-ust man pages: - **[AsciiDoc](http://www.methods.co.nz/asciidoc/) >= 8.4.5** (previous versions may work, but were not tested) @@ -91,11 +92,11 @@ This method links the tracepoint provider with the application, either directly or through a static library (`.a`): 1. Into exactly one unit (C/C++ source file) of your _application_, - define `TRACEPOINT_DEFINE` and include the tracepoint provider + define `LTTNG_UST_TRACEPOINT_DEFINE` and include the tracepoint provider header. 2. Include the tracepoint provider header into all C/C++ files using the provider and insert tracepoints using the `tracepoint()` macro. - 3. Use `-I.` when compiling the unit defining `TRACEPOINT_DEFINE` + 3. Use `-I.` when compiling the unit defining `LTTNG_UST_TRACEPOINT_DEFINE` (e.g., `tp.c`). 4. Link the application with `-ldl` on Linux, or with `-lc` on BSD, and with `-llttng-ust`. @@ -123,7 +124,7 @@ This method decouples the tracepoint provider from the application, making it dynamically loadable. 1. Into exactly one unit of your _application_, define - `TRACEPOINT_DEFINE` _and_ `TRACEPOINT_PROBE_DYNAMIC_LINKAGE`, + `LTTNG_UST_TRACEPOINT_DEFINE` _and_ `LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE`, then include the tracepoint provider header. 2. Include the tracepoint provider header into all C/C++ files using the provider and insert tracepoints using the `tracepoint()` macro. @@ -189,7 +190,7 @@ human-readable text log. Since LTTng-UST 2.3, both tracepoints and tracepoint providers can be compiled in C++. To compile tracepoint probes in C++, you need -G++ >= 4.7 or Clang. +G++ >= 4.7 or Clang. The C++ compilers need to support C++11. Contact @@ -225,15 +226,21 @@ This package contains the following elements: It _has_ to be preloaded in order to hijack calls. In contrast, `liblttng-ust` may be linked at build time. - `liblttng-ust-java`: a simple library that uses JNI to allow tracing - in Java programs. - - `liblttng-ust-jul`: a package that includes a JNI library and a JAR - library to provide an LTTng-UST logging back-end for Java application - using Java Util Logging. + in Java programs. (Configure with `--enable-jni-interface`). + - `liblttng-ust-java-agent`: a package that includes a JNI library and a + JAR library to provide an LTTng-UST logging back-end for Java + applications using Java Util Logging or Log4j. (Configure with + `--enable-java-agent-jul` or `--enable-java-agent-log4j` or + `--enable-java-agent-all`). - `liblttng-ust-libc-wrapper`: an example library that can be preloaded to instrument some calls to libc (currently `malloc()` and `free()`) and to POSIX threads (mutexes currently instrumented) in any program without need to recompile it. + - `liblttng-ust-python-agent`: a library used by python-lttngust to allow + tracing in Python applications. (Configure with `--enable-python-agent`) - `libringbuffer`: the ring buffer implementation used within LTTng-UST. + - `python-lttngust`: a package to provide an LTTng-UST logging back-end + for Python applications using the standard logging framework. - `snprintf`: an asynchronous signal-safe version of `snprintf()`. - `tests`: various test programs. - `tools`: home of `lttng-gen-tp`.