[#44036] [ruby-trunk - Feature #6242][Open] Ruby should support lists — "shugo (Shugo Maeda)" <redmine@...>

20 messages 2012/04/01

[#44084] [ruby-trunk - Bug #6246][Open] 1.9.3-p125 intermittent segfault — "jshow (Jodi Showers)" <jodi@...>

22 messages 2012/04/02

[#44156] [ruby-trunk - Feature #6265][Open] Remove 'useless' 'concatenation' syntax — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

45 messages 2012/04/06

[#44163] [ruby-trunk - Bug #6266][Open] encoding related exception with recent integrated psych — "jonforums (Jon Forums)" <redmine@...>

10 messages 2012/04/06

[#44303] [ruby-trunk - Feature #6284][Open] Add composition for procs — "pabloh (Pablo Herrero)" <pablodherrero@...>

57 messages 2012/04/12

[#44349] [ruby-trunk - Feature #6293][Open] new queue / blocking queues — "tenderlovemaking (Aaron Patterson)" <aaron@...>

10 messages 2012/04/13

[#44402] [ruby-trunk - Feature #6308][Open] Eliminate delegation from WeakRef — "headius (Charles Nutter)" <headius@...>

20 messages 2012/04/17

[#44403] [ruby-trunk - Feature #6309][Open] Add a reference queue for weak references — "headius (Charles Nutter)" <headius@...>

15 messages 2012/04/17

[#44533] [ruby-trunk - Bug #6341][Open] SIGSEGV: Thread.new { fork { GC.start } }.join — "rudolf (r stu3)" <redmine@...>

24 messages 2012/04/22

[#44630] [ruby-trunk - Feature #6361][Open] Bitwise string operations — "MartinBosslet (Martin Bosslet)" <Martin.Bosslet@...>

31 messages 2012/04/26

[#44648] [ruby-trunk - Feature #6367][Open] #same? for Enumerable — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

16 messages 2012/04/26

[#44704] [ruby-trunk - Feature #6373][Open] public #self — "trans (Thomas Sawyer)" <transfire@...>

61 messages 2012/04/27

[#44748] [ruby-trunk - Feature #6376][Open] Feature lookup and checking if feature is loaded — "trans (Thomas Sawyer)" <transfire@...>

13 messages 2012/04/28

[ruby-core:44599] [ruby-trunk - Feature #2565] adding hooks for better tracing

From: "sax (Eric Saxby)" <sax@...>
Date: 2012-04-24 16:44:00 UTC
List: ruby-core #44599
Issue #2565 has been updated by sax (Eric Saxby).


Could the experimental probes be added in 1.9.3, so that developers would gain experience using them and have a more solid basis to recommend better probe design in 2.0? 
----------------------------------------
Feature #2565: adding hooks for better tracing
https://bugs.ruby-lang.org/issues/2565#change-26169

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/

In This Thread

Prev Next