Bug #7585

DTrace probes are inconsistent

Added by Vit Ondruch over 2 years ago. Updated about 2 years ago.

[ruby-core:50963]
Status:Closed
Priority:Normal
Assignee:Aaron Patterson
ruby -v:ruby 2.0.0dev (2012-12-17 trunk 38422) [x86_64-linux] Backport:

Description

These are DTrace probes available in Ruby:

process("./libruby.so").mark("find_requireentry") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("find
requirereturn") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("load
entry") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("load
return") $arg1:long
process("./libruby.so").mark("require
entry") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("require
_return") $arg1:long

I am wondering, why find_requirereturn probe accepts more parameters then the loadreturn and require_return. They should all accept the same parameters IMO. No matter if they provide the source informations or not.

Also the remaining pair probes should be probably revisited and made consistent with the probes above:

process("./libruby.so").mark("cmethod_entry") $arg1:long $arg2:long $arg3:long $arg4:long
process("./libruby.so").mark("cmethod
return") $arg1:long $arg2:long $arg3:long $arg4:long
process("./libruby.so").mark("method
entry") $arg1:long $arg2:long $arg3:long $arg4:long
process("./libruby.so").mark("method
return") $arg1:long $arg2:long $arg3:long $arg4:long
process("./libruby.so").mark("parse
begin") $arg1:long $arg2:long
process("./libruby.so").mark("parse
_end") $arg1:long $arg2:long

History

#1 Updated by Usaku NAKAMURA over 2 years ago

  • Status changed from Open to Assigned

#2 Updated by Aaron Patterson about 2 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

Hi, I made the inconsistent probes you mentioned have consistent parameters. I'm not totally sure about the utility of making the method entry and return probes match the require entry / return probes. The method probes have different data, and I don't think the "common" data should come first in those cases since most people care about classes / method names on the method probes (rather than file name and line number).

Also available in: Atom PDF