[lttng-dev] [RELEASE] LTTng-UST 2.9.0-rc1 "Joannès" (Linux user-space tracer)

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Oct 7 20:05:13 UTC 2016


We are proud to announce release candidate 1 of LTTng-UST 2.9.0.
Please test it within the coming month, and let us know if anything
goes unexpectedly before we proceed to the final release.

LTTng-UST, the Linux Trace Toolkit Next Generation Userspace Tracer,
is a low-overhead application tracer. The library "liblttng-ust" enables
tracing of applications and libraries.

New and Noteworthy for 2.9.0-rc1:

* Various performance improvements. Tested on x86-64 and ARM32.
* New liblttng-ust-fd helper library to deal with daemon applications
  closing file descriptors that don't belong to them, e.g. loop
  closing file descriptors after fork, or BSD closeall().
* Introduce library load/unlock tracking events, which is more
  precise than the dlopen/dlmopen/dlclose instrumentation we had
  in lttng-ust 2.8 in cases where a dlopen'd library loads its
  own dependencies.
* Tracepoints: new payload types supported: array and sequences of
  integers in network byte order,
* Documentation (man pages) overhaul,
* Added support for ARM64 "aarch64_be" for some toolchains,
* Added "-ust" suffix to lttng-ust thread names,
* Introduce lttng_ust_loaded weak symbol, meant to allow applications
  to detect whether lttng-ust is dynamically loaded,

Project website: http://lttng.org
Documentation: http://lttng.org/docs
Download link: http://lttng.org/download

The 2.9 release "Joannès" is named after a Berliner Weisse style
beer from the Trèfle Noir microbrewery in Rouyn-Noranda.

Changelog:

2016-10-07 (National Frappé Day) lttng-ust 2.9.0-rc1
        * Fix: cmake example with configure based oot build
        * Fix: perform statedump before replying to sessiond
        * build: check for CXX_WORKS for cmake example
        * Implement liblttng-ust-fd
        * Introduce file descriptor tracker
        * Fix: honor send timeout on unix socket connect
        * Fix: perform TLS fixup in all UST entry points from each thread
        * Fix: build: pass configure flags to cmake example
        * Performance: implement lttng_inline_memcpy
        * Performance: mark ring buffer do_copy callers always inline
        * Performance: cache the backend pages pointer in context
        * Add ctx_len field to ring buffer context
        * ring buffer: handle shmp errors
        * Cleanup: libringbuffer: remove duplicate shmp() invocations in slow paths
        * Performance: Only dereference shmp once
        * Performance: Mark channel and buffer event disabled check unlikely
        * Performance: Relax atomicity constraints for crash handling
        * Fix: compat: -ust suffix sprintf error handling
        * Performance: disable event counting by default
        * Fix: remove unlock in getcpu
        * Performance: remove rcu read lock from ring buffer get/put cpu
        * Performance: define _LGPL_SOURCE in LGPL c files
        * Performance: split check deliver fast/slow paths
        * Fix: perf counters build against kernel headers < 3.12
        * Fix: perf counter context deadlock
        * Fix: many-events registration/unregistration speed
        * Fix: pre-fault TLS in ust-malloc instrumentation
        * Fix: ust-ctl: use LTTNG_UST_HAVE_PERF_EVENT to report perf counter availability
        * Fix: reset vtid cache before releasing urcu locks
        * Fix: cleanup local_apps.allowed flag on lib cleanup
        * Fix: Correctly handle invalid agent port file
        * Fix: memory corruption in compat.h
        * Introduce lttng_ust_loaded weak symbol
        * Revert "Introduce LTTNG_UST_LOADED environment variable"
        * Introduce LTTNG_UST_LOADED environment variable
        * Fix: remove invalid free
        * Use AC_PROG_MKDIR_P (generic mkdir -p)
        * Split CMake example build steps on different lines
        * Fix: CMake example: specify source/built includes/libs
        * configure: allow building perf support across all architectures
        * Fix: use-after-free in statedump lib iter_end
        * Add generic fallback for perf counter read
        * Fix: perf counters: sign-extend pmc register
        * doc: Add flags for JUL and python agent compiling
        * tests/hello.cxx: add ctf_enum_auto() entries
        * Add ctf_enum_auto() for autoincrementing enumeration values
        * Add missing ust_lib.c and ust_lib.h
        * dl instrumentation: add dlmopen event, trace dlopen flags
        * Add library load/unload tracking events
        * Communication protocol: use fixed-size integer rather than enum
        * Add ustctl command to regenerate the statedump
        * Implement statedump command in UST
        * tests/hello.cxx: add enumeration field
        * Fix: ctf_enum_value() does not work with g++
        * Fix: lttng context perf: missing stdbool.h header include
        * Add perf context support for ARMv7
        * Keep perf context FD open for other architectures
        * Doc: cmake example: fix coding style
        * Doc: ship cmake example with 'make distcheck'
        * Doc: add CMake example
        * configure.ac: check cmake availability
        * Only build python lib when agent is enabled
        * doc: information has no plural
        * Fix: allow non-LGPL modules to use tracepoints
        * Add -ust to the name of UST threads of the application
        * Comment the locking mechanisms in ContextInfoManager
        * Fix: Null-check return value of log4j.Category.getAllAppenders()
        * Add liblttng-ust-agent.jar to the .gitignore
        * Fix: Specify encoding when reading agent port file
        * Fix: Include child loggers in the output of "lttng list"
        * Fix: Handle both agent config files pointing to same port
        * Suppress static method warning
        * Add more logging to the LttngTcpSessiondClient
        * Use config.h to detect sched_getcpu support
        * Fix: use limits.h in ust-elf test
        * Fix: strerror_r behavior is glibc specific
        * Add support for musl libc to ust-dlfcn.h
        * Fix: don't generate 0-len array in tracepoint probes
        * Fix: log4j example: set logger level to prevent unexpected level inheritance
        * Fix: no LGPL define for malloc and pthread wrappers
        * Fix: all lttng-ust source files should be tagged _LGPL_SOURCE
        * Fix: initialize RCU callbacks with mixed LGPL/non-LGPL objects
        * Fix: incorrect structure layout with mixed LGPL/non-LGPL objects
        * Fix: don't call __builtin_return_address(0) on 32-bit powerpc
        * Update version name TBD
        * Update version to 2.9.0-pre
        * Fix: tracepoint header: declare tracepoint_dlopen_ptr
        * Fix: update debug message about weak-hidden symbols
        * Fix: tracepoint-rcu header: use tracepoint_dlopen_ptr
        * Fix: test: relax requirement on weak-hidden symbol address
        * Fix: work-around gcc optimisation oddness on 32-bit powerpc
        * Fix: test weak-hidden symbols
        * Print DBG() message about compiler weak hidden symbol behavior
        * test: add test for gcc issue with weak hidden symbol on powerpc
        * Restrict Java context retriever names to a set of valid characters
        * Fix: Correctly compute Java agent list loggers response size
        * Add support for aarch64_be
        * Fix: Fix synchronization of LTTngAgent#dispose
        * Fix: Verify number of bytes contained in sessiond agent commands
        * Fix: Avoid potential null dereference with log4j loggers
        * Specify UTF-8 encoding for all Java agent commands
        * Fix: merge tap tests stdout and stderr
        * Documentation: ring buffer: SWITCH_FLUSH can be used when active
        * Fix: unchecked return value in trace_clock_read64_monotonic
        * Fix: portability: no arith on void pointer
        * Fix: initialize build id and debug link flags to 0
        * Tests: Add tap-driver.sh for automake < 1.12
        * Fix: add "has_build_id" and "has_debug_link" fields to debuginfo events
        * Tests: Replace prove by autotools tap runner
        * bootstrap: Standardize on autoreconf -vi
        * Harmonize bootstrap script across projects
        * lttng-ust(3): order environment variables
        * lttng-ust(3): fix syntax of env. variables section
        * lttng-ust(3): document $LTTNG_HOME
        * Fix: Java agent should use LTTNG_HOME
        * Fix: examples make distcheck failure
        * Cleanup: add static for internal symbols
        * Cleanup: Remove unused max() macros from ring_buffer_frontend.c
        * Use min_t/max_t macros in lttng-ust-elf.c
        * Tests: update ust-elf tests to reflect correct memsz computation
        * Fix: erroneous computation of ELF in-memory size
        * Make code and man pages share the same default values
        * Fix: remove NULL check of nonnull parameter in dlclose
        * Tracepoint array/sequence: add nowrite hex macros
        * Tracepoint: add ctf array for network byte order integers
        * Tracepoint: add ctf sequence for network byte order integers
        * Fix: endianness of integers received by filter
        * Doc: Update README.md
        * Fix: jul and log4j agents makefile missing line and indentation
        * Fix: re-introduce exported symbols
        * Doc: update manpages for soinfo/sopath name change
        * Rename statedump and dl events and fields
        * Tests: list ust-elf test data explicitly in EXTRA_DIST
        * Tests: add tests for lttng_ust_elf_is_pic
        * Add is_pic field to statedump soinfo event
       * Fix: add common jar to lttng-ust-agent-all dependencies
        * Fix: add version to lttng-ust-agent-all jar file
        * Fix: rename liblttng-ust-agent to lttng-ust-agent-all
        * Fix: re-add liblttng-ust-agent.jar
        * Fix: lttng java agent: dispose is non-static
        * doc/man: do not use macros in the NAME section
        * doc/man: remove duplicate copyrights section
        * doc/man: lttng-ust(3): add tracing control to example
        * doc/man: lttng-ust(3): split example files in subsections
        * doc/man/common-copyrights: add missing THANKS section
        * doc/man: lttng-ust(3): add missing ENVIRONMENT VARIABLES section
        * README.md: bolden dependencies and update links
        * README.md: split required and optional dependencies
        * Convert man pages to AsciiDoc
        * Fix: remove dead code from filter interpreter
        * Fix: convey enum value signedness into metadata

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list