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

Reply via email to