rbtrace 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NmQ5ZDFlYWZkMTFjNGFhNzc1ZTNiM2RjNDAxYjQwMmYzMDcxYzEwOQ==
5
+ data.tar.gz: !binary |-
6
+ N2Q2M2YxMzE3N2JhNTA0MmE3NzU1OWMwODY3MGFjMDRkZGM4YzVlMg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MzQ1NzUyZDgxMzM1OWZiZTg2OThhZjZiNmIyZDdjNTI4YzJjYzgxYmQ5MWVk
10
+ NWQxMWU0MWY1MzlmNmM1MmE5M2VmMzkxOGRkOTI1M2U1YWU3YWZmZTQzMjA4
11
+ ZDJiZjAyM2FlNWFlNDQ4OWNhN2QxNzM5OTMzYjdmZTM5MmE3ZWM=
12
+ data.tar.gz: !binary |-
13
+ YTUxNzAyMDQyZThkMjJlOGNhNTliNjE0NjYwYjI0NjFhZjZlOTNlZTRmYjhi
14
+ MWFhZmJlNzVmNGY4MzY4OTlkYjQ0ZWJlNDEzMmNjYTcxMTgzOWVjODA5ZDky
15
+ N2Q3ZjQ5NDIyMTJkNTc5ZWYzMzUyMGY4YTc1YzI0OGE3ZmFiYTc=
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rbtrace (0.4.0)
4
+ rbtrace (0.4.2)
5
5
  ffi (>= 1.0.6)
6
6
  msgpack (>= 0.4.3)
7
7
  trollop (>= 1.16.2)
@@ -9,9 +9,9 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- ffi (1.0.11)
13
- msgpack (0.4.7)
14
- trollop (1.16.2)
12
+ ffi (1.9.3)
13
+ msgpack (0.5.7)
14
+ trollop (2.0)
15
15
 
16
16
  PLATFORMS
17
17
  ruby
@@ -1054,7 +1054,7 @@ EOS
1054
1054
  else
1055
1055
  tracer.add(methods) if methods.any?
1056
1056
  if opts[:slow_given] || opts[:slowcpu_given]
1057
- tracer.watch(opts[:slowcpu] || opts[:slow], opts[:slowcpu_given])
1057
+ tracer.watch(opts[:slowcpu_given] ? opts[:slowcpu] : opts[:slow], opts[:slowcpu_given])
1058
1058
  tracer.add_slow(smethods) if smethods.any?
1059
1059
  end
1060
1060
  end
@@ -58,6 +58,7 @@ end
58
58
 
59
59
  have_func('rb_during_gc', 'ruby.h')
60
60
  have_func('rb_gc_add_event_hook', ['ruby.h', 'node.h'])
61
+ have_func('rb_postponed_job_register_one', 'ruby.h')
61
62
 
62
63
  # increase message size on linux
63
64
  if RUBY_PLATFORM =~ /linux/
@@ -1008,7 +1008,7 @@ rbtrace__process_event(msgpack_object cmd)
1008
1008
  }
1009
1009
 
1010
1010
  static void
1011
- sigurg(int signal)
1011
+ rbtrace__receive(void *data)
1012
1012
  {
1013
1013
  msgq_setup();
1014
1014
  if (rbtracer.mqi_id == -1) return;
@@ -1056,6 +1056,16 @@ rbtrace_gc_mark()
1056
1056
 
1057
1057
  static VALUE gc_hook, signal_handler_proc;
1058
1058
 
1059
+ static void
1060
+ sigurg(int signal)
1061
+ {
1062
+ #if defined(HAVE_RB_POSTPONED_JOB_REGISTER_ONE)
1063
+ rb_postponed_job_register_one(0, rbtrace__receive, 0);
1064
+ #else
1065
+ rbtrace__receive(0);
1066
+ #endif
1067
+ }
1068
+
1059
1069
  static VALUE
1060
1070
  signal_handler_wrapper(VALUE arg, VALUE ctx)
1061
1071
  {
@@ -1063,7 +1073,7 @@ signal_handler_wrapper(VALUE arg, VALUE ctx)
1063
1073
  if (in_signal_handler) return Qnil;
1064
1074
 
1065
1075
  in_signal_handler++;
1066
- sigurg(SIGURG);
1076
+ rbtrace__receive(0);
1067
1077
  in_signal_handler--;
1068
1078
 
1069
1079
  return Qnil;
@@ -1077,7 +1087,9 @@ Init_rbtrace()
1077
1087
  rb_global_variable(&gc_hook);
1078
1088
 
1079
1089
  // catch signal telling us to read from the msgq
1080
- #ifdef RUBY_VM
1090
+ #if defined(HAVE_RB_POSTPONED_JOB_REGISTER_ONE)
1091
+ signal(SIGURG, sigurg);
1092
+ #elif defined(RUBY_VM)
1081
1093
  signal_handler_proc = rb_proc_new(signal_handler_wrapper, Qnil);
1082
1094
  rb_global_variable(&signal_handler_proc);
1083
1095
  rb_funcall(Qnil, rb_intern("trap"), 2, rb_str_new_cstr("URG"), signal_handler_proc);
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'rbtrace'
3
- s.version = '0.4.1'
3
+ s.version = '0.4.2'
4
4
  s.homepage = 'http://github.com/tmm1/rbtrace'
5
5
 
6
6
  s.authors = 'Aman Gupta'
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.add_dependency 'trollop', '>= 1.16.2'
17
17
  s.add_dependency 'msgpack', '>= 0.4.3'
18
18
 
19
+ s.license = "MIT"
19
20
  s.summary = 'rbtrace: like strace but for ruby code'
20
21
  s.description = 'rbtrace shows you method calls happening inside another ruby process in real time.'
21
22
  end
metadata CHANGED
@@ -1,64 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbtrace
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.4.1
4
+ version: 0.4.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Aman Gupta
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-08 00:00:00.000000000 Z
11
+ date: 2013-11-23 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- type: :runtime
14
+ name: ffi
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.0.6
20
+ type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
- none: false
25
23
  requirements:
26
24
  - - ! '>='
27
25
  - !ruby/object:Gem::Version
28
26
  version: 1.0.6
29
- name: ffi
30
27
  - !ruby/object:Gem::Dependency
31
- type: :runtime
28
+ name: trollop
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 1.16.2
34
+ type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
- none: false
41
37
  requirements:
42
38
  - - ! '>='
43
39
  - !ruby/object:Gem::Version
44
40
  version: 1.16.2
45
- name: trollop
46
41
  - !ruby/object:Gem::Dependency
47
- type: :runtime
42
+ name: msgpack
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: 0.4.3
48
+ type: :runtime
54
49
  prerelease: false
55
50
  version_requirements: !ruby/object:Gem::Requirement
56
- none: false
57
51
  requirements:
58
52
  - - ! '>='
59
53
  - !ruby/object:Gem::Version
60
54
  version: 0.4.3
61
- name: msgpack
62
55
  description: rbtrace shows you method calls happening inside another ruby process
63
56
  in real time.
64
57
  email: aman@tmm1.net
@@ -88,27 +81,28 @@ files:
88
81
  - tracers/testunit.tracer
89
82
  - tracers/unicorn.tracer
90
83
  homepage: http://github.com/tmm1/rbtrace
91
- licenses: []
84
+ licenses:
85
+ - MIT
86
+ metadata: {}
92
87
  post_install_message:
93
88
  rdoc_options: []
94
89
  require_paths:
95
90
  - lib
96
91
  required_ruby_version: !ruby/object:Gem::Requirement
97
- none: false
98
92
  requirements:
99
93
  - - ! '>='
100
94
  - !ruby/object:Gem::Version
101
95
  version: '0'
102
96
  required_rubygems_version: !ruby/object:Gem::Requirement
103
- none: false
104
97
  requirements:
105
98
  - - ! '>='
106
99
  - !ruby/object:Gem::Version
107
100
  version: '0'
108
101
  requirements: []
109
102
  rubyforge_project:
110
- rubygems_version: 1.8.23
103
+ rubygems_version: 2.1.11
111
104
  signing_key:
112
- specification_version: 3
105
+ specification_version: 4
113
106
  summary: ! 'rbtrace: like strace but for ruby code'
114
107
  test_files: []
108
+ has_rdoc: