Someone asked a question during last night's presentation by Willem van Schaik regarding dtrace's ability to instrument user code. The answer as I understood it was that dtrace can't do that, that it can only trace OS events.
I vaguely recalled from Bryan Cantrill's presentation and my subsequent reading that user code could be instrumented, and it can!
Section 7 of the Usenix paper mentions this (http://www.sun.com/bigadmin/content/dtrace/dtrace_usenix.pdf) and there's a good slide presentation on Adam Leventhal's blog (http://blogs.sun.com/roller/page/ahl/20050301) that briefly explains how it's done.
In a limited sense it's not dtrace doing this instrumentation but the pid provider. This provider is written to work with dtrace, and it's written using an OS trap (when a probe is enabled), similar to how dtrace is implemented on x86.
Stuart Williams.
On Wed, 15 Mar 2006, Stuart Williams wrote:
Someone asked a question during last night's presentation by Willem van Schaik regarding dtrace's ability to instrument user code. The answer as I understood it was that dtrace can't do that, that it can only trace OS events.
Check out this guy's site for lots of dtrace stuff
There's even an apache module to implement dtrace hooks, so you can write a D script to monitor usage.
Sean
On 15-Mar-06, at 9:21 AM, Stuart Williams wrote:
Someone asked a question during last night's presentation by Willem van Schaik regarding dtrace's ability to instrument user code. The answer as I understood it was that dtrace can't do that, that it can only trace OS events.
I vaguely recalled from Bryan Cantrill's presentation and my subsequent reading that user code could be instrumented, and it can!
Section 7 of the Usenix paper mentions this (http://www.sun.com/bigadmin/content/dtrace/dtrace_usenix.pdf) and there's a good slide presentation on Adam Leventhal's blog (http://blogs.sun.com/roller/page/ahl/20050301) that briefly explains how it's done.
In a limited sense it's not dtrace doing this instrumentation but the pid provider. This provider is written to work with dtrace, and it's written using an OS trap (when a probe is enabled), similar to how dtrace is implemented on x86.
Stuart Williams.
I think that answer was given in relation to running Linux userland applications in a BrandZ zone.
shawn