1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
2026-02-12 lttng-tools 2.15.0
* Fix: ust-consumerd: flush hangs on stalled channel without watchdog timer
* Fix: consumerd: link failure on 32-bit architectures due to missing libatomic
* tests/lttng.py: Honor timeout_s in _run_cmd
* Clean-up: tests: fix clang-tidy `const` warning
* Fix: tests: use portable format specifier in test_poller
* Fix: tests: use portable format specifier for int64_t in tap
* Fix: consumerd: silence -Wstringop-truncation warnings
* Fix: common: remove ambiguous operator[] from c_string_view
* tests: Exclude `.tmp_new_chunk` from rotation trace size calculation
* Fix: build failure of gen-many-event-classes with `--code-coverage`
* Tests: fix Automake warning about MANY_EVENTS_GENERATED_SOURCES
* Tests: regen-metadata: add regression test for regenerate and rotation race
* tests: Add test to ensure a new viewer doesn't see old events
* tests: Allow setting session live timer to a non-default value
* doc: generate man pages in section subdirectories
* Fix: sessiond: racy metadata update during re-generation
* Fix: consumerd: metadata regeneration and rotation race
* Refactor: consumerd: inline metadata version change handling
* Refactor: consumerd: track tracer metadata coherency indicator support
* Refactor: consumerd: rename ust_metadata_pushed to ust_metadata_cache_consumed
* Refactor: consumerd: add has_network_destination() helper method
* tests: Validate that trace formats handle fields with empty names
* sessiond: Relax CTF 1.8 TSDL identifier validation
* tests: Check if an exception is being handled for env preservation
2025-12-19 | lttng-tools 2.15.0-rc1 (National Ugly Christmas Sweater Day)
WHAT'S NEW?
━━━━━━━━━━━
New features and changes in LTTng 2.15:
General:
• CTF 2 (Common Trace Format) is now the default trace format for
all newly created recording sessions. Babeltrace 2 supports CTF 2
since version 2.1 (January 2025).
Choose the trace format for each recording session with the new
`--trace-format` option of the lttng-create(1) command:
$ lttng create my-session --trace-format=ctf-1.8
To keep the default set to CTF 1.8 for your setup, use the new
`--default-trace-format` option of lttng-sessiond(8), or set
the `LTTNG_SESSIOND_DEFAULT_TRACE_FORMAT` environment variable.
CTF 2 has many benefits over CTF 1.8: easier decoding (JSON-based
metadata), cleaner trace streaming (RS byte delimiters), and
future support for user-defined attributes and broader type
support.
• A new channel memory reclaim operation, exclusively available for
user space channels, can free memory used by eligible sub-buffers
by deallocating their backing memory when no longer needed.
Automatic reclaim:
Configure a per-channel, automatic reclaim policy which
periodically tries to reclaim memory for sub-buffers older
than a given age, or as soon as they're consumed, with the
new `--auto-reclaim-memory` option of lttng-enable-channel(1).
Immediate reclaim:
The new lttng-reclaim-memory(1) command reclaims memory
immediately for eligible sub-buffers of one or more channels.
• Choose the buffer preallocation policy of a user space channel
with the new `--buffer-preallocation` option of
lttng-enable-channel(1). LTTng can either preallocate all ring
buffer memory up front (pre-2.15 behavior; still the default) or
allocate as needed.
• A new watchdog timer mechanism monitors user space ring-buffers
and makes stalled sub-buffers (from terminated applications)
consumable again. Enabled by default; control with the new
`--watchdog-timer` option of lttng-enable-channel(1).
• The lttng-list(1) command output has been completely revamped with
a clean tree structure and terminal color support. New options:
`--style`, `--no-truncate`, and `--mem-usage` for memory usage
reporting per channel.
• The lttng-status(1) command now accepts the same options as
lttng-list(1).
• New trigger conditions for lttng-add-trigger(1):
`channel-buffer-usage-ge`, `channel-buffer-usage-le`,
`session-consumed-size-ge`, `session-rotation-starts`, and
`session-rotation-finishes`.
• The lttng(1) commands won't emit multi-byte UTF-8 sequences when
the `LTTNG_NO_UTF_8` environment variable is set to `1`.
• The lttng(1) Zsh completion function now fully completes the
`add-trigger` command.
• Both lttng-sessiond(8) and lttng-relayd(8) now support systemd's
sd_notify protocol for READY and STOPPING notifications. This
enables proper synchronization of service dependencies on
systemd-based systems.
liblttng-ctl:
• lttng_session_descriptor_set_trace_format(): set the trace format
of a recording session descriptor.
• lttng_reclaim_channel_memory(): immediately reclaim user space
channel memory for eligible sub-buffers.
• lttng_channel_set_automatic_memory_reclamation_policy() and
lttng_channel_get_automatic_memory_reclamation_policy(): set and
get the automatic memory reclamation policy of a channel.
• lttng_channel_set_preallocation_policy() and
lttng_channel_get_preallocation_policy(): set and get the buffer
preallocation policy of a channel.
• lttng_channel_set_watchdog_timer_interval() and
lttng_channel_get_watchdog_timer_interval(): set and get the
watchdog timer period of a channel.
• New data stream info API for querying CPU ID and memory usage:
lttng_channel_get_data_stream_info_sets() and related functions.
Compatibility:
• The internal v2.15 communication protocol between LTTng-tools and
LTTng-UST is incompatible with LTTng 2.14: you cannot use
LTTng-tools 2.15 with LTTng-UST 2.14 and vice versa.
• Minimum Linux kernel version is now 4.4.0 (was 2.6.30).
• Minimum Python version for tests is now 3.5 (was 3.4).
• MI schema version bumped to 4.2.
|