[ktap] [ANNOUNCE] ktap 0.1 released

  • From: "zhangwei(Jovi)" <jovi.zhangwei@xxxxxxxxxx>
  • To: <ktap@xxxxxxxxxxxxx>
  • Date: Tue, 21 May 2013 14:45:02 +0800


I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bug reports and fixes for the issues.

= what's ktap?

   A New Scripting Dynamic Tracing Tool For Linux

   KTAP is a new scripting dynamic tracing tool for Linux, it uses a
   scripting language and lets users trace the Linux kernel dynamically.
   KTAP is designed to give operational insights with interoperability
   that allow users to tune, troubleshoot and extend kernel and application.

   KTAP have different design principles from Linux mainstream dynamic tracing
   language in that it's based on bytecode, so it doesn't depend upon GCC,
   doesn't require compiling a kernel module, safe to use in production
   environment, fulfilling the embedd ecosystem's tracing needs.

   KTAP also is designed for enabling great interoperability with Linux kernel,
   it gives user the power to modify and extend the system, and let users
   explore the system in an easy way.

   KTAP is released as GPL license.

   More information can be found at ktap/doc directory.

= Features

   Because this is the first release, so there wouldn't include too much 
   just contain several basic features about tracing,  here are the summary:

   1) support x86-32 and x86-64 (other arch is not tested yet)
   2) support tracepoints, syscalls, kprobes, kretprobes
   3) timer
   4) dumpstack
   5) many built-in functions and library functions in there

   There have many features on the todo list, so it will support more
   features in future, and be more stable than this release.

= Planned Changes

   we are planning to enable more kernel ineroperability into ktap, implement 
   sample scripts, and performance boost.

= Code

   Please download code from:

= Building & Running

   [root@jovi]# cd linux/kernel/trace/
   [root@jovi]# git clone https://github.com/ktap/ktap.git

   [root@jovi]# cd linux/kernel/trace/ktap
   [root@jovi]# make       #generate ktapvm kernel module
   [root@jovi]# make ktap  #generate userspace ktap tool

   [root@jovi]# insmod ./ktapvm.ko
   [root@jovi]# ./ktap scripts/syscalls.kp

= Simple syscall tracing example

        function eventfun (e) {
                printf("%d %d\t%s\t%s", cpu(), pid(), execname(), e.tostring())

        kdebug.probe("tp:syscalls", eventfun)

        kdebug.probe_end(function () {
                printf("probe end\n")

= Examples/Documentation

   Example is in ktap/scripts/
   Documentation is in ktap/doc/

= Mailing list

   You can subscribe KTAP mailing list at link: 

= Contribution

   KTAP is still under active development, so contribution is welcome.
   You are encouraged to report bugs, provide feedback, send feature request, 
or hack on it.


Other related posts:

  • » [ktap] [ANNOUNCE] ktap 0.1 released - zhangwei(Jovi)