|
|
dd2565 |
/* Example tapset file.
|
|
|
dd2565 |
*
|
|
|
dd2565 |
* You can execute the tapset using following command (please adjust the path
|
|
|
dd2565 |
* prior running the command, if needed):
|
|
|
dd2565 |
*
|
|
|
dd2565 |
* stap /usr/share/doc/ruby-2.0.0.0/ruby-exercise.stp -c "ruby -e \"puts 'test'\""
|
|
|
dd2565 |
*/
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.cmethod.entry {
|
|
|
dd2565 |
printf("%d -> %s::%s %s:%d\n", tid(), classname, methodname, file, line);
|
|
|
dd2565 |
}
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.cmethod.return {
|
|
|
dd2565 |
printf("%d <- %s::%s %s:%d\n", tid(), classname, methodname, file, line);
|
|
|
dd2565 |
}
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.method.entry {
|
|
|
dd2565 |
printf("%d -> %s::%s %s:%d\n", tid(), classname, methodname, file, line);
|
|
|
dd2565 |
}
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.method.return {
|
|
|
dd2565 |
printf("%d <- %s::%s %s:%d\n", tid(), classname, methodname, file, line);
|
|
|
dd2565 |
}
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.gc.mark.begin { printf("%d gc.mark.begin\n", tid()); }
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.gc.mark.end { printf("%d gc.mark.end\n", tid()); }
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.gc.sweep.begin { printf("%d gc.sweep.begin\n", tid()); }
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.gc.sweep.end { printf("%d gc.sweep.end\n", tid()); }
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.object.create{
|
|
|
dd2565 |
printf("%d obj.create %s %s:%d\n", tid(), classname, file, line);
|
|
|
dd2565 |
}
|
|
|
dd2565 |
|
|
|
dd2565 |
probe ruby.raise {
|
|
|
dd2565 |
printf("%d raise %s %s:%d\n", tid(), classname, file, line);
|
|
|
dd2565 |
}
|