rbtrace 0.3.11 → 0.3.12
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +3 -3
- data/bin/rbtrace +2 -1
- data/ext/extconf.rb +3 -0
- data/ext/rbtrace.c +6 -5
- data/rbtrace.gemspec +2 -2
- data/test.sh +1 -1
- metadata +7 -7
data/Gemfile.lock
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rbtrace (0.3.
|
5
|
-
ffi (>= 1.0.
|
4
|
+
rbtrace (0.3.12)
|
5
|
+
ffi (>= 1.0.6)
|
6
6
|
msgpack (>= 0.4.3)
|
7
7
|
trollop (>= 1.16.2)
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: http://rubygems.org/
|
11
11
|
specs:
|
12
|
-
ffi (1.0.
|
12
|
+
ffi (1.0.6)
|
13
13
|
rake (>= 0.8.7)
|
14
14
|
msgpack (0.4.4)
|
15
15
|
rake (0.8.7)
|
data/bin/rbtrace
CHANGED
@@ -585,6 +585,7 @@ class RBTracer
|
|
585
585
|
print name
|
586
586
|
end
|
587
587
|
print ' <%f>' % (diff/1_000_000.0) if @show_duration
|
588
|
+
newline
|
588
589
|
|
589
590
|
if @nesting == 0 and @max_nesting > 1
|
590
591
|
# unless tracer == @last_tracer and @last_tracer[:last] == name
|
@@ -653,7 +654,7 @@ class RBTracer
|
|
653
654
|
parser = Trollop::Parser.new do
|
654
655
|
version <<-EOS
|
655
656
|
rbtrace: like strace, but for ruby code
|
656
|
-
version 0.3.
|
657
|
+
version 0.3.12
|
657
658
|
(c) 2011 Aman Gupta (tmm1)
|
658
659
|
http://github.com/tmm1/rbtrace
|
659
660
|
EOS
|
data/ext/extconf.rb
CHANGED
@@ -29,6 +29,9 @@ unless File.exists?("#{CWD}/dst/lib/libmsgpackc.a")
|
|
29
29
|
|
30
30
|
sys("tar zxvf #{msgpack}")
|
31
31
|
Dir.chdir(dir) do
|
32
|
+
if RUBY_PLATFORM =~ /i686/ and gcc = `gcc -v 2>&1` and gcc =~ /gcc version 4\.1/
|
33
|
+
ENV['CFLAGS'] += " -march=i686 "
|
34
|
+
end
|
32
35
|
sys("./configure --disable-dependency-tracking --disable-shared --disable-cxx --with-pic --prefix=#{CWD}/dst/")
|
33
36
|
sys("make install")
|
34
37
|
end
|
data/ext/rbtrace.c
CHANGED
@@ -13,6 +13,7 @@
|
|
13
13
|
#include <sys/msg.h>
|
14
14
|
#include <sys/time.h>
|
15
15
|
#include <sys/types.h>
|
16
|
+
#include <sys/wait.h>
|
16
17
|
#include <time.h>
|
17
18
|
#include <unistd.h>
|
18
19
|
|
@@ -191,7 +192,7 @@ rbtrace__send_event(int nargs, const char *name, ...)
|
|
191
192
|
msgpack_pack_unsigned_long(pk, ulong);
|
192
193
|
break;
|
193
194
|
|
194
|
-
case 't': //
|
195
|
+
case 't': // uint64 (timestamps)
|
195
196
|
uint64 = va_arg(ap, uint64_t);
|
196
197
|
msgpack_pack_uint64(pk, uint64);
|
197
198
|
break;
|
@@ -210,7 +211,7 @@ rbtrace__send_event(int nargs, const char *name, ...)
|
|
210
211
|
break;
|
211
212
|
|
212
213
|
default:
|
213
|
-
fprintf(stderr, "unknown type (%
|
214
|
+
fprintf(stderr, "unknown type (%d) passed to rbtrace__send_event for %s\n", (int)type, name);
|
214
215
|
}
|
215
216
|
}
|
216
217
|
|
@@ -221,7 +222,7 @@ rbtrace__send_event(int nargs, const char *name, ...)
|
|
221
222
|
msg.mtype = 1;
|
222
223
|
|
223
224
|
if (rbtracer.sbuf->size > sizeof(msg.buf)) {
|
224
|
-
fprintf(stderr, "rbtrace__send_event(): message is too large (%zd > %
|
225
|
+
fprintf(stderr, "rbtrace__send_event(): message is too large (%zd > %zu)\n", rbtracer.sbuf->size, sizeof(msg.buf));
|
225
226
|
return;
|
226
227
|
}
|
227
228
|
|
@@ -403,7 +404,7 @@ event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
|
|
403
404
|
rbtrace__send_event(6,
|
404
405
|
event == RUBY_EVENT_RETURN ? "slow" : "cslow",
|
405
406
|
't', rbtracer.call_times[ rbtracer.num_calls ],
|
406
|
-
'
|
407
|
+
't', diff,
|
407
408
|
'u', rbtracer.num_calls,
|
408
409
|
'l', mid,
|
409
410
|
'b', singleton,
|
@@ -448,7 +449,7 @@ event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
|
|
448
449
|
val = rb_inspect(rb_ivar_get(self, rb_intern(expr)));
|
449
450
|
|
450
451
|
} else {
|
451
|
-
snprintf(buffer, len+150, "(begin; ObjectSpace._id2ref(%
|
452
|
+
snprintf(buffer, len+150, "(begin; ObjectSpace._id2ref(%ld).instance_eval{ %s }; rescue Exception => e; e; end).inspect", NUM2LONG(rb_obj_id(self)), expr);
|
452
453
|
val = rb_eval_string_protect(buffer, 0);
|
453
454
|
}
|
454
455
|
|
data/rbtrace.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'rbtrace'
|
3
|
-
s.version = '0.3.
|
3
|
+
s.version = '0.3.12'
|
4
4
|
s.homepage = 'http://github.com/tmm1/rbtrace'
|
5
5
|
|
6
6
|
s.authors = 'Aman Gupta'
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.bindir = 'bin'
|
13
13
|
s.executables << 'rbtrace'
|
14
14
|
|
15
|
-
s.add_dependency 'ffi', '>= 1.0.
|
15
|
+
s.add_dependency 'ffi', '>= 1.0.6'
|
16
16
|
s.add_dependency 'trollop', '>= 1.16.2'
|
17
17
|
s.add_dependency 'msgpack', '>= 0.4.3'
|
18
18
|
|
data/test.sh
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbtrace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 12
|
10
|
+
version: 0.3.12
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Aman Gupta
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-03-
|
18
|
+
date: 2011-03-05 00:00:00 -08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -26,12 +26,12 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 27
|
30
30
|
segments:
|
31
31
|
- 1
|
32
32
|
- 0
|
33
|
-
-
|
34
|
-
version: 1.0.
|
33
|
+
- 6
|
34
|
+
version: 1.0.6
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|