On Wednesday 7 May 2014 at 20:42, Antonio Terceiro wrote:
> Just to be sure: did you actually tested it with ruby2.1 and does it work
> for you?

Of course, otherwise I would not have said the patch “worked great”. :)

> Right now I am not familiar with dtrace/systemtap beyond knowing they
> exist, so while this is interesting and I will definitively look at it
> at some point, it would be nice to have an initial input would be nice.

If you just want to give SystemTap a spin, it would probably be a good idea to 
try some of the code examples from the documentation or “SystemTap and ruby 
2.0”:  

https://sourceware.org/systemtap/documentation.html
http://avsej.net/2012/systemtap-and-ruby-20/

In order to list the probes in libruby2.1 just try this:
    stap -L 'process("/usr/lib/x86_64-linux-gnu/libruby-2.1.so.2.1").mark("*”)'

If you want to test some of the examples, make sure to use the libruby path 
instead of /usr/local/bin/ruby and add your user to the stapdev and stapusr 
groups or use sudo. (See /usr/share/doc/systemtap/README.Debian.)

I have attached a modified version of rubytop.stp/rubyfuntop.stp, which you can 
use to test systemtap:
    sudo stap ruby-example.stp -c 'ruby2.1 -e "puts \"Hello world\”"'


The current probe selection syntax is rather basic, but if the patch above is 
accepted, I could add a simple tap file in order to turn

    
process("/usr/lib/x86_64-linux-gnu/libruby-2.1.so.2.1").mark("method__entry”)

into

    ruby.method.entry

I would add another bug report for this, though.

Attachment: ruby-example.stp
Description: Binary data

Reply via email to