Ever wondered what your system is really doing? Even if your whole system consists of Free Software you might still be scratching your head about what is really going on. Reading all the sources or staring at a core dump after the fact only gets you that far. You have to observe your system while it is running. Luckily the last few years there has been lots of improvements in GNU/Linux around how to monitor, trace, profile and debug your system. Kernel ftrace, pref, tracepoints, better debuginfo, application and library probe points, tapsets and compatibility with dtrace. Systemtap can take advantage of it all and provides a powerful way to get full system observability.

Want to dive deep into applications, java processes or the linux kernel without needing to stop or interrupt anything? SystemTap is the tool of choice for complex tasks that may require live analysis, programmable on-line response, and whole-system symbolic access. SystemTap can also handle simple tracing jobs. Learn how to setup SystemTap, what ready to run scripts there are, and how to tailor your probes to specific applications or kernel usage patterns.

SystemTap can observe on multiple levels, from kernel, libraries, applications, java to database transactions. To help users to get a better view what an application is doing you can add tapsets and static markers. And such markers can be made compatible with dtrace (to make your solaris hacker friends happy). There are already lots of packages that provide such high level observability, Postgresql, Java hotspot, Xorg, Python, Firefox, etc. Learn how to rapid prototype observability of your application through tapsets with function and statement probes (on any existing binary) and how to add high-level (zero-overhead) markers to your package sources that tell users about everything important, passes, transactions, service starting/stopping, etc.