2009/11/9 erik quanstrom <[email protected]>: >> DTrace by itself is pretty lame. It needs providers to be interesting. >> By itself, it's a very limited interpreter that supports BEGIN and >> END, and a couple other tiny things (ERROR, maybe?). Devtrace would be >> analogous to the syscall provider for DTrace, from my understanding. > > i may be misunderstanding you, but devtrace can trace any > call site or return in the kernel. not just system calls. and > not just entire functions; one could enable tracing on just > one return, for example. > > you just give it a range of addresses and it loops through finding > the magic left by the linker. enabling a trace atomicly modifies > each site to turn on tracing.
Ok, I didn't realize the scope. >> I'd estimate a finished version to be about the size of >> the Plan 9 kernel. > > minooka; wc -l /sys/src/9/*/*trace*.[chs] /sys/src/libc/386/trace.s > 118 /sys/src/9/pc/archtrace.c > 18 /sys/src/9/pc/archtrace.h > 578 /sys/src/9/port/devtrace.c > 33 /sys/src/libc/386/trace.s > 747 total > > this stuff's ready to take off. (har har har.) Sure, but it's still not the entire functionality :) --dho > - erik > >
