Skip to content

Releases: efficios/babeltrace

v2.0.6

28 Mar 19:50
v2.0.6
Compare
Choose a tag to compare

What's new since Babeltrace 2.0.5?

This release brings an assortment of fixes and improvements across the board.

Highlights include numerous fixes to ensure the compatibility of the Python bindings with newer Python versions, enhancements for handling inactive streams in the LTTng live source, and various documentation and test suite refinements.

Below is the full list of changes in this update:

2024-03-28 Babeltrace 2.0.6 (Respect Your Cat Day)
    * bt2: disable some warnings for `native_bt.c`
    * bt2: compile `native_bt.c` with `-Wno-undef`
    * Fix: src.ctf.lttng-live: expect NEW_STREAM/METADATA for inactive streams
    * Fix: `babeltrace2 convert`: don't consider the `--plugin-path` opt.
    * include/babeltrace2/plugin/plugin-dev.h: "define" -> "definition
    * Fix: doc: escape double quote in bt_p alias
    * Fix: bt2: pass _TraceClassConst to destruction listeners
    * fix: 'load_module()' deprecated in Python 3.12
    * tests: retry os.rename on PermissionError failure in lttng_live_server.py
    * doc: fix uptream -> upstream typos
    * fix: test_message_iterator.py hangs on Python 3.12
    * plugin-dev: mark symbols meant to be public with __attribute__((visibility("default")))
    * Silence -Wunused-but-set-variable error with clang
    * Fix: Windows DLL path lookup with Python >= 3.8
    * doc/man: make default values of boolean init. params. clearer
    * RFC: docs: fix: Match stated automake requirement
    * fix: make flake8 6.x happy
    * fix: running black on python 3.11
    * bt_query_executor_create_with_method_data(): fix docs note
    * Fix: ctf-writer: null dereference in bt_ctf_trace_common_add_stream_class
    * Update working version to Babeltrace v2.0.6

We've worked hard to address issues and enhance the Babeltrace project, and we appreciate the community's feedback and contributions. As always, we look forward to hearing about your experiences with this release and how we can continue to improve Babeltrace!

As we celebrate the release of Babeltrace 2.0.6, let's also take a moment to appreciate our feline companions, who often keep us company during those long debugging sessions.

Happy coding, and give your cat (or pet of choice) some extra respect today!

Important links

Babeltrace 2.0.6 tarball:
https://www.efficios.com/files/babeltrace/babeltrace2-2.0.6.tar.bz2

Babeltrace website:
https://babeltrace.org

Mailing list (for support and development):
lttng-dev at lists.lttng.org

IRC channel:
#lttng on irc.oftc.net

Git repository:
https://bugs.lttng.org/projects/babeltrace

GitHub project:
https://github.com/efficios/babeltrace

Continuous integration:
https://ci.lttng.org/view/Babeltrace/

Code review:
https://review.lttng.org/q/project:babeltrace

v2.0.5

26 May 15:46
v2.0.5
Compare
Choose a tag to compare

What's new since Babeltrace 2.0.4?

This release contains a number of plug-in fixes. The full change log follows.

2023-05-23 Babeltrace 2.0.5 (World Turtle Day)

  • bt2: honor build system compiler/linker preferences
  • Fix: clear_string_field(): set first character to 0
  • Fix: src.ctf.fs: Not resolving event common ctx
  • debug-info: fix -Wenum-int-mismatch problem in copy_field_class_content_internal
  • fix: pass exec-prefix to python bindings install
  • fix: document proper Bison version requirement
  • cli: use return value of g_string_free
  • babeltrace2-query(1): erroneous parameter used in example
  • Fix: tests: print real values in a fixed format
  • Fix: bt2: autodisc: remove thread error while inserting status in map
  • tests: src.ctf.fs: add test for metadata with invalid syntax
  • tests: shorten names of session-rotation trace
  • bt2: ignore -Wredundant-decls warning
  • ctf: fix -Wformat-overflow error in ctf-meta-resolve.cpp
  • ctf-writer: fix -Wformat-overflow errors in resolve.c
  • Fix: src.text.details: use write_uint_prop_value to handle unsigned values in write_int_range
  • Add dev-requirements.txt for pip
  • Fix: src.ctf.lttng-live: consider empty metadata packet as retry
  • Fix: ctf: wrongfully requiring CTF metadata signature for every section
  • Fix: src.ctf.lttng-live: session closed before any metadata is received
  • fix: obsolete warnings with autoconf >= 2.71
  • fix: explicitly disable '-Wsuggest-attribute=format'
  • fix: set stable branch in gitreview config
  • Fix: ctf-writer: list of reserved keywords
  • compiler warning cleanup: is_signed_type: compare -1 to 1
  • Update working version to Babeltrace 2.0.5

Full Changelog: v2.0.4...v2.0.5

v1.5.11

26 May 19:28
v1.5.11
Compare
Choose a tag to compare

While this release series has reached EOL, this update was deemed necessary as the latest release of popt (v1.19) introduced a breaking change (changing the ownership of left-over command line arguments) that breaks prior babeltrace v1.5.x releases.

Note that memory leak checking tools will report a leak when using popt < 1.19 when running this release. This leak is benign as it is limited to the command line arguments and doesn't grow over time.

For more information, see:
https://src.fedoraproject.org/rpms/babeltrace/c/d48452beff87b145c038f070e7182358db04336c?branch=rawhide

Note that the latest announced release of this branch was v1.5.8. The following change log includes the changes from all three follow-up releases.

2022-11-02 babeltrace 1.5.11 (Broadcast Traffic Professionals Day)

  • Fix: distutils removed in python 3.12
  • Fix: use-after-free with popt 1.19
  • configure.ac: Basic fixes for autoconf 2.70
  • Add gerrit config for stable-1.5
  • port: disable debug-info by default on FreeBSD
  • port: add missing includes for FreeBSD compat
  • bindings: try importing collections.abc first for forward compatibility
  • man: fix typo in babeltrace.1

Full Changelog: v1.5.10...v1.5.11

v2.0.4

28 Apr 19:10
v2.0.4
Compare
Choose a tag to compare

What's new since Babeltrace 2.0.3?

This release contains a number of plug-in fixes and changes to build the project
on FreeBSD. It also fixes the build system to accommodate some breaking changes
introduced in Autoconf 2.70.

The full change log follows.

2021-02-23 Babeltrace 2.0.4 (National Banana Bread Day)

  • Fix: macro name for "get supported mip versions method" attribute descriptor
  • Fix: configure: support Autoconf 2.70
  • port: add 'notext' keyword linker support
  • port: fix compat/endian.h on FreeBSD
  • port: tests: Add sys/wait.h include for FreeBSD
  • port: namespace align.h with BT_ prefix
  • port: Add sys/param.h include to compat/limits.h for FreeBSD
  • port: disable debug-info by default on FreeBSD
  • Fix: disable deprecation warnings for SWIG generated code
  • port: 'ls --ignore=' is a GNU extension
  • tests/lib/test_trace_ir_ref.c: rename user structure
  • Fix: sink.ctf.fs: fix logic of make_unique_stream_file_name
  • Fix: sink.ctf.fs: remove spurious directory level when using assume-single-trace
  • Fix: bt2: _trim_docstring(): docstring can have 0 or 1 line
  • Fix: ctf plugin: use element FC's alignment as array/seq. FC alignment
  • Fix: source.ctf.lttng-live: muxing failure on clear (unit conversion)
  • Fix: src.ctf.lttng-live: incomplete metadata packet is an error
  • Fix: source.ctf.lttng-live: muxing failure on clear
  • Fix: source.ctf.fs: 0-length packet index length causes SIGFPE
  • Update working version to Babeltrace 2.0.4

v2.0.3

28 Apr 19:09
v2.0.3
Compare
Choose a tag to compare

What's new since Babeltrace 2.0.2?

This release contains a number of fixes, but more importantly an
initial documentation for the Python bindings.

The full change log follows.

2020-04-24 Babeltrace 2.0.3 (German Beer Day)

  • Fix: lib: use appropriate format specifier to print message iterator class
  • Fix: sink.text.pretty: check that port is connected before creating message iterator
  • Add initial Python bindings documentation
  • Fix: bt2: read properties on _DiscardedEventsMessage
  • tests: add tests for discarded events/packets creation
  • Fix: bt2: add precond. check, for stream class supporting discarded msgs with clock snapshot without clock class
  • Fix: flt-utils.muxer: reference leak in muxer_msg_iter_add_upstream_msg_iter error path
  • Fix: sink.text.details: goto error when failing to add input port
  • Fix: src.text.dmesg: add missing assignment of status on error path
  • Revert "bt2: _EventConst.getitem(): use a single temporary variable"
  • Fix: src.ctf.fs: initialize the other_entry variable
  • bt2: _EventConst.getitem(): use a single temporary variable
  • Fix: _EventConst.getitem(): check if event has a packet
  • doc: bt_field_class...get_mapping_labels...(): clarify RV's validity
  • doc/api/libbabeltrace2/style.css: make font weight of .intertd normal
  • Update working version to Babeltrace 2.0.3

v2.0.2

28 Apr 19:08
v2.0.2
Compare
Choose a tag to compare

What's new since Babeltrace 2.0.1?

This release contains the following note-worthy fixes:

  • Fixed a segmentation fault when trying to instantiate a trimmer
    downstream of a component that creates streams without packets.
    See 5cf4fb3.

  • The trimmer component class rejected streams that are not
    packetized. Since the trimmer supports streams without packets,
    there is no reason to reject them.
    See a26dd09.

  • The configure script silently accepted invalid Python
    configurations such as building with --enable-python-plugins,
    but without --enable-python-bindings, which resulted in users
    being unable to import the bt2 package.
    See 3530dd0.

The full change log follows.

2020-03-10 Babeltrace 2.0.2 (International Bagpipe Day)

  • common: cast arguments to character classification functions to unsigned char
  • flt.utils.muxer: initialize variable to silence -Wmaybe-uninitialized warning
  • Fix: configure.ac: silently accepting invalid Python configuration
  • Cleanup: configure.ac: remove redundant AC_ARG_ENABLE parameters
  • Fix: plugin-dev.h: Disable address sanitizer on pointer array section variables
  • Fix: cli: use BT_CLI_LOGE_APPEND_CAUSE instead of printf to print errors
  • tests: improve flt.utils.trimmer/test_trimming to test streams without packets
  • Fix: flt-utils.trimmer: accept streams without packet support
  • Fix: lib: don't assume that streams have packets in auto seek
  • Fix: correct typo in README
  • Update working version to Babeltrace 2.0.2

Babeltrace 2.0.1 - Amqui

05 Feb 19:21
v2.0.1
Compare
Choose a tag to compare

Today we're releasing the first patch-level release of Babeltrace 2.0 "Amqui".

Amqui (/ɒmkwiː/) is a town in eastern Québec, Canada, at the base of the Gaspé peninsula in Bas-Saint-Laurent.

Located at the confluence of the Humqui and Matapédia Rivers, its proximity to woodlands makes it a great destination for outdoor activities such as camping, hiking, and mountain biking.

What's new since Babeltrace 2.0.0?

This release contains minor bug fixes which are mainly related to packaging and documentation issues.

Of note for packagers, we have changed the autoconf package name to babeltrace2. This fixes co-installation problems with Babeltrace 1.x, but also changes the naming scheme of the official tarball.

The official tarballs of Babeltrace 2 are now named babeltrace2-$VERSION.tar.bz2. We have added a symlink to the original Babeltrace 2.0.0 release to reflect this new naming scheme.

The full change log follows.

Babeltrace 2.0.1

e3757f6 fix: Remove empty python bindings documentation
f1f3b04 README: Babeltrace 2 was released in 2020
f1598eb fix: set autoconf package name to babeltrace2
fe5ee42 Typo: occured -> occurred
92da26a .gitignore: Add missing bt2/native_bt.d
bee055d fix: build failure on ppc64el with '-Werror=format-overflow='
2f65757 Silence -Wnull-dereference warning in generated CTF parser code
04ab8e4 plugin-so.c: add comment about why we're not using a GLib linked list
c0c5d93 doc: graph.h: do not link to man7.org for babeltrace(1)
e7ced9c fix: common/list.h is LGPL-2.1
531c3c7 fix: build Python bindings with GCC10
003f30d fix: use correct function to print 'enum bt_ctf_scope'
3302c66 Update working version to Babeltrace 2.0.1

Babeltrace 2.0.0 - Amqui

22 Jan 17:10
v2.0.0
Compare
Choose a tag to compare

Hello people!

This is it: the day you’ve been waiting for has finally arrived.

Today we’re releasing Babeltrace 2.0 “Amqui”! 🥳

Amqui (/ɒmkwiː/) is a town in eastern Québec, Canada, at the base of the Gaspé peninsula in Bas-Saint-Laurent.

Located at the confluence of the Humqui and Matapédia Rivers, its proximity to woodlands makes it a great destination for outdoor activities such as camping, hiking, and mountain biking.

By the way, Babeltrace has a new dedicated domain name: babeltrace.org.

Background

Just a few words about why Babeltrace 2 took about five years to complete.

First, let us clarify that from day one, one of the most important imperatives of the project was long-term stability: we wanted Babeltrace 2 to last for a long time and for its library’s API to become a well-known reference in the trace processing territory, a bit like Libxml2 has had major version 2 for about 20 years. All the other Babeltrace 2 parts depend on the library’s C API: the command-line interface (CLI), the plugins, and the Python bindings.

So, as we needed to modify the library, CLI, and plugins to adapt to new requirements during the development phase, we postponed the release so as not to have to release Babeltrace 3 a year after and Babeltrace 4 another year after.

Second, the scope and requirements of the project evolved. Because there were at most two developers working on Babeltrace 2 at the same time during its first years, the project took enough time to develop for new ideas to emerge and translate into changes, sometimes significant, to the project’s modules.

For example, the very first requirement was for the libbabeltrace2 API to use the same objects as Babeltrace 1’s CTF writer API. We put a lot of effort backfitting new concepts into the CTF writer API and making sure not to break existing user code. But in the end, we realized that this condition was too limiting and that we had to split the APIs completely to have the freedom to introduce all the features we wanted.

When the API finally met our needs feature-wise in 2018, we measured and found that a simple CTF-to-text conversion task with Babeltrace 2 was approximately 23 times slower than the equivalent with Babeltrace 1! Hence we entered an optimization phase in which we had to redefine core concepts of the library (for example, introduce unique objects to create object pools) so that, today, Babeltrace 2’s performance is comparable to Babeltrace 1’s.

Revamping the C API to optimize the library means we had to readapt the CLI, plugins, and Python bindings. We spent the beginning of 2019 synchronizing the project’s parts, but also improving and uplifting the test suite and fixing a lot of lingering bugs.

The last few months were invested in writing a complete C API documentation and in more bug fixes, tests, and build system improvements.

Today ends this journey to Babeltrace 2.0. It’s been a long one, but we made it. All the next releases of Babeltrace 2 will be minor ones for the foreseeable future, never breaking the library’s API.

Babeltrace 2 is:

  • 120,000 lines of C.

  • 7000 lines of Python.

  • 21,000 tests.

  • 30,000 lines of C API documentation.

  • 24 manual pages

We hope you enjoy using our software as much as we enjoyed making and refining it over the last years.

What’s new since Babeltrace 1?

The Babeltrace 2 project is completely independent from Babeltrace 1. In fact, you can install both on the same system as they share no common files. We only made sure to keep the babeltrace2 CLI tool backward compatible with the original babeltrace tool.

See babeltrace2-intro(7) to learn more about Babeltrace 2.

  • General

    • Full plugin support: any user can distribute a Babeltrace 2 plugin and, as long as libbabeltrace2 finds it, any application linked to libbabeltrace2 can load it and use it.

      Plugins are not just trace format encoders and decoders: they package source, filter, and sink component classes so that you can connect specialized, reusable components together in a trace processing graph to create a customized trace conversion or analysis device.

      This modular strategy is much like how the FFmpeg, GStreamer, and DirectShow projects approach media stream processing.

    • All the parts of the Babeltrace 2 project run on the major operating systems, including Linux, macOS, and Windows.

    • Some component classes, such as sink.text.pretty (similar to the text output format of the babeltrace CLI) and sink.text.details, can write color codes to the standard output when it’s connected to a color-enabled terminal.

      The Babeltrace 2 log, printed to the standard output, can also be colorized.

  • Command-line interface

    • Whereas you can convert traces from one format to another with Babeltrace 1’s CLI tool, babeltrace, you can also execute a custom trace manipulation task with babeltrace2 thanks to its run command.

    • The convert command features an automatic source component discovery algorithm to find the best suited components to create for a given non-option argument (file or directory path, or custom string like an LTTng live URL).

      For example:

      $ babeltrace2 /path/to/ctf/trace
      
      $ babeltrace2 net://localhost/host/myhost/my-session
      
  • CTF input/output

    • The source.ctf.fs component class, which is more or less the equivalent of Babeltrace 1’s ctf input format, has features not found in Babeltrace 1:

      • The component handles many trace quirks which are the results of known tracer bugs (which are fixed today) and corner cases in LTTng-UST, LTTng-modules, and barectf, making it possible to decode malformed packets.

      • The component merges CTF traces sharing the same UUID into a single, logical trace.

        This feature supports LTTng 2.11’s tracing session rotation trace chunks.

    • With a sink.ctf.fs component, you can create CTF traces on the file system.

      With the babeltrace2 tool, you can use the --output-format=ctf and --output options to create an implicit sink.ctf.fs component.

      For example:

      $ babeltrace2 /path/to/input/trace --output-format=ctf --output=trace-dir
      
  • LTTng live input
    Babeltrace 1’s babeltrace command exits successfully when it cannot find an LTTng live (--input-format=lttng-live option) tracing session.

    The session-not-found-action initialization parameter controls what a source.ctf.lttng-live message iterator does when it cannot find the remote tracing session:

    • If the action is end, the message iterator does like babeltrace and simply ends successfully.

    • If the action is continue (the default), the message iterator never ends: it keeps on trying until the tracing session exists, indeed “subscribing” to the session.

  • Library

    • libbabeltrace2 shares nothing with libbabeltrace.

      The Babeltrace 2 library C API has features such as:

      • A single header file.

      • Function precondition and postcondition checking.

      • Object-oriented model with shared and unique objects.

      • Strict C typing and const correctness.

      • User-extensible classes.

      • Rich, thread-safe error reporting.

      • Per-component and per-subsystem logging levels.

      • Trace intermediate representation (IR) objects to make the API trace-format-agnostic.

      • A versioned protocol for the exchange of messages...

Read more

Babeltrace 2.0.0 - Release Candidate 4

15 Nov 22:52
v2.0.0-rc4
Compare
Choose a tag to compare
Pre-release

Hi everyone!

Two weeks after having released Babeltrace 2’s second release candidate, today we’re releasing Babeltrace 2.0.0-rc4.

Note

Due to human error, Babeltrace 2.0.0-rc3 is a malformed release. Babeltrace 2.0.0-rc3 and Babeltrace 2.0.0-rc4 have the same changes since Babeltrace 2.0.0-rc2.

What’s new since Babeltrace 2.0.0-rc2?

Improvements

  • General

    • Introduce the BABELTRACE_EXEC_ON_ABORT environment variable.

      BABELTRACE_EXEC_ON_ABORT can contain a shell command line to execute when any part of the Babeltrace project aborts (for example, when an internal assertion fails) before the process exits.

      See 8403432f.

    • Add precondition assertions to verify that the current thread has no error when you call a libbabeltrace2 function (except reference count functions).

      See 7c7324d3.

    • Add postcondition assertions to verify that the user functions which libbabeltrace2 calls return an error status code when the current thread has an error.

      See d6f6a5aa.

    • Emit dedicated bright terminal color codes if supported by the terminal emulator.

      This makes the babeltrace2 CLI tool and some project plugins emit correct bright color codes for the kitty terminal emulator, for example.

      You can override this behaviour with the new BABELTRACE_TERM_COLOR_BRIGHT_MEANS_BOLD environment variable.

      See 4253e1eb.

    • In libbabeltrace2’s API: make the bt_value_map_foreach_entry_func and bt_value_map_foreach_entry_const_func function types return a status code instead of bt_bool.

      This makes it possible for the user function to append a cause to the current thread’s error and return an error status code. When the user function returns a general error status code, bt_value_map_foreach_entry() returns BT_VALUE_MAP_FOREACH_ENTRY_STATUS_USER_ERROR (and an equivalent code for bt_value_map_foreach_entry_const()).

      The new way to interrupt the outer loop from the user function is to return BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_INTERRUPT.

      See 0589c646.

  • Command-line interface
    Exit with status 2 when the process receives the SIGINT signal.

    This makes it possible to distinguish a successful execution (status 0) from an execution that ends because of an error (status 1).

    See 851802b1.

  • source.ctf.fs component class

    • Check the version of LTTng index files to avoid reading files of future backwards-incompatible versions.

      See 2068d50b.

    • If the same packets exist in different data stream files of a given CTF trace, read each of them only once.

      This feature makes it possible to open overlapping LTTng snapshots without emitting the event and packet messages twice or more like Babeltrace 1 does.

      For example:

      $ babeltrace2 snapshot1 snapshot2 snapshot3
      
      $ babeltrace2 snapshot-directory
      

      See 148f02cb.

  • source.ctf.lttng-live component class
    Return BT_COMPONENT_CLASS_MESSAGE_ITERATOR_NEXT_METHOD_STATUS_AGAIN when a signal interrupts an I/O system call and the graph’s interrupter is set; restart the system call otherwise.

    Because the babeltrace2 CLI tool sets the graph’s interrupter when it receives the SIGINT signal, this change makes it possible to exit with status 2 (instead of status 1, an error) when it receives the SIGINT signal and a source.ctf.lttng-live message iterator is currently being executed.

    See 8dd99d00.

  • filter.utils.muxer component class
    Append causes to the current thread’s error when encountering some error conditions.

    See f331468c.

Notable bug fixes

  • Simple sink component class
    Append error causes only when returning an error status code.

    See eb657c7b.

Upcoming

We are still hard at work putting the finishing touches on our way to the final 2.0.0 release.

We invite you to try this release candidate and report any problems you may encounter to the lttng-dev@lists.lttng.org mailing list or through the Babeltrace bug tracker.

Documentation

We are currently documenting the entire Babeltrace 2 C API to make the development of new component classes as easy as possible.

We’ll also work on the Python bindings documentation.

The documentation of the API will be made available on the official Babeltrace website.

Other tasks

  • Improve test coverage.

  • Improve resilience to corrupted/malformed CTF traces.

  • Minor internal cleanups and bug fixes.

Important links

Babeltrace 2.0.0 - Release Candidate 2

01 Nov 19:46
v2.0.0-rc2
Compare
Choose a tag to compare
Pre-release

Hi everyone!

Two weeks after having released Babeltrace 2’s first release candidate, today we’re releasing Babeltrace 2.0.0-rc2.

What’s new since Babeltrace 2.0.0-rc1?

Improvements

General
  • Introduce BT_ASSERT_DBG() for assertions that must only be evaluated in debugging mode (when the BABELTRACE_DEBUG_MODE environment variable is set to 1 at configuration time).

    BT_ASSERT() assertions are now always evaluated, regardless of the debugging/production mode.

    This change’s purpose is to keep as many slow-path assertions as possible to detect more Babeltrace 2 programming errors, even in production.

    See 98b15851.

  • Remove ABI versioning in Babeltrace 2 shared object plugins as we don’t need this property.

    See 7c0244d6.

  • In libbabeltrace2’s API:

    • Rename BT_RANGE_SET_ prefixes to BT_INTEGER_RANGE_SET_.

      See eb171ee9.

    • Make bt_version_get_major(), bt_version_get_minor(), and bt_version_get_patch() functions return unsigned int instead of int.

      See 78deb913.

    • Remove the BT_GRAPH_RUN_STATUS_END status code: bt_graph_run() now returns BT_GRAPH_RUN_STATUS_OK when all the graph’s sink components are ended.

      See9669d693

ctf plugin

Append error causes at more source locations.

This means more precise error messages reported by the babeltrace2 CLI tool, for example.

See b7d2695a, b30284d1, 2246e99da, and 1419db2bc.

source.ctf.fs component class

Return an error when failing to load or create an index for a trace.

See 29a8227a.

filter.lttng-utils.debug-info component class

Create stream classes and event classes which correspond to stream classes and event classes in incoming trace classes as soon as we encounter a new trace class, rather than as needed.

See db5d746d.

Python bindings

In bt2.Graph.add_component(), validate that the params parameter is implicitly convertible to a bt2.Mapvalue object (dict, for example).

See 401b7022.

Bug fixes

General
Fix many issues reported by static analysis tools (scan-build, Coverity, and compiler warnings).
source.ctf.fs component class

Fix an index handling bug which occured when multiple data stream files in a CTF trace belong to the same data stream.

See ce75de14.

source.ctf.lttng-live component class

Fix a bug in which a disappearing LTTng live tracing session could lead to an assertion failure.

See ba90bce7.

Python bindings

Fix an assertion failure which occurs when a trace or trace class destruction listener raises an exception.

See 64961f8b.

Upcoming

We are still hard at work putting the finishing touches on our way to the final 2.0.0 release.

We invite you to try this release candidate and report any problems you may encounter to the lttng-dev@lists.lttng.org mailing list or through the Babeltrace bug tracker.

Documentation

We are currently documenting the entire Babeltrace 2 C API to make the development of new component classes as easy as possible.

We’ll also work on the Python bindings documentation.

The documentation of the API will be made available on the official Babeltrace website.

Other tasks

  • Improve test coverage.

  • Improve resilience to corrupted/malformed CTF traces.

  • Minor internal cleanups and bug fixes.

Important links