Releases: efficios/babeltrace
v2.0.6
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
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
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
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
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
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 thebt2
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
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
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 thetext
output format of thebabeltrace
CLI) andsink.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 withbabeltrace2
thanks to itsrun
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’sctf
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 implicitsink.ctf.fs
component.For example:
$ babeltrace2 /path/to/input/trace --output-format=ctf --output=trace-dir
-
-
LTTng live input
Babeltrace 1’sbabeltrace
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 asource.ctf.lttng-live
message iterator does when it cannot find the remote tracing session:-
If the action is
end
, the message iterator does likebabeltrace
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...
-
-
Babeltrace 2.0.0 - Release Candidate 4
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
andbt_value_map_foreach_entry_const_func
function types return a status code instead ofbt_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()
returnsBT_VALUE_MAP_FOREACH_ENTRY_STATUS_USER_ERROR
(and an equivalent code forbt_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 theSIGINT
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
ReturnBT_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 theSIGINT
signal, this change makes it possible to exit with status 2 (instead of status 1, an error) when it receives theSIGINT
signal and asource.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
-
Mailing list for support and development:
lttng-dev@lists.lttng.org
-
IRC channel:
#lttng
onirc.oftc.net
Babeltrace 2.0.0 - Release Candidate 2
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 theBABELTRACE_DEBUG_MODE
environment variable is set to1
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 toBT_INTEGER_RANGE_SET_
.See
eb171ee9
. -
Make
bt_version_get_major()
,bt_version_get_minor()
, andbt_version_get_patch()
functions returnunsigned int
instead ofint
.See
78deb913
. -
Remove the
BT_GRAPH_RUN_STATUS_END
status code:bt_graph_run()
now returnsBT_GRAPH_RUN_STATUS_OK
when all the graph’s sink components are ended.See
9669d693
-
-
ctf
plugin-
Append error causes at more source locations.
This means more precise error messages reported by the
babeltrace2
CLI tool, for example. 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 theparams
parameter is implicitly convertible to abt2.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
-
Mailing list for support and development:
lttng-dev@lists.lttng.org
-
IRC channel:
#lttng
onirc.oftc.net