KTAP: A New Dynamic Tracing Tool For Linux

KTAP is an experimental project that’s a new dynamic tracing tool for Linux. KTAP has several different design principles from SystemTap, one of the current most common dynamic instrumentation and tracing tools for Linux. This new project might satisfy some of those developers that have been wanting Sun/Oracle’s DTrace to come to Linux.

Realizing SystemTap wasn’t fulfilling all of his dynamic tracing needs on Linux, Jovi Zhang, an embedded Linux developer, wrote KTAP. KTAP uses a scripting language and lets users trace the Linux kernel dynamically. While different, KTAP does have some common points with the current Linux SystemTap and DTrace on Solaris.

Differentiating KTAP from SystemTap is that it dnes’t depend upon GCC, doesn’t require compiling a kernel module, has greater portability, uses its own “simple” dynamic-typed script language, KTAP cannot crash the Linux kernel, and KTAP is completely open-source under the GPL. Right now the project is just seeking “request for comments” while in an experimental state, but the developer may look at mainlining the code into the Linux kernel in the future. Another benefit of KTAP is that it won’t require root privileges in a future update.

KTAP isn’t trying to be a clone or port of DTrace from Solaris to Linux but is built from scratch. The custom KTAP script language shares a syntax similar to Lua and is all GPL licensed. KTAPC is the KTAP user-space compiler for compiling the KTAP script into a bytecode chunk file that the KTAP binary then loads and runs.

For more details on KTAP for the Linux kernel, see the KTAP announcement that was made on Sunday to the Linux kernel mailing list. The project is still experimental but is showing early promise.

Add Comment Register

Leave a Reply