Commit | Line | Data |
---|---|---|
727aa690 PP |
1 | --- |
2 | id: whats-new | |
3 | --- | |
4 | ||
179d0464 PP |
5 | LTTng 2.7 ships with a generous list of new features, with essential |
6 | additions to all the project's components. | |
7 | ||
8 | Dynamic filtering of user space tracepoints has been available for | |
9 | quite some time now | |
10 | (see [Enabling and disabling events](#doc-enabling-disabling-events)). | |
11 | LTTng 2.7 adds filtering support to kernel events as well. For example: | |
12 | ||
13 | <pre class="term"> | |
14 | lttng enable-event --kernel irq_handler_entry --filter 'irq == 28' | |
15 | </pre> | |
16 | ||
71c82cd2 | 17 | LTTng 2.7 adds wildcard support for kernel event names: |
727aa690 PP |
18 | |
19 | <pre class="term"> | |
179d0464 | 20 | lttng enable-event --kernel 'sched_*' |
727aa690 PP |
21 | </pre> |
22 | ||
179d0464 PP |
23 | On the user space tracing side, the new [`tracelog()`](#doc-tracelog) |
24 | facility allows users to easily migrate from logging to tracing. | |
25 | `tracelog()` is similar to [`tracef()`](#doc-tracef), but accepts | |
26 | an additional log level parameter. | |
27 | ||
28 | The new `--shm-path` option of `lttng create` can be used to specify the | |
29 | path where the shared memory holding the ring buffers are | |
30 | created. This feature is useful when used with persistent memory file | |
31 | systems to extract the latest recorded trace data in the event of a | |
32 | crash requiring a reboot. The new `lttng-crash` command line | |
33 | utility can extract trace data from such a file (see | |
34 | [Recording trace data on persistent memory file systems](#doc-persistent-memory-file-systems)). | |
35 | ||
71c82cd2 PP |
36 | LTTng-UST 2.7 can rely on a user plugin to provide a custom clock source |
37 | to its tracer. LTTng-UST can also load a user plugin to retrieve the | |
38 | current CPU number. This feature exists for very advanced use cases. See | |
179d0464 PP |
39 | the <a href="https://github.com/lttng/lttng-ust/tree/master/doc/examples/clock-override" class="ext">clock-override</a> |
40 | and <a href="https://github.com/lttng/lttng-ust/tree/master/doc/examples/getcpu-override" class="ext">getcpu-override</a> | |
41 | examples for more details. | |
42 | ||
43 | Python developers can now benefit from the new | |
44 | [LTTng-UST Python agent](#doc-python-application), | |
45 | a Python 2/3-compatible package which allows standard Python logging | |
46 | using the `logging` module to output log entries to an LTTng trace. | |
47 | ||
48 | Last but not least, the new `lttng track` and `lttng untrack` commands | |
49 | make [<abbr title="process ID">PID</abbr> tracking](#doc-pid-tracking) | |
50 | super-fast for both the kernel and the user space domains. When one or | |
51 | more PIDs are tracked, only the processes having those PIDs are allowed | |
52 | to emit enabled events. | |
53 | ||
54 | Moreover, LTTng 2.7 boasts great stability, benifiting from piles of | |
55 | bug fixes and more-than-welcome internal refactorings. | |
26418fc3 | 56 | |
179d0464 | 57 | To learn more about the new features of LTTng 2.7, see |
68c78710 | 58 | <a href="https://lttng.org/blog/2015/10/14/lttng-2.7-released/" class="ext">the release announcement</a>. |