Bug #7585

DTrace probes are inconsistent

Added by Vit Ondruch over 1 year ago. Updated 9 months ago.

[ruby-core:50963]
Status:Closed
Priority:Normal
Assignee:Aaron Patterson
Category:-
Target version:-
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("findrequireentry") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("findrequirereturn") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("loadentry") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("load
return") $arg1:long
process("./libruby.so").mark("requireentry") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("require
return") $arg1:long

I am wondering, why findrequirereturn probe accepts more parameters then the loadreturn and requirereturn. 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("cmethodentry") $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("methodentry") $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("parsebegin") $arg1:long $arg2:long
process("./libruby.so").mark("parse
end") $arg1:long $arg2:long

History

#1 Updated by Usaku NAKAMURA over 1 year ago

  • Status changed from Open to Assigned

#2 Updated by Aaron Patterson 9 months 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