[lttng-dev] [RELEASE] LTTng modules 2.7.0 (Linux kernel tracer)

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Sep 25 13:12:56 EDT 2015


----- On Sep 24, 2015, at 5:13 PM, Mathieu Desnoyers mathieu.desnoyers at efficios.com wrote:

> Hi,
> 
> I am proud to announce the 2.7.0 release of LTTng modules! LTTng
> modules provide Linux kernel tracing capability to the LTTng 2.x
> tracer toolset. I would like to remind everyone that *no* patching
> of the Linux kernel is required whatsoever to use LTTng modules.
> It has been like this since 2010, but for some reason we still
> get this question.
> 
> Here is what is new and noteworthy in LTTng modules 2.7:
> 
> * Supports Linux kernels up to and including 4.3-rc2,
> 
> * New PID tracker: specify which process IDs you want to trace,
>  (also available with the lttng-ust user-space tracer)
> 
> The new "track" and "untrack" commands allows the tracking of events associated
> with specific PIDs, both in user space and kernel space.
> 
> For example, the following commands may be used to track all kernel events
> of PID "1234":
> 
> $ lttng create my_session
> $ lttng track --kernel --pid 1234
> $ lttng enable-event --kernel --all
> $ lttng start
> 
> 
> * Filtering is now implemented for kernel tracing. It can be used
>  through the same UI and API as with lttng-ust.
> 
> While LTTng-UST has provided support for event filtering for a long time,
> it was not possible to perform kernel-side event filtering until now. As
> of this version, kernel space filters can be used in the same way as user
> space filters.
> 
> For instance, to trace only read() syscalls requesting more than 100 bytes:
> 
> $ lttng create my_session
> $ lttng enable-event --kernel --syscall read --filter "count > 100"
> $ lttng start
> 
> 
> * Added $ctx.cpu_id context for filtering (note: also available in
>  lttng-ust now),
> 
> How to use:
> 
> $ lttng create my_session
> $ lttng enable-event --kernel --all --filter '$ctx.cpu_id<2'
> $ lttng start
> 
> 
> * New clock source plugin support. User-provide clock source
>  override can be provided as a kernel module,
> 
> In the interest of keeping LTTng as unintrusive as possible, LTTng 2.7
> introduces support for platform-specific plug-ins providing custom
> clock sources.
> 
> Clock override plugins, which may be implemented as kernel modules may
> prove useful in cases where direct hardware access to architecture-specific
> clocks is available, and when it should be used in place of the Linux
> kernel Monotonic clock.

I just noticed that the lttng-modules clock plugin feature, developed in
October 2014, was still sitting in my development branch on github, and did
not make it into the 2.7 release. I just merged it into master for 2.8.

Sorry about the confusion,

Thanks,

Mathieu

> 
> 
> * Wildcard support now available: can now specify e.g. 'sched_*'
>  to enable all scheduler events. Similar UI/API as lttng-ust.
> 
> Support for wildcards in event names is another feature that has been brought
> from the user space tracer to the kernel tracer. This means that groups of
> kernel space events can be enabled at once using the wildcard notation.
> Moreover, it makes it possible to enable events belonging to loadable modules
> before said modules are loaded.
> 
> The tracing of all block device or scheduling events can be enabled using a
> single command:
> 
> $ lttng enable-event --kernel 'block_*'
> or
> $ lttng enable-event --kernel 'sched_*'
> 
> Changelog since 2.7.0-rc2:
> 
> 2015-09-24 LTTng modules 2.7.0
>        * Fix: writeback instrumentation update for 4.3 Linux kernel
>        * Fix: update sched wakeup instrumentation for 4.3 kernel
>        * Fix: lttng-test build failure for kernels < 3.0
> 
> Project website: http://lttng.org
> Documentation: http://lttng.org/docs
> Download link: http://lttng.org/download
> 
> Enjoy this release!
> 
> Feedback is welcome,
> 
> Thanks,
> 
> Mathieu
> 
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com

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



More information about the lttng-dev mailing list