Skip to content

Instantly share code, notes, and snippets.

@skade
Created January 27, 2014 23:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skade/8659778 to your computer and use it in GitHub Desktop.
Save skade/8659778 to your computer and use it in GitHub Desktop.
This systemtap probe measures memory cost per require. Be aware that require sum up, so subrequires form the sum of the initial require.
global before;
global after;
probe process("ruby").mark("require__entry")
{
module = kernel_string($arg1)
mem = proc_mem_size_pid(pid())
before [module] = mem;
}
probe process("ruby").mark("require__return")
{
module = kernel_string($arg1)
mem = proc_mem_size_pid(pid())
after [module] = mem;
}
probe end {
foreach ([mod-] in after) {
printf("%s\t%s\n", pages_to_string(after[mod] - before[mod]), mod);
}
delete before;
delete after;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment