Find file
Fetching contributors…
Cannot retrieve contributors at this time
156 lines (109 sloc) 4.26 KB
Version 0.4 (Dec 9 2013)
= Highlight changes from v0.3
* kernel symbol read (syntax: `symbol_name`)
* parse symbol on uprobe (need libelf link)
trace probe:/lib64/ {}
trace probe:/lib64/ {}
trace probe:/lib64/* {} # trace all function in glibc
* support static marker(SDT)
trace sdt:/lib64/ {}
trace sdt:/lib64/* {} # trace all sdt in glibc
* support kprobe wildcard
trace probe:vfs* {}
* support run multiple ktap instances concurrently
* add command option for list available events and symbols
-le [glob] : list pre-defined events in system
-lf DSO : list available functions from DSO
-lm DSO : list available sdt notes from DSO
* better annotation for output of argname
* basic FFI support (depend on CONFIG_KTAP_FFI)
FFI will allow call kernel function from ktap script
cdef [[ int printk(char *fmt, ...); ]]
C.printk("this is ffi printk from ktap\n")
(currently only support basic C types, structure support is ongoing)
* New sample scripts
userspace/ #trace all static marker in glibc
userspace/ #trace all functions in glibc
userspace/ #show glibc functions in histogram
syscalls/ #syscall latency linear aggregation
syscalls/ #syscall latency as a list with counts
syscalls/ #trace open() syscalls and print basic details
* use amalgamation build as default
x86_64 build: ktap binary size is 98K, ktapvm.ko size is 983K
* Big cleanups and lots of bugfix
Version 0.3 (Oct 29 2013)
= Highlight changes from v0.2
* Homepage released:
* Tutorial:
* Wiki:
* simple new tracing block syntax
trace EVENTDEF { action }
trace_end { action }
* New event tracing keywords: argevent, argname, arg1..arg9
trace "syscalls:*" function () {
* New timer block syntax
tick-N { action }
profile-N { action }
* Basic aggregation support
It's similar with systemtap, use "<<<" operator
support aggregate function: count, sum, avg, max, min
* Introduce new "+=" operator
* Introduce sort_paris for table sort iteration
* New sample scripts
* ansi library for sending ANSI escape sequences
* statistics of ktapvm
* Big cleanups and lots of bugfix
Version 0.2 (Jul 31 2013)
= Script highlight changes from v0.1
* new tracing block syntax
trace EVENTDEF function (e) { BODY }
trace_end function (e) { BODY }
* support trace filter
trace 'sched:sched_switch /prev_comm == foo || next_comm == foo/
* support kprobe/kretprobe
trace "probe:do_sys_open dfd=%di filename=%dx flags=%cx mode=+4($stack)"
trace "probe:do_sys_open%return fd=$retval"
* support uprobe/uretprobe
trace "probe:/lib/"
trace "probe:/lib/"
* support function tracing
trace "ftrace:function /ip == mutex*/"
* support oneline scripting
ktap -e 'trace "syscalls:*" function (e) { print(e) }'
* specific pid or cpu to tracing
ktap -C cpu *.kp
ktap -p pid *.kp
* more sample scripts
* support calling print_backtrace() in any context
* support calling exit() in any context
= Backend highlight changes from v0.1
* unified perf callback mechanism
* use ring buffer transport instead of relayfs
* reentrant in ktap tracing
* performance boost(use percpu data in many case)
* safe table/string manipulation
* safe ktap exit
* big code cleanups
* fixed a lot of bugs, more stable than v0.1
Version 0.1 (May 21 2013)