+<!--
+SPDX-FileCopyrightText: 2023 EfficiOS, Inc.
+
+SPDX-License-Identifier: CC-BY-4.0
+-->
+
LTTng-UST
=========
Prerequisites
-------------
-LTTng-UST depends on **[liburcu](http://liburcu.org/) >= 0.12** at build and
-run times. It also optionally depends on libnuma.
+LTTng-UST depends on **[liburcu](http://liburcu.org/) >= 0.12** at build
+time. It also optionally depends on libnuma.
Building
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
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`.
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.
variable `LTTNG_UST_DEBUG` when launching the user application. It
can also be enabled at build time by compiling LTTng-UST with
`-DLTTNG_UST_DEBUG`.
+ - `liblttng-ust` abort on critical can be activated by setting the
+ environment variable `LTTNG_UST_ABORT_ON_CRITICAL` when launching the user
+ application. It can also be enabled at build time by compiling LTTng-UST with
+ `-DLTTNG_UST_ABORT_ON_CRITICAL`.
- The environment variable `LTTNG_UST_REGISTER_TIMEOUT` can be used to
specify how long the applications should wait for the session
daemon _registration done_ command before proceeding to execute the
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 >= 4.0. The C++ compilers need to support C++11.
+
+
+Supported versions
+------------------
+
+The LTTng project supports the last two released stable versions
+(e.g. stable-2.13 and stable-2.12).
+
+Fixes are backported from the master branch to the last stable version
+unless those fixes would break the ABI or API. Those fixes may be backported
+to the second-last stable version, depending on complexity and ABI/API
+compatibility.
+
+Security fixes are backported from the master branch to both of the last stable
+version and the the second-last stable version.
+New features are integrated into the master branch and not backported to the
+last stable branch.
Contact
-------
Mailing list: [`lttng-dev@lists.lttng.org`](https://lttng.org/cgi-bin/mailman/listinfo/lttng-dev)
+Code review: [_lttng-ust_ project](https://review.lttng.org/q/project:lttng-ust) on LTTng Review
Package contents
----------------
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`).
+ `--enable-java-agent-log4j2` 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