ruby-usdt 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -1
- data/ext/usdt/Makefile +73 -49
- data/ext/usdt/test.rb +1 -1
- data/ext/usdt/usdt.c +8 -4
- data/lib/usdt/version.rb +1 -1
- metadata +5 -7
- data/ext/usdt/conftest.dSYM/Contents/Info.plist +0 -20
- data/ext/usdt/conftest.dSYM/Contents/Resources/DWARF/conftest +0 -0
data/README.md
CHANGED
@@ -26,7 +26,7 @@ providers at runtime for instrumentation and analysis by the DTrace
|
|
26
26
|
# args must be either :integer, or :string
|
27
27
|
# max 6 args (dtrace provides this many), additional args will be ignored
|
28
28
|
# returns USDT::Probe object
|
29
|
-
p = provider.probe(
|
29
|
+
p = provider.probe(:myfn, :probe, :string, :string, :integer)
|
30
30
|
|
31
31
|
# Provider#enable
|
32
32
|
# enables the probes defined with #probe
|
data/ext/usdt/Makefile
CHANGED
@@ -4,67 +4,81 @@ SHELL = /bin/sh
|
|
4
4
|
#### Start of system configuration section. ####
|
5
5
|
|
6
6
|
srcdir = .
|
7
|
-
topdir = /Users/kevin/.rvm/rubies/ruby-1.
|
8
|
-
hdrdir =
|
9
|
-
|
10
|
-
|
7
|
+
topdir = /Users/kevin/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1
|
8
|
+
hdrdir = /Users/kevin/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1
|
9
|
+
arch_hdrdir = /Users/kevin/.rvm/rubies/ruby-1.9.1-p378/include/ruby-1.9.1/$(arch)
|
10
|
+
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
|
11
|
+
prefix = $(DESTDIR)/Users/kevin/.rvm/rubies/ruby-1.9.1-p378
|
11
12
|
exec_prefix = $(prefix)
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
vendorhdrdir = $(rubyhdrdir)/vendor_ruby
|
14
|
+
sitehdrdir = $(rubyhdrdir)/site_ruby
|
15
|
+
rubyhdrdir = $(includedir)/$(RUBY_INSTALL_NAME)-$(ruby_version)
|
16
|
+
vendordir = $(libdir)/$(RUBY_INSTALL_NAME)/vendor_ruby
|
17
|
+
sitedir = $(libdir)/$(RUBY_INSTALL_NAME)/site_ruby
|
18
|
+
mandir = $(datarootdir)/man
|
19
|
+
localedir = $(datarootdir)/locale
|
20
|
+
libdir = $(exec_prefix)/lib
|
21
|
+
psdir = $(docdir)
|
15
22
|
pdfdir = $(docdir)
|
16
23
|
dvidir = $(docdir)
|
24
|
+
htmldir = $(docdir)
|
25
|
+
infodir = $(datarootdir)/info
|
26
|
+
docdir = $(datarootdir)/doc/$(PACKAGE)
|
27
|
+
oldincludedir = $(DESTDIR)/usr/include
|
28
|
+
includedir = $(prefix)/include
|
29
|
+
localstatedir = $(prefix)/var
|
17
30
|
sharedstatedir = $(prefix)/com
|
18
|
-
|
19
|
-
|
20
|
-
libexecdir = $(exec_prefix)/libexec
|
31
|
+
sysconfdir = $(prefix)/etc
|
32
|
+
datadir = $(datarootdir)
|
21
33
|
datarootdir = $(prefix)/share
|
34
|
+
libexecdir = $(exec_prefix)/libexec
|
35
|
+
sbindir = $(exec_prefix)/sbin
|
22
36
|
bindir = $(exec_prefix)/bin
|
23
|
-
|
24
|
-
sitearchdir = $(sitelibdir)/$(sitearch)
|
25
|
-
sysconfdir = $(prefix)/etc
|
37
|
+
rubylibdir = $(libdir)/$(ruby_install_name)/$(ruby_version)
|
26
38
|
archdir = $(rubylibdir)/$(arch)
|
27
|
-
sbindir = $(exec_prefix)/sbin
|
28
|
-
includedir = $(prefix)/include
|
29
|
-
mandir = $(datarootdir)/man
|
30
|
-
rubylibdir = $(libdir)/ruby/$(ruby_version)
|
31
|
-
localstatedir = $(prefix)/var
|
32
|
-
vendorlibdir = $(vendordir)/$(ruby_version)
|
33
39
|
sitelibdir = $(sitedir)/$(ruby_version)
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
libdir = $(exec_prefix)/lib
|
38
|
-
oldincludedir = $(DESTDIR)/usr/include
|
40
|
+
sitearchdir = $(sitelibdir)/$(sitearch)
|
41
|
+
vendorlibdir = $(vendordir)/$(ruby_version)
|
42
|
+
vendorarchdir = $(vendorlibdir)/$(sitearch)
|
39
43
|
|
40
|
-
CC =
|
41
|
-
|
44
|
+
CC = gcc
|
45
|
+
CXX = g++
|
46
|
+
LIBRUBY = $(LIBRUBY_A)
|
42
47
|
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
|
43
48
|
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
|
44
49
|
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
|
50
|
+
OUTFLAG = -o
|
51
|
+
COUTFLAG = -o
|
45
52
|
|
46
53
|
RUBY_EXTCONF_H =
|
47
|
-
|
48
|
-
|
54
|
+
cflags = $(optflags) $(debugflags) $(warnflags)
|
55
|
+
optflags = -O2
|
56
|
+
debugflags = -g
|
57
|
+
warnflags = -Wall -Wno-parentheses
|
58
|
+
CFLAGS = -fno-common $(cflags) -pipe -fno-common
|
59
|
+
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
|
49
60
|
DEFS =
|
50
|
-
CPPFLAGS = -DHAVE_USDT_H -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE
|
51
|
-
CXXFLAGS = $(CFLAGS)
|
61
|
+
CPPFLAGS = -DHAVE_USDT_H -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE $(DEFS) $(cppflags)
|
62
|
+
CXXFLAGS = $(CFLAGS) $(cxxflags)
|
52
63
|
ldflags = -L.
|
53
64
|
dldflags =
|
54
65
|
archflag =
|
55
66
|
DLDFLAGS = $(ldflags) $(dldflags) $(archflag)
|
56
67
|
LDSHARED = cc -dynamic -bundle -undefined suppress -flat_namespace
|
68
|
+
LDSHAREDXX = $(LDSHARED)
|
57
69
|
AR = ar
|
58
70
|
EXEEXT =
|
59
71
|
|
60
72
|
RUBY_INSTALL_NAME = ruby
|
61
73
|
RUBY_SO_NAME = ruby
|
62
|
-
arch =
|
63
|
-
sitearch =
|
64
|
-
ruby_version = 1.
|
65
|
-
ruby = /Users/kevin/.rvm/rubies/ruby-1.
|
74
|
+
arch = i386-darwin10.3.0
|
75
|
+
sitearch = i386-darwin10.3.0
|
76
|
+
ruby_version = 1.9.1
|
77
|
+
ruby = /Users/kevin/.rvm/rubies/ruby-1.9.1-p378/bin/ruby
|
66
78
|
RUBY = $(ruby)
|
67
79
|
RM = rm -f
|
80
|
+
RM_RF = $(RUBY) -run -e rm -- -rf
|
81
|
+
RMDIRS = $(RUBY) -run -e rmdir -- -p
|
68
82
|
MAKEDIRS = mkdir -p
|
69
83
|
INSTALL = /usr/bin/install -c
|
70
84
|
INSTALL_PROG = $(INSTALL) -m 0755
|
@@ -81,12 +95,13 @@ DEFFILE =
|
|
81
95
|
|
82
96
|
CLEANFILES = mkmf.log
|
83
97
|
DISTCLEANFILES =
|
98
|
+
DISTCLEANDIRS =
|
84
99
|
|
85
100
|
extout =
|
86
101
|
extout_prefix =
|
87
102
|
target_prefix =
|
88
103
|
LOCAL_LIBS =
|
89
|
-
LIBS =
|
104
|
+
LIBS = -lusdt -ldtrace -lpthread -ldl -lobjc
|
90
105
|
SRCS = usdt.c
|
91
106
|
OBJS = usdt.o
|
92
107
|
TARGET = usdt
|
@@ -98,22 +113,31 @@ BINDIR = $(bindir)
|
|
98
113
|
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
|
99
114
|
RUBYLIBDIR = $(sitelibdir)$(target_prefix)
|
100
115
|
RUBYARCHDIR = $(sitearchdir)$(target_prefix)
|
116
|
+
HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
|
117
|
+
ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
|
101
118
|
|
102
119
|
TARGET_SO = $(DLLIB)
|
103
|
-
CLEANLIBS = $(TARGET).bundle
|
104
|
-
CLEANOBJS = *.o
|
120
|
+
CLEANLIBS = $(TARGET).bundle
|
121
|
+
CLEANOBJS = *.o *.bak
|
105
122
|
|
106
|
-
all:
|
107
|
-
static:
|
123
|
+
all: $(DLLIB)
|
124
|
+
static: $(STATIC_LIB)
|
108
125
|
|
109
|
-
clean
|
126
|
+
clean-rb-default::
|
127
|
+
clean-rb::
|
128
|
+
clean-so::
|
129
|
+
clean: clean-so clean-rb-default clean-rb
|
110
130
|
@-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
|
111
131
|
|
112
|
-
distclean
|
132
|
+
distclean-rb-default::
|
133
|
+
distclean-rb::
|
134
|
+
distclean-so::
|
135
|
+
distclean: clean distclean-so distclean-rb-default distclean-rb
|
113
136
|
@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
|
114
137
|
@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
|
138
|
+
@-$(RMDIRS) $(DISTCLEANDIRS)
|
115
139
|
|
116
|
-
realclean:
|
140
|
+
realclean: distclean
|
117
141
|
install: install-so install-rb
|
118
142
|
|
119
143
|
install-so: $(RUBYARCHDIR)
|
@@ -134,24 +158,24 @@ site-install-rb: install-rb
|
|
134
158
|
.SUFFIXES: .c .m .cc .cxx .cpp .C .o
|
135
159
|
|
136
160
|
.cc.o:
|
137
|
-
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
161
|
+
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
138
162
|
|
139
163
|
.cxx.o:
|
140
|
-
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
164
|
+
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
141
165
|
|
142
166
|
.cpp.o:
|
143
|
-
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
167
|
+
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
144
168
|
|
145
169
|
.C.o:
|
146
|
-
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
170
|
+
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
147
171
|
|
148
172
|
.c.o:
|
149
|
-
$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
|
173
|
+
$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
|
150
174
|
|
151
175
|
$(DLLIB): $(OBJS) Makefile
|
152
|
-
@-$(RM)
|
176
|
+
@-$(RM) $(@)
|
153
177
|
$(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
|
154
178
|
|
155
179
|
|
156
180
|
|
157
|
-
$(OBJS): ruby.h defines.h
|
181
|
+
$(OBJS): $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.h
|
data/ext/usdt/test.rb
CHANGED
data/ext/usdt/usdt.c
CHANGED
@@ -34,8 +34,8 @@ static VALUE provider_create(VALUE self, VALUE name, VALUE mod) {
|
|
34
34
|
Check_Type(name, T_SYMBOL);
|
35
35
|
Check_Type(mod, T_SYMBOL);
|
36
36
|
|
37
|
-
char *namestr = rb_id2name(rb_to_id(name));
|
38
|
-
char *modstr = rb_id2name(rb_to_id(mod));
|
37
|
+
const char *namestr = rb_id2name(rb_to_id(name));
|
38
|
+
const char *modstr = rb_id2name(rb_to_id(mod));
|
39
39
|
|
40
40
|
usdt_provider_t* p = usdt_create_provider(namestr, modstr);
|
41
41
|
|
@@ -52,8 +52,8 @@ static VALUE provider_create(VALUE self, VALUE name, VALUE mod) {
|
|
52
52
|
* USDT::Provider#probe(func, name, pargs*)
|
53
53
|
*/
|
54
54
|
static VALUE provider_probe(int argc, VALUE *argv, VALUE self) {
|
55
|
-
const char *func =
|
56
|
-
const char *name =
|
55
|
+
const char *func = rb_id2name(rb_to_id(argv[0]));
|
56
|
+
const char *name = rb_id2name(rb_to_id(argv[1]));
|
57
57
|
const char *types[6];
|
58
58
|
size_t i, pargc = 0;
|
59
59
|
size_t t_int = rb_intern("integer");
|
@@ -118,6 +118,10 @@ static VALUE probe_enabled(VALUE self) {
|
|
118
118
|
* USDT::Probe#fire *args
|
119
119
|
*/
|
120
120
|
static VALUE probe_fire(int argc, VALUE *argv, VALUE self) {
|
121
|
+
if (probe_enabled(self) == Qfalse) {
|
122
|
+
return Qfalse;
|
123
|
+
}
|
124
|
+
|
121
125
|
usdt_probedef_t **p = DATA_PTR(self);
|
122
126
|
usdt_probedef_t *probedef = *p;
|
123
127
|
|
data/lib/usdt/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-usdt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kevin Chan
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-04-
|
18
|
+
date: 2012-04-24 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description:
|
@@ -43,8 +43,6 @@ files:
|
|
43
43
|
- ext/libusdt/usdt_probe.c
|
44
44
|
- ext/libusdt/usdt_tracepoints_i386.s
|
45
45
|
- ext/libusdt/usdt_tracepoints_x86_64.s
|
46
|
-
- ext/usdt/conftest.dSYM/Contents/Info.plist
|
47
|
-
- ext/usdt/conftest.dSYM/Contents/Resources/DWARF/conftest
|
48
46
|
- ext/usdt/extconf.rb
|
49
47
|
- ext/usdt/Makefile
|
50
48
|
- ext/usdt/test.rb
|
@@ -85,6 +83,6 @@ rubyforge_project:
|
|
85
83
|
rubygems_version: 1.8.21
|
86
84
|
signing_key:
|
87
85
|
specification_version: 3
|
88
|
-
summary: Native DTrace probes ruby
|
86
|
+
summary: Native DTrace probes for ruby.
|
89
87
|
test_files: []
|
90
88
|
|
@@ -1,20 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
-
<plist version="1.0">
|
4
|
-
<dict>
|
5
|
-
<key>CFBundleDevelopmentRegion</key>
|
6
|
-
<string>English</string>
|
7
|
-
<key>CFBundleIdentifier</key>
|
8
|
-
<string>com.apple.xcode.dsym.conftest</string>
|
9
|
-
<key>CFBundleInfoDictionaryVersion</key>
|
10
|
-
<string>6.0</string>
|
11
|
-
<key>CFBundlePackageType</key>
|
12
|
-
<string>dSYM</string>
|
13
|
-
<key>CFBundleSignature</key>
|
14
|
-
<string>????</string>
|
15
|
-
<key>CFBundleShortVersionString</key>
|
16
|
-
<string>1.0</string>
|
17
|
-
<key>CFBundleVersion</key>
|
18
|
-
<string>1</string>
|
19
|
-
</dict>
|
20
|
-
</plist>
|
Binary file
|