[#39954] Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...>

 ささだです.

16 messages 2010/01/04
[#39957] Re: Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — Yugui <yugui@...> 2010/01/04

2010/1/4 SASADA Koichi <ko1@atdot.net>:

[#39959] Re: Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...> 2010/01/04

 ささだです.

[#39975] [Feature #2571] 文字列のハミング距離 — Kenta Murata <redmine@...>

Feature #2571: 文字列のハミング距離

14 messages 2010/01/07

[#39978] "require 'logge'" fails on ruby 1.8.7 from http://github.com/shyouhei/ruby — MOROHASHI Kyosuke <moronatural@...>

諸橋です。

7 messages 2010/01/07

[#40004] [Bug:trunk] require_relative depends on current directory — Yusuke ENDOH <mame@...>

遠藤です。

13 messages 2010/01/09

[#40074] [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <redmine@...>

Bug #2603: NetBSD 5.0以降でpthreadの処理に由来する不具合

29 messages 2010/01/14
[#40086] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — f-miura@... (MIURA, Fumiaki) 2010/01/14

NTTレゾナントの三浦です。不完全なpatchを書いてすみません。

[#40088] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <taca@...> 2010/01/14

こんばんは。

[#40091] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — KOSAKI Motohiro <kosaki.motohiro@...> 2010/01/15

kosakiです

[#40092] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <taca@...> 2010/01/15

こんにちは。

[#40077] [Bug #2604] test_dsa_sign_verify() in test/openssl/test_ec.rb failes — Takahiro Kambe <redmine@...>

Bug #2604: test_dsa_sign_verify() in test/openssl/test_ec.rb failes

11 messages 2010/01/14

[#40153] [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...>

連投すみません。

19 messages 2010/01/25
[#40184] Re: [Bug:trunk] three bugs of Matrix::Scalar — keiju@... (石塚圭樹) 2010/01/27

けいじゅ@いしつかです.

[#40189] Re: [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...> 2010/01/27

遠藤です。

[#40191] Re: [Bug:trunk] three bugs of Matrix::Scalar — keiju@... (石塚圭樹) 2010/01/27

けいじゅ@いしつかです.

[#40224] Re: [Bug:trunk] three bugs of Matrix::Scalar — Yukihiro Matsumoto <matz@...> 2010/01/28

まつもと ゆきひろです

[#40162] [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Yusuke Endoh <redmine@...>

Bug #2658: rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR

8 messages 2010/01/26
[#40163] Re: [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Tanaka Akira <akr@...> 2010/01/26

2010年1月26日20:39 Yusuke Endoh <redmine@ruby-lang.org>:

[#40168] [Bug #2662] BigDecimal#ceil, etc. should not return Integer — Yusuke Endoh <redmine@...>

Bug #2662: BigDecimal#ceil, etc. should not return Integer

10 messages 2010/01/26

[#40200] [Feature #2673] the length for an enumerator generated by Array#permutation and Array#combination — Kenta Murata <redmine@...>

Feature #2673: the length for an enumerator generated by Array#permutation and Array#combination

14 messages 2010/01/28

[#40221] [Bug:trunk] rubyspec: SimpleDelegator when frozen creates a frozen clone ERROR — Yusuke ENDOH <mame@...>

まつもとさん、または lib/delegator.rb についてわかる誰か

13 messages 2010/01/28

[#40265] MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...>

手元の Ubuntu 9.10 の環境で Ruby 1.9.2 を make test-all すると

38 messages 2010/01/30
[#40326] Re: MonitorMixin::ConditionVariable#wait timeout — Shugo Maeda <shugo@...> 2010/02/05

前田です。

[#41155] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

前田さん、akr さん

[#41157] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/05

2010年5月5日9:32 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41158] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

遠藤です。

[#41159] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/05

2010年5月5日11:46 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41160] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

遠藤です。

[#41182] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月5日13:22 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41183] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/06

遠藤です。

[#41186] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月6日19:58 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41205] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/06

遠藤です。

[#41207] Re: MonitorMixin::ConditionVariable#wait timeout — KOSAKI Motohiro <kosaki.motohiro@...> 2010/05/06

2010年5月6日23:08 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41208] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月6日23:15 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

[#41245] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/10

遠藤です。

[#41252] Re: MonitorMixin::ConditionVariable#wait timeout — KOSAKI Motohiro <kosaki.motohiro@...> 2010/05/10

kosakiです

[#41255] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/10

遠藤です。

[#41256] Re: MonitorMixin::ConditionVariable#wait timeout — Masaya TARUI <tarui@...> 2010/05/10

樽家です。

[#40269] [Feature #2695] Supported Platforms — Kazuhiro NISHIYAMA <redmine@...>

Feature #2695: Supported Platforms

17 messages 2010/01/31
[#40760] [Feature #2695] Supported Platforms — Yusuke Endoh <redmine@...> 2010/03/25

チケット #2695 が更新されました。 (by Yusuke Endoh)

[ruby-dev:40006] yuguiさんのvm_probesのsystemtap対応

From: KOSAKI Motohiro <kosaki.motohiro@...>
Date: 2010-01-09 18:28:52 UTC
List: ruby-dev #40006
kosakiです。

[ruby-core:27448] [Feature:trunk] adding hooks for better tracing
でアナウンスされたDTraceパッチですが
以下のような変更を加えることによりSystemTapでも動くことを確認しました。

汚い箇所も多々あるかと思いますが、ご参考までに。



From 3b65780694cb22e12bf4ef5ae24f73627a0882f6 Mon Sep 17 00:00:00 2001
From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Date: Sun, 10 Jan 2010 02:41:27 +0900
Subject: [PATCH] Initial systemtap support

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
---
 depend             |    4 +++-
 extconf.rb         |    6 +++++-
 systemtap_probes.h |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 57 insertions(+), 2 deletions(-)
 create mode 100644 systemtap_probes.h

diff --git a/depend b/depend
index ec2a9e8..f421069 100644
--- a/depend
+++ b/depend
@@ -5,8 +5,10 @@ tracing_mechanism.h: $(TRACING_MECHANISM)_probes.h mkmf.log
 dtrace_probes.h: dtrace.h
 dtrace.h: dtrace.d mkmf.log
 	$(DTRACE) -h $(ARCH_FLAGS) -o dtrace.h -s dtrace.d
-dtrace.$(OBJEXT): $(ORIG_OBJS) dtrace.d mkmf.log
+dtrace.o: $(ORIG_OBJS) dtrace.d mkmf.log
 	$(DTRACE) -G $(ARCH_FLAGS) -o $@ -s dtrace.d $(ORIG_OBJS)
+systemtap.o: $(ORIG_OBJS) dtrace.d mkmf.log
+	$(DTRACE) -G $(ARCH_FLAGS) -o $@ -s dtrace.d
 dtrace.d: dtrace.d.erb mkmf.log
 	echo 'please re-run extconf.rb'
 	false
diff --git a/extconf.rb b/extconf.rb
index 6b56239..bc52712 100644
--- a/extconf.rb
+++ b/extconf.rb
@@ -6,7 +6,7 @@ DTRACE = 'dtrace'
 ARCH=$configure_args['with-arch']

 def choose_mechanism
-  case mechanism = $configure_args['tracing-mechanism']
+  case mechanism = with_config('tracing-mechanism', case
RUBY_PLATFORM; when /linux/; 'systemtap'; end)
   when 'dtrace', nil
     mechanism = 'dtrace'
     begin
@@ -18,6 +18,10 @@ def choose_mechanism
       exit false
     end
     create_dtrace_d
+  when 'systemtap'
+    $objs = %w[ vm_probes.o ]
+    $objs << 'systemtap.o'
+    create_dtrace_d
   else
     message "unknown tracing mechanism #{mechanism}"
     exit false
diff --git a/systemtap_probes.h b/systemtap_probes.h
new file mode 100644
index 0000000..b9d5fff
--- /dev/null
+++ b/systemtap_probes.h
@@ -0,0 +1,49 @@
+#ifndef DTRACE_PROBES_H
+#define DTRACE_PROBES_H
+
+# include "dtrace.h"
+
+/*
+  XXX_ENABLED macro doesn't works correctly if dtrace.o is linked
shared library. ;-)
+  Thus, we disable this macros temporary.
+*/
+# define TRACE_METHOD_ENTRY_ENABLED()  1
+# define TRACE_METHOD_RETURN_ENABLED() 1
+# define TRACE_RAISE_ENABLED()         1
+# define TRACE_RESCUE_ENABLED()        1
+# define TRACE_LINE_ENABLED()          1
+# define TRACE_GC_START_ENABLED()      1
+# define TRACE_GC_END_ENABLED()        1
+# define TRACE_THREAD_INIT_ENABLED()   1
+# define TRACE_THREAD_TERM_ENABLED()   1
+# define TRACE_THREAD_LEAVE_ENABLED()  1
+# define TRACE_THREAD_ENTER_ENABLED()  1
+# define TRACE_OBJECT_CREATE_ENABLED() 1
+# define TRACE_OBJECT_FREE_ENABLED()   1
+
+# define FIRE_METHOD_ENTRY(receiver, classname, methodname,
sourcefile, sourceline) \
+   RUBY_METHOD_ENTRY(receiver, (char*)classname, (char*)methodname,
(char*)sourcefile, sourceline)
+# define FIRE_METHOD_RETURN(receiver, classname, methodname,
sourcefile, sourceline) \
+   RUBY_METHOD_RETURN(receiver, (char*)classname, (char*)methodname,
(char*)sourcefile, sourceline)
+# define FIRE_RAISE(exception, classname, sourcename, sourceline) \
+   RUBY_RAISE(exception, (char*)classname, (char*)sourcename, sourceline)
+# define FIRE_RESCUE(exception, classname, sourcename, sourceline) \
+   RUBY_RESCUE(exception, (char*)classname, (char*)sourcename, sourceline)
+# define FIRE_LINE(sourcename, sourceline) \
+   RUBY_LINE((char*)sourcename, sourceline)
+# define FIRE_GC_START()     RUBY_GC_START()
+# define FIRE_GC_END()       RUBY_GC_END()
+# define FIRE_THREAD_INIT(th, sourcefile, sourceline) \
+   RUBY_THREAD_INIT(th, (char*)sourcefile, sourceline)
+# define FIRE_THREAD_TERM(th, sourcefile, sourceline) \
+   RUBY_THREAD_TERM(th, (char*)sourcefile, sourceline)
+# define FIRE_THREAD_LEAVE(th, sourcefile, sourceline) \
+   RUBY_THREAD_LEAVE(th, (char*)sourcefile, sourceline)
+# define FIRE_THREAD_ENTER(th, sourcefile, sourceline) \
+   RUBY_THREAD_ENTER(th, (char*)sourcefile, sourceline)
+# define FIRE_OBJECT_CREATE(obj, sourcefile, sourceline) \
+   RUBY_OBJECT_CREATE(obj, (char*)sourcefile, sourceline)
+# define FIRE_OBJECT_FREE(obj) \
+   RUBY_OBJECT_FREE(obj)
+
+#endif
-- 
1.6.6

In This Thread

Prev Next