The Linux Plumbers 2019 is pleased to welcome the Tracing microconference again this year. Tracing is once again picking up in activity. New and exciting topics are emerging.
There is a broad list of ways to perform Tracing in Linux. From the original mainline Linux tracer, Ftrace, to profiling tools like perf, more complex customized tracing like BPF and out of tree tracers like LTTng, systemtap and Dtrace. Come and join us and not only learn but help direct the future progress of tracing inside the Linux kernel and beyond!
bpf tracing – Anything to do with BPF and tracing combined
libtrace – Making libraries from our tools
Packaging – Packaging these libraries
babeltrace – Anything that we need to do to get all tracers talking to each other
Those pesky tracepoints – How to get what we want from places where trace events are taboo
Changing tracepoints – Without breaking userspace
Function tracing – Modification of current implementation
Rewriting of the Function Graph tracer – Can kretprobes and function graph tracer merge as one
Histogram and synthetic tracepoints – Making a better interface that is more intuitive to use
More to be added based on CfP for this microconference
If you are interested in participating in this microconference and have topics to propose, please use the CfP process. More topics will be added based on CfP for this microconference.
Steven Rostedt (email@example.com)
drgn (https://github.com/osandov/drgn) is a programmable debugger that makes it easy to introspect and debug state in the kernel. With drgn, it's possible to explore and analyze data structures with the full power of Python. See the LWN coverage of the presentation at LSF/MM: https://lwn.net/Articles/789641/. This presentation will demonstrate the capabilities of drgn, discuss future plans,...
Tracing kernel boot is useful when we chase a bug in device and machine initialization, boot performance issue etc. Ftrace already supports to enable basic tracing features in kernel cmdline. However, since the cmdline is very limited and too simple, it is hard to enable complex features which are recently introduced, e.g. multiple kprobe events, trigger actions, and event histogram.
Hardware PMU counters are limited resources. When there are more perf events than the available hardware counters, it is necessary to use time multiplexing, and the perf events could not run 100% of time.
On the other hand, different perf events may measure the same metric, e.g., instructions. We call these perf events "compatible perf events". Technically, one hardware counter could serve...
Ftrace histograms, based on triggers and synthetic events were implemented few years ago by Tom Zanussi. They are very powerful instrument for analyzing the kernel internals, using ftrace events, but its user interface is very complex and hard to use. This proposal is to discuss possible ways to define more easy to use and intuitive interface to this feature, using trace-cmd application.
Babeltrace started out as the reference implementation of a Common
Trace Format (CTF) reader. As the project evolved, many
trace manipulation use-cases (merging, trimming, filtering,
conversion, analysis, etc.) emerged and were implemented either
as part of the Babeltrace project, on top of its APIs or through
Today, as more tracers emerged, each using their own trace format,...
I would like to discuss how to implement a series of libraries for all the tracing tools that are out there, and have a repository that at least points to them. From libftrace, libperf, libdtrace to liblttng and libbabletrace.
bpftrace is a high level tracing language running on top of BPF: https://github.com/iovisor/bpftrace
We'll talk about important updates from the past year, including improved tracing providers and new language features, and we'll also discuss future plans for the project.
Many new BPF tracing tools are about to be published, deepening our view of kernel internals on production systems. This session will summarize what has been done and what will be next with BPF tracing, discussing the challenges with taking kernel and application analysis further, and the potential kernel changes needed.