ruby-dtrace 0.0.1 → 0.0.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.
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: ruby-dtrace
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.1
7
- date: 2007-12-01 00:00:00 +00:00
6
+ version: 0.0.2
7
+ date: 2007-12-07 00:00:00 +00:00
8
8
  summary: Ruby bindings for libdtrace
9
9
  require_paths:
10
10
  - lib
@@ -34,16 +34,24 @@ files:
34
34
  - Manifest.txt
35
35
  - README.txt
36
36
  - Rakefile
37
- - ext/dtrace_aggregate.c
37
+ - ext/dtrace_aggdata.c
38
38
  - ext/dtrace_api.c
39
39
  - ext/dtrace_api.h
40
+ - ext/dtrace_bufdata.c
40
41
  - ext/dtrace_hdl.c
41
42
  - ext/dtrace_probe.c
43
+ - ext/dtrace_probedata.c
42
44
  - ext/dtrace_program.c
43
45
  - ext/dtrace_programinfo.c
44
46
  - ext/dtrace_recdesc.c
47
+ - ext/dtrace_util.c
45
48
  - ext/extconf.rb
46
49
  - lib/dtrace.rb
50
+ - lib/dtraceaggregate.rb
51
+ - lib/dtraceconsumer.rb
52
+ - lib/dtraceprobe.rb
53
+ - lib/dtraceprobedata.rb
54
+ - lib/dtracerecord.rb
47
55
  - plugin/dtrace/README
48
56
  - plugin/dtrace/Rakefile
49
57
  - plugin/dtrace/bin/dtracer.rb
@@ -58,8 +66,10 @@ files:
58
66
  - plugin/dtrace/test/dtrace_test.rb
59
67
  - plugin/dtrace/views/dtrace/_report.rhtml
60
68
  - test/test_dtrace.rb
69
+ - test/test_dtrace_workapi.rb
61
70
  test_files:
62
71
  - test/test_dtrace.rb
72
+ - test/test_dtrace_workapi.rb
63
73
  rdoc_options:
64
74
  - --main
65
75
  - README.txt
@@ -1,150 +0,0 @@
1
- /* Ruby-Dtrace
2
- * (c) 2007 Chris Andrews <chris@nodnol.org>
3
- */
4
-
5
- #include "dtrace_api.h"
6
-
7
- RUBY_EXTERN VALUE cDtraceProbe;
8
- RUBY_EXTERN VALUE cDtraceRecDesc;
9
-
10
- /* :nodoc: */
11
- VALUE dtraceaggdata_init(VALUE self)
12
- {
13
- dtrace_aggdata_t *aggdata;
14
-
15
- Data_Get_Struct(self, dtrace_aggdata_t, aggdata);
16
- return self;
17
- }
18
-
19
- /*
20
- * Returns the description of this aggregate.
21
- */
22
- VALUE dtraceaggdata_desc(VALUE self)
23
- {
24
- VALUE string;
25
- dtrace_aggdata_t *aggdata;
26
- dtrace_aggdesc_t *aggdesc;
27
- dtrace_recdesc_t *nrec, *irec;
28
- char *name, c[256];
29
-
30
- Data_Get_Struct(self, dtrace_aggdata_t, aggdata);
31
-
32
- aggdesc = aggdata->dtada_desc;
33
- nrec = &aggdesc->dtagd_rec[1];
34
- irec = &aggdesc->dtagd_rec[2];
35
-
36
- name = aggdata->dtada_data + nrec->dtrd_offset;
37
- string = rb_str_new2(name);
38
- return string;
39
- }
40
-
41
- /*
42
- * Returns the value of this aggregate.
43
- */
44
- VALUE dtraceaggdata_value(VALUE self)
45
- {
46
- dtrace_aggdata_t *aggdata;
47
- dtrace_aggdesc_t *aggdesc;
48
- dtrace_recdesc_t *nrec, *irec;
49
-
50
- Data_Get_Struct(self, dtrace_aggdata_t, aggdata);
51
-
52
- aggdesc = aggdata->dtada_desc;
53
- nrec = &aggdesc->dtagd_rec[1];
54
- irec = &aggdesc->dtagd_rec[2];
55
-
56
- uint64_t n = *((uint64_t *)(aggdata->dtada_data + irec->dtrd_offset));
57
-
58
- return INT2FIX(n);
59
- }
60
-
61
- /*
62
- * Returns the size of this aggregate.
63
- */
64
- VALUE dtraceaggdata_size(VALUE self)
65
- {
66
- dtrace_aggdata_t *aggdata;
67
-
68
- Data_Get_Struct(self, dtrace_aggdata_t, aggdata);
69
-
70
- return INT2FIX(aggdata->dtada_size);
71
- }
72
-
73
- /*
74
- * Yields each record for this aggregate.
75
- */
76
- VALUE dtraceaggdata_each_record(VALUE self)
77
- {
78
- VALUE dtracerecdesc;
79
- dtrace_aggdata_t *aggdata;
80
- dtrace_aggdesc_t *aggdesc;
81
- dtrace_recdesc_t *rec;
82
- int i;
83
- caddr_t data;
84
-
85
- Data_Get_Struct(self, dtrace_aggdata_t, aggdata);
86
- aggdesc = aggdata->dtada_desc;
87
-
88
- for (i = 0; i < aggdesc->dtagd_nrecs; i++) {
89
- rec = &aggdesc->dtagd_rec[i];
90
- dtracerecdesc = Data_Wrap_Struct(cDtraceRecDesc, 0, NULL, rec);
91
- rb_iv_set(dtracerecdesc, "@aggdata", self);
92
- rb_yield(dtracerecdesc);
93
- }
94
-
95
- return Qnil;
96
- }
97
-
98
- /*
99
- * Return the number of records in this aggregate.
100
- */
101
- VALUE dtraceaggdata_num_records(VALUE self)
102
- {
103
- VALUE dtracerecdesc;
104
- dtrace_aggdata_t *aggdata;
105
- dtrace_aggdesc_t *aggdesc;
106
-
107
- Data_Get_Struct(self, dtrace_aggdata_t, aggdata);
108
- aggdesc = aggdata->dtada_desc;
109
-
110
- return INT2FIX(aggdesc->dtagd_nrecs);
111
- }
112
-
113
- /*
114
- * Access the array of records in this aggregate.
115
- */
116
- VALUE dtraceaggdata_record(VALUE self, VALUE index)
117
- {
118
- VALUE dtracerecdesc;
119
- dtrace_aggdata_t *aggdata;
120
- dtrace_aggdesc_t *aggdesc;
121
- dtrace_recdesc_t *rec;
122
- int i;
123
-
124
- Data_Get_Struct(self, dtrace_aggdata_t, aggdata);
125
- aggdesc = aggdata->dtada_desc;
126
-
127
- i = FIX2INT(index);
128
- if (i >= aggdesc->dtagd_nrecs)
129
- return Qnil;
130
- else {
131
- rec = &aggdesc->dtagd_rec[i];
132
- dtracerecdesc = Data_Wrap_Struct(cDtraceRecDesc, 0, NULL, rec);
133
- rb_iv_set(dtracerecdesc, "@aggdata", self);
134
- return dtracerecdesc;
135
- }
136
- }
137
-
138
- /*
139
- * Return the probe associated with this aggregate.
140
- */
141
- VALUE dtraceaggdata_probe(VALUE self)
142
- {
143
- VALUE probe;
144
- dtrace_aggdata_t *aggdata;
145
-
146
- Data_Get_Struct(self, dtrace_aggdata_t, aggdata);
147
- probe = Data_Wrap_Struct(cDtraceProbe, 0, NULL, (dtrace_probedesc_t *)aggdata->dtada_pdesc);
148
-
149
- return probe;
150
- }