[ANNOUNCE] ktap 0.1 released

From: zhangwei(Jovi)
Date: Mon May 20 2013 - 23:57:52 EST


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 features,
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 more
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: http://www.freelists.org/list/ktap

= 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.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/