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

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Sat Oct 8 13:47:20 UTC 2016


----- On Oct 7, 2016, at 4:05 PM, Mathieu Desnoyers mathieu.desnoyers at efficios.com wrote:

> 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,

One more noteworthy new feature: perf counters contexts can now be used
across all architectures supported by Perf. We use a read()
system call on a perf file descriptor as fallback. It is slower,
but works everywhere.

Thanks,

Mathieu

> 
> 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
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

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


More information about the lttng-dev mailing list