Saturday, 25 August 2012

DTrace update

Not much to report this week on DTrace - the pid provider seems pretty
stable, and a number of Linux versioning issues were resolved. (I believe
theres one more to fix, reported on Centos).

Using the pid provider is interesting - theres some fixes needed for some
platforms, because some rtld (runtime linker) symbols cause an error
to be generated - that just needs a little debugging; but its annoying
that of the thousands of symbols being examined, only one is needed to cause
dtrace to give up.

I also encountered a few 'too many probes in use' kind of error, e.g.
when trying to instrument all functions in all shared libraries - its
easy to blast past the 250,000 max probe limitation. Probably could
do with looking at the fasttrap tracepoint data structure to see if its
possible to shave a few bytes off and increase the limit. (Solaris allows
the limit to be changed at start time, and Linux does too via
the insmod/modprobe "modprobe dtracedrv fasttrap_max=nnnn").

Its probably time to relook at the static probes and continue
working through the Solaris providers, to insert the missing probes.

But a lot of people are using dtrace, and I hope, learning about the
kernel or optimising programs which one day, I may be using.

Post created by CRiSP v11.0.11a-b6445

1 comment:

  1. This is sounding better and better all the time!

    BTW, it would be really helpful if you maintained a feature matrix showing what parts of dtrace are done, done-but-buggy, etc. That would make it a lot easier for fence-sitters to figure out whether it's far enough along to suit their needs yet.