Issue #2565 has been updated by vo.x (Vit Ondruch).


>  AFAIK, the only open issue (that Vit raised [ruby-core:44980]) is that
>  we shouldn't check in the dummy probe header file.  I agree with Vit, so
>  I want to update my patch before merge. :-)

Well, I proposed two options, either have both versions in SCM or keep it out of the SCM. I'm still in favor of the latter, however I realized later that there is one major disadvantage. If we want to avoid the need of Ruby during build from tarball, as it is possible now, then the release manager has to have available either DTrace or SystemTap on his/her system. Not sure if that might be fulfilled :/ If not, then both files should be pre-generated by its maintainer and stored in SCM.

In other words, we should think also about associated work-flow and release management.
----------------------------------------
Feature #2565: adding hooks for better tracing
https://bugs.ruby-lang.org/issues/2565#change-27722

Author: yugui (Yuki Sonoda)
Status: Assigned
Priority: Low
Assignee: tenderlovemaking (Aaron Patterson)
Category: core
Target version: 2.0.0


=begin
 Hi,
 
 I made a commit that embeded dtrace probes into Ruby so that you can
 profile a Ruby application at runtime. (r26235)
 
 Adding probes had been approved by a Ruby developer's meeting,
 however, the commit was little larger than what other committers
 expected. I got some objection for the commit. [ruby-dev:39954]
 In the end, I decided to temporarily revert the commit. (r26243)
 
 I discussed how we should support dynamic runtime tracing, with ko1,
 mame, naruse, unak and shyouhei. The problems of the commit were:
 * the probes duplicated with the event_hook framework
 (rb_add_event_hook, Kernel#set_trace_func)
 * Design of the probes were not verified enough.
   * more trial and error are necessary, to make it clear what is
 necessary to trace a Ruby application.
 
 I accepted ko1's suggestion:
 * reverting the commit
 * adding some hooks for rb_add_event_hook().
 * implementing probes for dynamic runtime tracing on the event_hook framework.
   * these probes can be implemented as a gem
   * I will aget a chance for trial and error.
   * The probes possibly will be merged into Ruby itself after enough
 designed and getting enough use cases.
 
 Here is a patch to add the hooks I and ko1 talked about. (attached)
 And here is an extension library that provides prove points to dtrace,
 on top of the hooks. (http://github.com/yugui/vm_probes )
 
 What do you think?  Can I commit the patch I attached?
 
 Thank you,
 -- Yuki Sonoda (Yugui)
 
 Attachment: adding-hooks.patch
=end



-- 
http://bugs.ruby-lang.org/