Skip to content

Instantly share code, notes, and snippets.

@skade
Forked from tmm1/gist:7998799
Last active January 4, 2016 14:19
Show Gist options
  • Select an option

  • Save skade/8633489 to your computer and use it in GitHub Desktop.

Select an option

Save skade/8633489 to your computer and use it in GitHub Desktop.
$ cat ruby_mcache.stp
probe process("/usr/bin/ruby").mark("method__cache__clear")
{
module = kernel_string($arg1)
if ($arg2)
file = kernel_string($arg2)
else
file = "<internal>"
line = $arg3
printf("%s(%d) %s %s:%d cleared `%s'\n", execname(), pid(), $$name, file, line, module)
}
$ sudo stap ruby_mcache.stp
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:169 cleared `OpenStruct'
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:170 cleared `OpenStruct'
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:169 cleared `OpenStruct'
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:170 cleared `OpenStruct'
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:169 cleared `OpenStruct'
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:170 cleared `OpenStruct'
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:169 cleared `OpenStruct'
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:170 cleared `OpenStruct'
ruby(25410) method__cache__clear lib/ruby/2.1.0/ostruct.rb:169 cleared `OpenStruct'
@fche
Copy link
Copy Markdown

fche commented Jan 26, 2014

You'll want e.g. user_string_quoted() rather than kernel_string() throughout.
See man function::user_string_quoted. Then you don't even need the $arg2 null check.

@skade
Copy link
Copy Markdown
Author

skade commented Mar 11, 2014

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment