So Apple put DTrace into OSX Leopard. It's pretty cool. Have been playing with it for a large chunk of the day.
Of course - useless without enabling it some of the languages we all use (PHP, Python and Ruby).
So - I spent a while hacking it about with the source code....
Now I have things like:
Would anybody be interested in the patches for the dtrace PEAR module for PHP and the MacPorts versions of Python and Ruby? Not sure if they'll accept the patches upstream - so I want to gauge whether people want that or not.
Of course - useless without enabling it some of the languages we all use (PHP, Python and Ruby).
So - I spent a while hacking it about with the source code....
Now I have things like:
class Something:
def foo(self):
print "In the class"
def foobar():
print "Nothing"
def helloworld():
print "Hello World!"
foobar()
helloworld()
a = Something()
a.foo()
#!/usr/sbin/dtrace -ZCs
#pragma D option quiet
python$target:::function-entry,python$target:::function-return
{
printf("%s %s (%s:%d)\n", probename == "function-entry" ? "->" : "<-",
copyinstr(arg1), copyinstr(arg0), arg2);
}
-> <module> (foo.py:1)
-> Something (foo.py:1)
<- Something (foo.py:2)
-> helloworld (foo.py:8)
-> foobar (foo.py:5)
<- foobar (foo.py:6)
<- helloworld (foo.py:10)
-> foo (foo.py:2)
<- foo (foo.py:3)
<- <module> (foo.py:14)
Would anybody be interested in the patches for the dtrace PEAR module for PHP and the MacPorts versions of Python and Ruby? Not sure if they'll accept the patches upstream - so I want to gauge whether people want that or not.