Introduce LTTNG_UST_MAP_POPULATE_POLICY environment variable
[lttng-ust.git] / README.md
index aa5ea978a2c7c45998607a843f00837a3e329bfc..657cba85e45edbf031a6576fe5284ce0f2bcbf22 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,9 @@
+<!--
+SPDX-FileCopyrightText: 2023 EfficiOS, Inc.
+
+SPDX-License-Identifier: CC-BY-4.0
+-->
+
 LTTng-UST
 =========
 
@@ -11,8 +17,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,10 +31,11 @@ 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
@@ -91,11 +98,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 +130,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.
@@ -170,6 +177,10 @@ human-readable text log.
     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
@@ -189,8 +200,25 @@ 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 >= 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
 -------
@@ -199,6 +227,7 @@ Maintainer: [Mathieu Desnoyers](mailto:mathieu.desnoyers@efficios.com)
 
 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
 ----------------
@@ -230,7 +259,7 @@ This package contains the following elements:
     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
This page took 0.024082 seconds and 4 git commands to generate.