Bug #7585

DTrace probes are inconsistent

Added by Vit Ondruch about 2 years ago. Updated over 1 year 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__require__entry") $arg1:long $arg2:long $arg3:long
process("./libruby.so").mark("find__require__return") $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__require__return probe accepts more parameters then the load__return 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 about 2 years ago

  • Status changed from Open to Assigned

#2 Updated by Aaron Patterson over 1 year 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