rbtrace 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: