oboe 2.1.3 → 2.1.4
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.
- data/CHANGELOG +99 -0
- data/README.md +6 -23
- data/ext/oboe_metal/extconf.rb +9 -2
- data/ext/oboe_metal/src/bson/bson.h +221 -0
- data/ext/oboe_metal/src/bson/platform_hacks.h +91 -0
- data/ext/oboe_metal/src/oboe.h +275 -0
- data/ext/oboe_metal/src/oboe.hpp +101 -11
- data/ext/oboe_metal/src/oboe_wrap.cxx +310 -23
- data/lib/joboe_metal.rb +6 -14
- data/lib/oboe/api/layerinit.rb +17 -8
- data/lib/oboe/api/logging.rb +1 -1
- data/lib/oboe/config.rb +9 -0
- data/lib/oboe/frameworks/rails.rb +2 -0
- data/lib/oboe/frameworks/rails/inst/action_controller.rb +0 -2
- data/lib/oboe/inst/rack.rb +1 -0
- data/lib/oboe/inst/resque.rb +4 -4
- data/lib/oboe/loading.rb +61 -0
- data/lib/oboe/ruby.rb +1 -1
- data/lib/oboe/version.rb +1 -1
- data/lib/oboe_metal.rb +6 -14
- data/oboe.gemspec +10 -0
- metadata +17 -5
@@ -0,0 +1,275 @@
|
|
1
|
+
#ifndef LIBOBOE_H
|
2
|
+
#define LIBOBOE_H
|
3
|
+
|
4
|
+
#ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
#endif
|
7
|
+
|
8
|
+
#include <sys/types.h>
|
9
|
+
#include <inttypes.h>
|
10
|
+
#include "bson/bson.h"
|
11
|
+
|
12
|
+
#define OBOE_SAMPLE_RATE_DEFAULT 300000 // 30%
|
13
|
+
#define OBOE_SAMPLE_RESOLUTION 1000000
|
14
|
+
|
15
|
+
#define OBOE_MAX_TASK_ID_LEN 20
|
16
|
+
#define OBOE_MAX_OP_ID_LEN 8
|
17
|
+
#define OBOE_MAX_METADATA_PACK_LEN 512
|
18
|
+
|
19
|
+
#define XTR_CURRENT_VERSION 1
|
20
|
+
#define XTR_UDP_PORT 7831
|
21
|
+
|
22
|
+
|
23
|
+
// structs
|
24
|
+
|
25
|
+
typedef struct oboe_ids {
|
26
|
+
uint8_t task_id[OBOE_MAX_TASK_ID_LEN];
|
27
|
+
uint8_t op_id[OBOE_MAX_OP_ID_LEN];
|
28
|
+
} oboe_ids_t;
|
29
|
+
|
30
|
+
typedef struct oboe_metadata {
|
31
|
+
oboe_ids_t ids;
|
32
|
+
size_t task_len;
|
33
|
+
size_t op_len;
|
34
|
+
} oboe_metadata_t;
|
35
|
+
|
36
|
+
typedef struct oboe_event {
|
37
|
+
oboe_metadata_t metadata;
|
38
|
+
bson_buffer bbuf;
|
39
|
+
char * bb_str;
|
40
|
+
} oboe_event_t;
|
41
|
+
|
42
|
+
|
43
|
+
// oboe_metadata
|
44
|
+
|
45
|
+
int oboe_metadata_init (oboe_metadata_t *);
|
46
|
+
int oboe_metadata_destroy (oboe_metadata_t *);
|
47
|
+
|
48
|
+
int oboe_metadata_is_valid (const oboe_metadata_t *);
|
49
|
+
|
50
|
+
void oboe_metadata_copy (oboe_metadata_t *, const oboe_metadata_t *);
|
51
|
+
|
52
|
+
void oboe_metadata_random (oboe_metadata_t *);
|
53
|
+
|
54
|
+
int oboe_metadata_set_lengths (oboe_metadata_t *, size_t, size_t);
|
55
|
+
int oboe_metadata_create_event (const oboe_metadata_t *, oboe_event_t *);
|
56
|
+
|
57
|
+
int oboe_metadata_tostr (const oboe_metadata_t *, char *, size_t);
|
58
|
+
int oboe_metadata_fromstr (oboe_metadata_t *, const char *, size_t);
|
59
|
+
|
60
|
+
|
61
|
+
// oboe_event
|
62
|
+
|
63
|
+
int oboe_event_init (oboe_event_t *, const oboe_metadata_t *);
|
64
|
+
int oboe_event_destroy (oboe_event_t *);
|
65
|
+
|
66
|
+
int oboe_event_add_info (oboe_event_t *, const char *, const char *);
|
67
|
+
int oboe_event_add_info_binary (oboe_event_t *, const char *, const char *, size_t);
|
68
|
+
int oboe_event_add_info_int64 (oboe_event_t *, const char *, const int64_t);
|
69
|
+
int oboe_event_add_info_double (oboe_event_t *, const char *, const double);
|
70
|
+
int oboe_event_add_info_bool (oboe_event_t *, const char *, const int);
|
71
|
+
int oboe_event_add_info_fmt (oboe_event_t *, const char *key, const char *fmt, ...);
|
72
|
+
int oboe_event_add_info_bson (oboe_event_t *, const char *key, const bson *val);
|
73
|
+
int oboe_event_add_edge (oboe_event_t *, const oboe_metadata_t *);
|
74
|
+
int oboe_event_add_edge_fromstr(oboe_event_t *, const char *, size_t);
|
75
|
+
|
76
|
+
|
77
|
+
// oboe_context
|
78
|
+
|
79
|
+
oboe_metadata_t *oboe_context_get();
|
80
|
+
void oboe_context_set(oboe_metadata_t *);
|
81
|
+
int oboe_context_set_fromstr(const char *, size_t);
|
82
|
+
|
83
|
+
void oboe_context_clear();
|
84
|
+
|
85
|
+
int oboe_context_is_valid();
|
86
|
+
|
87
|
+
|
88
|
+
// oboe_reporter
|
89
|
+
|
90
|
+
typedef ssize_t (*reporter_send)(void *, const char *, size_t);
|
91
|
+
typedef int (*reporter_destroy)(void *);
|
92
|
+
|
93
|
+
typedef struct oboe_reporter {
|
94
|
+
void * descriptor;
|
95
|
+
reporter_send send;
|
96
|
+
reporter_destroy destroy;
|
97
|
+
} oboe_reporter_t;
|
98
|
+
|
99
|
+
int oboe_reporter_udp_init (oboe_reporter_t *, const char *, const char *);
|
100
|
+
int oboe_reporter_file_init (oboe_reporter_t *, const char *);
|
101
|
+
|
102
|
+
int oboe_reporter_send(oboe_reporter_t *, oboe_metadata_t *, oboe_event_t *);
|
103
|
+
int oboe_reporter_destroy(oboe_reporter_t *);
|
104
|
+
ssize_t oboe_reporter_udp_send(void *desc, const char *data, size_t len);
|
105
|
+
|
106
|
+
|
107
|
+
// initialization
|
108
|
+
|
109
|
+
void oboe_init();
|
110
|
+
|
111
|
+
|
112
|
+
// Settings interface
|
113
|
+
|
114
|
+
#define OBOE_SETTINGS_VERSION 1
|
115
|
+
#define OBOE_SETTINGS_MAGIC_NUMBER 0x6f626f65
|
116
|
+
#define OBOE_SETTINGS_TYPE_SKIP 0
|
117
|
+
#define OBOE_SETTINGS_TYPE_STOP 1
|
118
|
+
#define OBOE_SETTINGS_TYPE_DEFAULT_SAMPLE_RATE 2
|
119
|
+
#define OBOE_SETTINGS_TYPE_LAYER_SAMPLE_RATE 3
|
120
|
+
#define OBOE_SETTINGS_TYPE_LAYER_APP_SAMPLE_RATE 4
|
121
|
+
#define OBOE_SETTINGS_TYPE_LAYER_HTTPHOST_SAMPLE_RATE 5
|
122
|
+
#define OBOE_SETTINGS_TYPE_CONFIG_STRING 6
|
123
|
+
#define OBOE_SETTINGS_TYPE_CONFIG_INT 7
|
124
|
+
#define OBOE_SETTINGS_FLAG_OK 0x0
|
125
|
+
#define OBOE_SETTINGS_FLAG_INVALID 0x1
|
126
|
+
#define OBOE_SETTINGS_FLAG_OVERRIDE 0x2
|
127
|
+
#define OBOE_SETTINGS_FLAG_SAMPLE_START 0x4
|
128
|
+
#define OBOE_SETTINGS_FLAG_SAMPLE_THROUGH 0x8
|
129
|
+
#define OBOE_SETTINGS_FLAG_SAMPLE_THROUGH_ALWAYS 0x10
|
130
|
+
#define OBOE_SETTINGS_FLAG_SAMPLE_AVW_ALWAYS 0x20
|
131
|
+
#define OBOE_SETTINGS_MAX_STRLEN 256
|
132
|
+
|
133
|
+
#define OBOE_SETTINGS_UNSET -1
|
134
|
+
#define OBOE_SETTINGS_MIN_REFRESH_INTERVAL 30
|
135
|
+
|
136
|
+
// Value for "SampleSource" info key
|
137
|
+
// where was the sample rate specified? (oboe settings, config file, hard-coded default, etc)
|
138
|
+
#define OBOE_SAMPLE_RATE_SOURCE_FILE 1
|
139
|
+
#define OBOE_SAMPLE_RATE_SOURCE_DEFAULT 2
|
140
|
+
#define OBOE_SAMPLE_RATE_SOURCE_OBOE 3
|
141
|
+
#define OBOE_SAMPLE_RATE_SOURCE_LAST_OBOE 4
|
142
|
+
#define OBOE_SAMPLE_RATE_SOURCE_DEFAULT_MISCONFIGURED 5
|
143
|
+
#define OBOE_SAMPLE_RATE_SOURCE_OBOE_DEFAULT 6
|
144
|
+
|
145
|
+
#define OBOE_SAMPLE_RESOLUTION 1000000
|
146
|
+
|
147
|
+
// Used to convert to settings flags:
|
148
|
+
#define OBOE_TRACE_NEVER 0
|
149
|
+
#define OBOE_TRACE_ALWAYS 1
|
150
|
+
#define OBOE_TRACE_THROUGH 2
|
151
|
+
|
152
|
+
typedef struct {
|
153
|
+
volatile uint32_t magic;
|
154
|
+
volatile uint32_t timestamp;
|
155
|
+
volatile uint16_t type;
|
156
|
+
volatile uint16_t flags;
|
157
|
+
volatile uint32_t value;
|
158
|
+
uint32_t _pad;
|
159
|
+
char layer[OBOE_SETTINGS_MAX_STRLEN];
|
160
|
+
char arg[OBOE_SETTINGS_MAX_STRLEN];
|
161
|
+
} __attribute__((packed)) oboe_settings_t;
|
162
|
+
|
163
|
+
// Current settings configuration:
|
164
|
+
typedef struct {
|
165
|
+
int tracing_mode; // loaded from config file
|
166
|
+
int sample_rate; // loaded from config file
|
167
|
+
int default_sample_rate; // default sample rate (fallback)
|
168
|
+
oboe_settings_t *settings; // cached settings, updated by tracelyzer (init to NULL)
|
169
|
+
int last_auto_sample_rate; // stores last known automatic sampling rate
|
170
|
+
uint16_t last_auto_flags; // stores last known flags associated with above
|
171
|
+
uint32_t last_auto_timestamp; // timestamp from last *settings lookup
|
172
|
+
uint32_t last_refresh; // last refresh time
|
173
|
+
} oboe_settings_cfg_t;
|
174
|
+
|
175
|
+
oboe_settings_t* oboe_settings_get(uint16_t type, const char* layer, const char* arg);
|
176
|
+
oboe_settings_t* oboe_settings_get_layer_tracing_mode(const char* layer);
|
177
|
+
oboe_settings_t* oboe_settings_get_layer_sample_rate(const char* layer);
|
178
|
+
oboe_settings_t* oboe_settings_get_layer_app_sample_rate(const char* layer, const char* app);
|
179
|
+
uint32_t oboe_settings_get_latest_timestamp(const char* layer);
|
180
|
+
int oboe_settings_get_value(oboe_settings_t *s, int *outval, unsigned short *outflags, uint32_t *outtimestamp);
|
181
|
+
|
182
|
+
oboe_settings_cfg_t* oboe_settings_cfg_get();
|
183
|
+
void oboe_settings_cfg_init(oboe_settings_cfg_t *cfg);
|
184
|
+
void oboe_settings_cfg_tracing_mode_set(int new_mode);
|
185
|
+
void oboe_settings_cfg_sample_rate_set(int new_rate);
|
186
|
+
|
187
|
+
/**
|
188
|
+
* Check if this request should be sampled (deprecated - use oboe_sample_layer() instead).
|
189
|
+
*
|
190
|
+
* @param layer Layer name as used in oboe_settings_t.layer (may be NULL to use default settings)
|
191
|
+
* @param xtrace X-Trace ID string from an HTTP request or higher layer (NULL or empty string if not present).
|
192
|
+
* @param cfg The settings configuration to use for this evaluation.
|
193
|
+
* @param sample_rate_out The sample rate used to check if this request should be sampled
|
194
|
+
* (output - may be zero if not used).
|
195
|
+
* @param sample_source_out The OBOE_SAMPLE_RATE_SOURCE used to check if this request
|
196
|
+
* should be sampled (output - may be zero if not used).
|
197
|
+
* @return Non-zero if the given layer should be sampled.
|
198
|
+
*/
|
199
|
+
int oboe_sample_request(const char *layer, const char *in_xtrace, oboe_settings_cfg_t *cfg,
|
200
|
+
int *sample_rate_out, int *sample_source_out);
|
201
|
+
int oboe_rand_get_value();
|
202
|
+
|
203
|
+
/**
|
204
|
+
* Check if this request should be sampled.
|
205
|
+
*
|
206
|
+
* Checks for sample rate flags and settings for the specified layer, considers any
|
207
|
+
* special features in the X-Trace and X-TV-Meta HTTP headers, and, if appropriate,
|
208
|
+
* rolls the virtual dice to decide if this request should be sampled.
|
209
|
+
*
|
210
|
+
* This replaces oboe_sample_request with a version that uses the settings
|
211
|
+
* configuration kept in thread-local storage and takes the X-TV-Meta HTTP
|
212
|
+
* header value in order to support AppView Web integration.
|
213
|
+
*
|
214
|
+
* @param layer Layer name as used in oboe_settings_t.layer (may be NULL to use default settings)
|
215
|
+
* @param xtrace X-Trace ID string from an HTTP request or higher layer (NULL or empty string if not present).
|
216
|
+
* @param tv_meta AppView Web ID from X-TV-Meta HTTP header or higher layer (NULL or empty string if not present).
|
217
|
+
* @param sample_rate_out The sample rate used to check if this request should be sampled
|
218
|
+
* (output - may be zero if not used).
|
219
|
+
* @param sample_source_out The OBOE_SAMPLE_RATE_SOURCE used to check if this request
|
220
|
+
* should be sampled (output - may be zero if not used).
|
221
|
+
* @return Non-zero if the given layer should be sampled.
|
222
|
+
*/
|
223
|
+
int oboe_sample_layer(
|
224
|
+
const char *layer,
|
225
|
+
const char *xtrace,
|
226
|
+
const char *tv_meta,
|
227
|
+
int *sample_rate_out,
|
228
|
+
int *sample_source_out
|
229
|
+
);
|
230
|
+
|
231
|
+
/* Oboe configuration interface. */
|
232
|
+
|
233
|
+
/**
|
234
|
+
* Check if the Oboe library is compatible with a given version.revision.
|
235
|
+
*
|
236
|
+
* This will succeed if the library is at least as recent as specified and if no
|
237
|
+
* definitions have been removed since that revision.
|
238
|
+
*
|
239
|
+
* @param version The library's version number which increments every time the API changes.
|
240
|
+
* @param revision The revision of the current version of the library.
|
241
|
+
* @return Non-zero if the Oboe library is considered compatible with the specified revision.
|
242
|
+
*/
|
243
|
+
extern int oboe_config_check_version(int version, int revision);
|
244
|
+
|
245
|
+
/**
|
246
|
+
* Get the Oboe library version number.
|
247
|
+
*
|
248
|
+
* This number increments whenever the API is changed.
|
249
|
+
*
|
250
|
+
* @return The library's version number or -1 if the version is not known.
|
251
|
+
*/
|
252
|
+
extern int oboe_config_get_version();
|
253
|
+
|
254
|
+
/**
|
255
|
+
* Get the Oboe library revision number.
|
256
|
+
*
|
257
|
+
* This is the revision of the current version which is updated whenever
|
258
|
+
* compatible changes are made to the API/ABI (ie. additions).
|
259
|
+
*
|
260
|
+
* @return The library's revision number or -1 if not known.
|
261
|
+
*/
|
262
|
+
extern int oboe_config_get_revision();
|
263
|
+
|
264
|
+
/*
|
265
|
+
* Get the Oboe library version as a string.
|
266
|
+
*
|
267
|
+
* Returns the complete VERSION string or null
|
268
|
+
*/
|
269
|
+
const char* oboe_config_get_version_string();
|
270
|
+
|
271
|
+
#ifdef __cplusplus
|
272
|
+
} // extern "C"
|
273
|
+
#endif
|
274
|
+
|
275
|
+
#endif // LIBOBOE_H
|
data/ext/oboe_metal/src/oboe.hpp
CHANGED
@@ -1,16 +1,9 @@
|
|
1
|
-
// Copyright (c) 2012 by Tracelytics, Inc.
|
2
|
-
// All rights reserved.
|
3
|
-
|
4
1
|
#ifndef OBOE_HPP
|
5
2
|
#define OBOE_HPP
|
6
3
|
|
7
4
|
#include <string>
|
8
|
-
#include <oboe
|
5
|
+
#include <oboe.h>
|
9
6
|
|
10
|
-
// oboe prefix added in liboboe 1.0
|
11
|
-
#ifndef MAX_METADATA_PACK_LEN
|
12
|
-
#define MAX_METADATA_PACK_LEN OBOE_MAX_METADATA_PACK_LEN
|
13
|
-
#endif
|
14
7
|
|
15
8
|
class Event;
|
16
9
|
|
@@ -57,7 +50,7 @@ public:
|
|
57
50
|
#else
|
58
51
|
std::string toString() {
|
59
52
|
#endif
|
60
|
-
char buf[
|
53
|
+
char buf[OBOE_MAX_METADATA_PACK_LEN];
|
61
54
|
|
62
55
|
int rc = oboe_metadata_tostr(this, buf, sizeof(buf) - 1);
|
63
56
|
if (rc == 0) {
|
@@ -71,6 +64,55 @@ public:
|
|
71
64
|
|
72
65
|
class Context {
|
73
66
|
public:
|
67
|
+
/**
|
68
|
+
* Set the tracing mode.
|
69
|
+
*
|
70
|
+
* @param newMode One of
|
71
|
+
* - OBOE_TRACE_NEVER(0) to disable tracing,
|
72
|
+
* - OBOE_TRACE_ALWAYS(1) to start a new trace if needed, or
|
73
|
+
* - OBOE_TRACE_THROUGH(2) to only add to an existing trace.
|
74
|
+
*/
|
75
|
+
static void setTracingMode(int newMode) {
|
76
|
+
oboe_settings_cfg_tracing_mode_set(newMode);
|
77
|
+
}
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Set the default sample rate.
|
81
|
+
*
|
82
|
+
* This rate is used until overridden by the TraceView servers. If not set then the
|
83
|
+
* value 300,000 will be used (ie. 30%).
|
84
|
+
*
|
85
|
+
* The rate is interpreted as a ratio out of OBOE_SAMPLE_RESOLUTION (currently 1,000,000).
|
86
|
+
*
|
87
|
+
* @param newRate A number between 0 (none) and OBOE_SAMPLE_RESOLUTION (a million)
|
88
|
+
*/
|
89
|
+
static void setDefaultSampleRate(int newRate) {
|
90
|
+
oboe_settings_cfg_sample_rate_set(newRate);
|
91
|
+
}
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Check if the current request should be sampled based on settings.
|
95
|
+
*
|
96
|
+
* If in_xtrace is empty, then sampling will be considered as a new trace.
|
97
|
+
* Otherwise sampling will be considered as adding to the current trace.
|
98
|
+
* Different layers may have special rules.
|
99
|
+
*
|
100
|
+
* If a valid X-TV-Meta identifier is provided and AppView Web sample
|
101
|
+
* always is enabled then return true independent of the other conditions.
|
102
|
+
*
|
103
|
+
* @param layer Name of the layer being considered for tracing
|
104
|
+
* @param in_xtrace Incoming X-Trace ID (NULL or empty string if not present)
|
105
|
+
* @param in_tv_meta AppView Web ID from X-TV-Meta HTTP header or higher layer (NULL or empty string if not present).
|
106
|
+
* @return True if we should trace; otherwise false.
|
107
|
+
*/
|
108
|
+
static bool sampleRequest(
|
109
|
+
std::string layer,
|
110
|
+
std::string in_xtrace,
|
111
|
+
std::string in_tv_meta)
|
112
|
+
{
|
113
|
+
return (oboe_sample_layer(layer.c_str(), in_xtrace.c_str(), in_tv_meta.c_str(), NULL, NULL));
|
114
|
+
}
|
115
|
+
|
74
116
|
// returns pointer to current context (from thread-local storage)
|
75
117
|
static oboe_metadata_t *get() {
|
76
118
|
return oboe_context_get();
|
@@ -81,7 +123,7 @@ public:
|
|
81
123
|
#else
|
82
124
|
static std::string toString() {
|
83
125
|
#endif
|
84
|
-
char buf[
|
126
|
+
char buf[OBOE_MAX_METADATA_PACK_LEN];
|
85
127
|
|
86
128
|
oboe_metadata_t *md = Context::get();
|
87
129
|
int rc = oboe_metadata_tostr(md, buf, sizeof(buf) - 1);
|
@@ -152,6 +194,8 @@ public:
|
|
152
194
|
// called e.g. from Python e.addInfo("Key", None) & Ruby e.addInfo("Key", nil)
|
153
195
|
bool addInfo(char *key, void* val) {
|
154
196
|
// oboe_event_add_info(evt, key, NULL) does nothing
|
197
|
+
(void) key;
|
198
|
+
(void) val;
|
155
199
|
return true;
|
156
200
|
}
|
157
201
|
|
@@ -176,12 +220,16 @@ public:
|
|
176
220
|
return oboe_event_add_edge(this, md) == 0;
|
177
221
|
}
|
178
222
|
|
223
|
+
bool addEdgeStr(const std::string& val) {
|
224
|
+
return oboe_event_add_edge_fromstr(this, val.c_str(), val.size()) == 0;
|
225
|
+
}
|
226
|
+
|
179
227
|
Metadata* getMetadata() {
|
180
228
|
return new Metadata(&this->metadata);
|
181
229
|
}
|
182
230
|
|
183
231
|
std::string metadataString() {
|
184
|
-
char buf[
|
232
|
+
char buf[OBOE_MAX_METADATA_PACK_LEN];
|
185
233
|
|
186
234
|
int rc = oboe_metadata_tostr(&this->metadata, buf, sizeof(buf) - 1);
|
187
235
|
if (rc == 0) {
|
@@ -253,4 +301,46 @@ public:
|
|
253
301
|
return oboe_reporter_send(this, md, evt) >= 0;
|
254
302
|
}
|
255
303
|
};
|
304
|
+
|
305
|
+
|
306
|
+
class Config {
|
307
|
+
public:
|
308
|
+
/**
|
309
|
+
* Check if the Oboe library is compatible with a given version.revision.
|
310
|
+
*
|
311
|
+
* This will succeed if the library is at least as recent as specified and if no
|
312
|
+
* definitions have been removed since that revision.
|
313
|
+
*
|
314
|
+
* @param version The library's version number which increments every time the API changes.
|
315
|
+
* @param revision The revision of the current version of the library.
|
316
|
+
* @return Non-zero if the Oboe library is considered compatible with the specified revision.
|
317
|
+
*/
|
318
|
+
static bool checkVersion(int version, int revision) {
|
319
|
+
return (oboe_config_check_version(version, revision) != 0);
|
320
|
+
}
|
321
|
+
|
322
|
+
/**
|
323
|
+
* Get the Oboe library version number.
|
324
|
+
*
|
325
|
+
* This number increments whenever an incompatible change to the API/ABI is made.
|
326
|
+
*
|
327
|
+
* @return The library's version number or -1 if the version is not known.
|
328
|
+
*/
|
329
|
+
static int getVersion() {
|
330
|
+
return oboe_config_get_version();
|
331
|
+
}
|
332
|
+
|
333
|
+
/**
|
334
|
+
* Get the Oboe library revision number.
|
335
|
+
*
|
336
|
+
* This number increments whenever a compatible change is made to the
|
337
|
+
* API/ABI (ie. an addition).
|
338
|
+
*
|
339
|
+
* @return The library's revision number or -1 if not known.
|
340
|
+
*/
|
341
|
+
static int getRevision() {
|
342
|
+
return oboe_config_get_revision();
|
343
|
+
}
|
344
|
+
};
|
345
|
+
|
256
346
|
#endif
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version 2.0.
|
3
|
+
* Version 2.0.4
|
4
4
|
*
|
5
5
|
* This file is not intended to be easily readable and contains a number of
|
6
6
|
* coding conventions designed to improve portability and efficiency. Do not make
|
@@ -1552,7 +1552,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
|
|
1552
1552
|
downcast methods. */
|
1553
1553
|
if (obj != Qnil) {
|
1554
1554
|
VALUE value = rb_iv_get(obj, "@__swigtype__");
|
1555
|
-
|
1555
|
+
char* type_name = RSTRING_PTR(value);
|
1556
1556
|
|
1557
1557
|
if (strcmp(type->name, type_name) == 0) {
|
1558
1558
|
return obj;
|
@@ -1813,15 +1813,16 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
|
|
1813
1813
|
|
1814
1814
|
/* -------- TYPES TABLE (BEGIN) -------- */
|
1815
1815
|
|
1816
|
-
#define
|
1817
|
-
#define
|
1818
|
-
#define
|
1819
|
-
#define
|
1820
|
-
#define
|
1821
|
-
#define
|
1822
|
-
#define
|
1823
|
-
|
1824
|
-
static
|
1816
|
+
#define SWIGTYPE_p_Config swig_types[0]
|
1817
|
+
#define SWIGTYPE_p_Context swig_types[1]
|
1818
|
+
#define SWIGTYPE_p_Event swig_types[2]
|
1819
|
+
#define SWIGTYPE_p_FileReporter swig_types[3]
|
1820
|
+
#define SWIGTYPE_p_Metadata swig_types[4]
|
1821
|
+
#define SWIGTYPE_p_UdpReporter swig_types[5]
|
1822
|
+
#define SWIGTYPE_p_char swig_types[6]
|
1823
|
+
#define SWIGTYPE_p_oboe_metadata_t swig_types[7]
|
1824
|
+
static swig_type_info *swig_types[9];
|
1825
|
+
static swig_module_info swig_module = {swig_types, 8, 0, 0, 0, 0};
|
1825
1826
|
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
|
1826
1827
|
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
|
1827
1828
|
|
@@ -1836,7 +1837,7 @@ static VALUE mOboe_metal;
|
|
1836
1837
|
#define SWIG_RUBY_THREAD_END_BLOCK
|
1837
1838
|
|
1838
1839
|
|
1839
|
-
#define SWIGVERSION
|
1840
|
+
#define SWIGVERSION 0x020004
|
1840
1841
|
#define SWIG_VERSION SWIGVERSION
|
1841
1842
|
|
1842
1843
|
|
@@ -1966,7 +1967,14 @@ SWIG_From_std_string (const std::string& s)
|
|
1966
1967
|
}
|
1967
1968
|
|
1968
1969
|
|
1969
|
-
|
1970
|
+
#include <limits.h>
|
1971
|
+
#if !defined(SWIG_NO_LLONG_MAX)
|
1972
|
+
# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
|
1973
|
+
# define LLONG_MAX __LONG_LONG_MAX__
|
1974
|
+
# define LLONG_MIN (-LLONG_MAX - 1LL)
|
1975
|
+
# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
|
1976
|
+
# endif
|
1977
|
+
#endif
|
1970
1978
|
|
1971
1979
|
|
1972
1980
|
SWIGINTERN VALUE
|
@@ -1976,7 +1984,7 @@ SWIG_ruby_failed(void)
|
|
1976
1984
|
}
|
1977
1985
|
|
1978
1986
|
|
1979
|
-
/*@SWIG:/usr/
|
1987
|
+
/*@SWIG:/usr/share/swig2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
1980
1988
|
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
|
1981
1989
|
{
|
1982
1990
|
VALUE obj = args[0];
|
@@ -2005,7 +2013,26 @@ SWIG_AsVal_long (VALUE obj, long* val)
|
|
2005
2013
|
}
|
2006
2014
|
|
2007
2015
|
|
2008
|
-
|
2016
|
+
SWIGINTERN int
|
2017
|
+
SWIG_AsVal_int (VALUE obj, int *val)
|
2018
|
+
{
|
2019
|
+
long v;
|
2020
|
+
int res = SWIG_AsVal_long (obj, &v);
|
2021
|
+
if (SWIG_IsOK(res)) {
|
2022
|
+
if ((v < INT_MIN || v > INT_MAX)) {
|
2023
|
+
return SWIG_OverflowError;
|
2024
|
+
} else {
|
2025
|
+
if (val) *val = static_cast< int >(v);
|
2026
|
+
}
|
2027
|
+
}
|
2028
|
+
return res;
|
2029
|
+
}
|
2030
|
+
|
2031
|
+
|
2032
|
+
|
2033
|
+
|
2034
|
+
|
2035
|
+
/*@SWIG:/usr/share/swig2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2009
2036
|
SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE *args)
|
2010
2037
|
{
|
2011
2038
|
VALUE obj = args[0];
|
@@ -2033,7 +2060,17 @@ SWIG_AsVal_double (VALUE obj, double *val)
|
|
2033
2060
|
return SWIG_TypeError;
|
2034
2061
|
}
|
2035
2062
|
|
2036
|
-
|
2063
|
+
|
2064
|
+
#define SWIG_From_long LONG2NUM
|
2065
|
+
|
2066
|
+
|
2067
|
+
SWIGINTERNINLINE VALUE
|
2068
|
+
SWIG_From_int (int value)
|
2069
|
+
{
|
2070
|
+
return SWIG_From_long (value);
|
2071
|
+
}
|
2072
|
+
|
2073
|
+
swig_class SwigClassMetadata;
|
2037
2074
|
|
2038
2075
|
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
2039
2076
|
SWIGINTERN VALUE
|
@@ -2099,7 +2136,7 @@ _wrap_Metadata_fromString(int argc, VALUE *argv, VALUE self) {
|
|
2099
2136
|
if (SWIG_IsNewObj(res)) delete ptr;
|
2100
2137
|
}
|
2101
2138
|
result = (Metadata *)Metadata::fromString(arg1);
|
2102
|
-
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Metadata,
|
2139
|
+
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Metadata, SWIG_POINTER_OWN | 0 );
|
2103
2140
|
return vresult;
|
2104
2141
|
fail:
|
2105
2142
|
return Qnil;
|
@@ -2218,7 +2255,95 @@ fail:
|
|
2218
2255
|
}
|
2219
2256
|
|
2220
2257
|
|
2221
|
-
|
2258
|
+
swig_class SwigClassContext;
|
2259
|
+
|
2260
|
+
SWIGINTERN VALUE
|
2261
|
+
_wrap_Context_setTracingMode(int argc, VALUE *argv, VALUE self) {
|
2262
|
+
int arg1 ;
|
2263
|
+
int val1 ;
|
2264
|
+
int ecode1 = 0 ;
|
2265
|
+
|
2266
|
+
if ((argc < 1) || (argc > 1)) {
|
2267
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
|
2268
|
+
}
|
2269
|
+
ecode1 = SWIG_AsVal_int(argv[0], &val1);
|
2270
|
+
if (!SWIG_IsOK(ecode1)) {
|
2271
|
+
SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","Context::setTracingMode", 1, argv[0] ));
|
2272
|
+
}
|
2273
|
+
arg1 = static_cast< int >(val1);
|
2274
|
+
Context::setTracingMode(arg1);
|
2275
|
+
return Qnil;
|
2276
|
+
fail:
|
2277
|
+
return Qnil;
|
2278
|
+
}
|
2279
|
+
|
2280
|
+
|
2281
|
+
SWIGINTERN VALUE
|
2282
|
+
_wrap_Context_setDefaultSampleRate(int argc, VALUE *argv, VALUE self) {
|
2283
|
+
int arg1 ;
|
2284
|
+
int val1 ;
|
2285
|
+
int ecode1 = 0 ;
|
2286
|
+
|
2287
|
+
if ((argc < 1) || (argc > 1)) {
|
2288
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
|
2289
|
+
}
|
2290
|
+
ecode1 = SWIG_AsVal_int(argv[0], &val1);
|
2291
|
+
if (!SWIG_IsOK(ecode1)) {
|
2292
|
+
SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","Context::setDefaultSampleRate", 1, argv[0] ));
|
2293
|
+
}
|
2294
|
+
arg1 = static_cast< int >(val1);
|
2295
|
+
Context::setDefaultSampleRate(arg1);
|
2296
|
+
return Qnil;
|
2297
|
+
fail:
|
2298
|
+
return Qnil;
|
2299
|
+
}
|
2300
|
+
|
2301
|
+
|
2302
|
+
SWIGINTERN VALUE
|
2303
|
+
_wrap_Context_sampleRequest(int argc, VALUE *argv, VALUE self) {
|
2304
|
+
std::string arg1 ;
|
2305
|
+
std::string arg2 ;
|
2306
|
+
std::string arg3 ;
|
2307
|
+
bool result;
|
2308
|
+
VALUE vresult = Qnil;
|
2309
|
+
|
2310
|
+
if ((argc < 3) || (argc > 3)) {
|
2311
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
|
2312
|
+
}
|
2313
|
+
{
|
2314
|
+
std::string *ptr = (std::string *)0;
|
2315
|
+
int res = SWIG_AsPtr_std_string(argv[0], &ptr);
|
2316
|
+
if (!SWIG_IsOK(res) || !ptr) {
|
2317
|
+
SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), Ruby_Format_TypeError( "", "std::string","Context::sampleRequest", 1, argv[0] ));
|
2318
|
+
}
|
2319
|
+
arg1 = *ptr;
|
2320
|
+
if (SWIG_IsNewObj(res)) delete ptr;
|
2321
|
+
}
|
2322
|
+
{
|
2323
|
+
std::string *ptr = (std::string *)0;
|
2324
|
+
int res = SWIG_AsPtr_std_string(argv[1], &ptr);
|
2325
|
+
if (!SWIG_IsOK(res) || !ptr) {
|
2326
|
+
SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), Ruby_Format_TypeError( "", "std::string","Context::sampleRequest", 2, argv[1] ));
|
2327
|
+
}
|
2328
|
+
arg2 = *ptr;
|
2329
|
+
if (SWIG_IsNewObj(res)) delete ptr;
|
2330
|
+
}
|
2331
|
+
{
|
2332
|
+
std::string *ptr = (std::string *)0;
|
2333
|
+
int res = SWIG_AsPtr_std_string(argv[2], &ptr);
|
2334
|
+
if (!SWIG_IsOK(res) || !ptr) {
|
2335
|
+
SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), Ruby_Format_TypeError( "", "std::string","Context::sampleRequest", 3, argv[2] ));
|
2336
|
+
}
|
2337
|
+
arg3 = *ptr;
|
2338
|
+
if (SWIG_IsNewObj(res)) delete ptr;
|
2339
|
+
}
|
2340
|
+
result = (bool)Context::sampleRequest(arg1,arg2,arg3);
|
2341
|
+
vresult = SWIG_From_bool(static_cast< bool >(result));
|
2342
|
+
return vresult;
|
2343
|
+
fail:
|
2344
|
+
return Qnil;
|
2345
|
+
}
|
2346
|
+
|
2222
2347
|
|
2223
2348
|
SWIGINTERN VALUE
|
2224
2349
|
_wrap_Context_get(int argc, VALUE *argv, VALUE self) {
|
@@ -2421,7 +2546,7 @@ free_Context(Context *arg1) {
|
|
2421
2546
|
delete arg1;
|
2422
2547
|
}
|
2423
2548
|
|
2424
|
-
|
2549
|
+
swig_class SwigClassEvent;
|
2425
2550
|
|
2426
2551
|
SWIGINTERN void
|
2427
2552
|
free_Event(Event *arg1) {
|
@@ -2733,6 +2858,45 @@ fail:
|
|
2733
2858
|
}
|
2734
2859
|
|
2735
2860
|
|
2861
|
+
SWIGINTERN VALUE
|
2862
|
+
_wrap_Event_addEdgeStr(int argc, VALUE *argv, VALUE self) {
|
2863
|
+
Event *arg1 = (Event *) 0 ;
|
2864
|
+
std::string *arg2 = 0 ;
|
2865
|
+
void *argp1 = 0 ;
|
2866
|
+
int res1 = 0 ;
|
2867
|
+
int res2 = SWIG_OLDOBJ ;
|
2868
|
+
bool result;
|
2869
|
+
VALUE vresult = Qnil;
|
2870
|
+
|
2871
|
+
if ((argc < 1) || (argc > 1)) {
|
2872
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
|
2873
|
+
}
|
2874
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Event, 0 | 0 );
|
2875
|
+
if (!SWIG_IsOK(res1)) {
|
2876
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Event *","addEdgeStr", 1, self ));
|
2877
|
+
}
|
2878
|
+
arg1 = reinterpret_cast< Event * >(argp1);
|
2879
|
+
{
|
2880
|
+
std::string *ptr = (std::string *)0;
|
2881
|
+
res2 = SWIG_AsPtr_std_string(argv[0], &ptr);
|
2882
|
+
if (!SWIG_IsOK(res2)) {
|
2883
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "std::string const &","addEdgeStr", 2, argv[0] ));
|
2884
|
+
}
|
2885
|
+
if (!ptr) {
|
2886
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","addEdgeStr", 2, argv[0]));
|
2887
|
+
}
|
2888
|
+
arg2 = ptr;
|
2889
|
+
}
|
2890
|
+
result = (bool)(arg1)->addEdgeStr((std::string const &)*arg2);
|
2891
|
+
vresult = SWIG_From_bool(static_cast< bool >(result));
|
2892
|
+
if (SWIG_IsNewObj(res2)) delete arg2;
|
2893
|
+
return vresult;
|
2894
|
+
fail:
|
2895
|
+
if (SWIG_IsNewObj(res2)) delete arg2;
|
2896
|
+
return Qnil;
|
2897
|
+
}
|
2898
|
+
|
2899
|
+
|
2736
2900
|
SWIGINTERN VALUE
|
2737
2901
|
_wrap_Event_getMetadata(int argc, VALUE *argv, VALUE self) {
|
2738
2902
|
Event *arg1 = (Event *) 0 ;
|
@@ -2798,14 +2962,14 @@ _wrap_Event_startTrace(int argc, VALUE *argv, VALUE self) {
|
|
2798
2962
|
}
|
2799
2963
|
arg1 = reinterpret_cast< oboe_metadata_t * >(argp1);
|
2800
2964
|
result = (Event *)Event::startTrace((oboe_metadata_t const *)arg1);
|
2801
|
-
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event,
|
2965
|
+
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_OWN | 0 );
|
2802
2966
|
return vresult;
|
2803
2967
|
fail:
|
2804
2968
|
return Qnil;
|
2805
2969
|
}
|
2806
2970
|
|
2807
2971
|
|
2808
|
-
|
2972
|
+
swig_class SwigClassUdpReporter;
|
2809
2973
|
|
2810
2974
|
SWIGINTERN VALUE
|
2811
2975
|
_wrap_new_UdpReporter__SWIG_0(int argc, VALUE *argv, VALUE self) {
|
@@ -3058,7 +3222,7 @@ fail:
|
|
3058
3222
|
}
|
3059
3223
|
|
3060
3224
|
|
3061
|
-
|
3225
|
+
swig_class SwigClassFileReporter;
|
3062
3226
|
|
3063
3227
|
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
3064
3228
|
SWIGINTERN VALUE
|
@@ -3234,12 +3398,116 @@ fail:
|
|
3234
3398
|
}
|
3235
3399
|
|
3236
3400
|
|
3401
|
+
swig_class SwigClassConfig;
|
3402
|
+
|
3403
|
+
SWIGINTERN VALUE
|
3404
|
+
_wrap_Config_checkVersion(int argc, VALUE *argv, VALUE self) {
|
3405
|
+
int arg1 ;
|
3406
|
+
int arg2 ;
|
3407
|
+
int val1 ;
|
3408
|
+
int ecode1 = 0 ;
|
3409
|
+
int val2 ;
|
3410
|
+
int ecode2 = 0 ;
|
3411
|
+
bool result;
|
3412
|
+
VALUE vresult = Qnil;
|
3413
|
+
|
3414
|
+
if ((argc < 2) || (argc > 2)) {
|
3415
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
|
3416
|
+
}
|
3417
|
+
ecode1 = SWIG_AsVal_int(argv[0], &val1);
|
3418
|
+
if (!SWIG_IsOK(ecode1)) {
|
3419
|
+
SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","Config::checkVersion", 1, argv[0] ));
|
3420
|
+
}
|
3421
|
+
arg1 = static_cast< int >(val1);
|
3422
|
+
ecode2 = SWIG_AsVal_int(argv[1], &val2);
|
3423
|
+
if (!SWIG_IsOK(ecode2)) {
|
3424
|
+
SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","Config::checkVersion", 2, argv[1] ));
|
3425
|
+
}
|
3426
|
+
arg2 = static_cast< int >(val2);
|
3427
|
+
result = (bool)Config::checkVersion(arg1,arg2);
|
3428
|
+
vresult = SWIG_From_bool(static_cast< bool >(result));
|
3429
|
+
return vresult;
|
3430
|
+
fail:
|
3431
|
+
return Qnil;
|
3432
|
+
}
|
3433
|
+
|
3434
|
+
|
3435
|
+
SWIGINTERN VALUE
|
3436
|
+
_wrap_Config_getVersion(int argc, VALUE *argv, VALUE self) {
|
3437
|
+
int result;
|
3438
|
+
VALUE vresult = Qnil;
|
3439
|
+
|
3440
|
+
if ((argc < 0) || (argc > 0)) {
|
3441
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
3442
|
+
}
|
3443
|
+
result = (int)Config::getVersion();
|
3444
|
+
vresult = SWIG_From_int(static_cast< int >(result));
|
3445
|
+
return vresult;
|
3446
|
+
fail:
|
3447
|
+
return Qnil;
|
3448
|
+
}
|
3449
|
+
|
3450
|
+
|
3451
|
+
SWIGINTERN VALUE
|
3452
|
+
_wrap_Config_getRevision(int argc, VALUE *argv, VALUE self) {
|
3453
|
+
int result;
|
3454
|
+
VALUE vresult = Qnil;
|
3455
|
+
|
3456
|
+
if ((argc < 0) || (argc > 0)) {
|
3457
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
3458
|
+
}
|
3459
|
+
result = (int)Config::getRevision();
|
3460
|
+
vresult = SWIG_From_int(static_cast< int >(result));
|
3461
|
+
return vresult;
|
3462
|
+
fail:
|
3463
|
+
return Qnil;
|
3464
|
+
}
|
3465
|
+
|
3466
|
+
|
3467
|
+
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
3468
|
+
SWIGINTERN VALUE
|
3469
|
+
_wrap_Config_allocate(VALUE self) {
|
3470
|
+
#else
|
3471
|
+
SWIGINTERN VALUE
|
3472
|
+
_wrap_Config_allocate(int argc, VALUE *argv, VALUE self) {
|
3473
|
+
#endif
|
3474
|
+
|
3475
|
+
|
3476
|
+
VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_Config);
|
3477
|
+
#ifndef HAVE_RB_DEFINE_ALLOC_FUNC
|
3478
|
+
rb_obj_call_init(vresult, argc, argv);
|
3479
|
+
#endif
|
3480
|
+
return vresult;
|
3481
|
+
}
|
3482
|
+
|
3483
|
+
|
3484
|
+
SWIGINTERN VALUE
|
3485
|
+
_wrap_new_Config(int argc, VALUE *argv, VALUE self) {
|
3486
|
+
Config *result = 0 ;
|
3487
|
+
|
3488
|
+
if ((argc < 0) || (argc > 0)) {
|
3489
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
3490
|
+
}
|
3491
|
+
result = (Config *)new Config();
|
3492
|
+
DATA_PTR(self) = result;
|
3493
|
+
return self;
|
3494
|
+
fail:
|
3495
|
+
return Qnil;
|
3496
|
+
}
|
3497
|
+
|
3498
|
+
|
3499
|
+
SWIGINTERN void
|
3500
|
+
free_Config(Config *arg1) {
|
3501
|
+
delete arg1;
|
3502
|
+
}
|
3503
|
+
|
3237
3504
|
|
3238
3505
|
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
|
3239
3506
|
|
3240
3507
|
static void *_p_MetadataTo_p_oboe_metadata_t(void *x, int *SWIGUNUSEDPARM(newmemory)) {
|
3241
3508
|
return (void *)((oboe_metadata_t *) ((Metadata *) x));
|
3242
3509
|
}
|
3510
|
+
static swig_type_info _swigt__p_Config = {"_p_Config", "Config *", 0, 0, (void*)0, 0};
|
3243
3511
|
static swig_type_info _swigt__p_Context = {"_p_Context", "Context *", 0, 0, (void*)0, 0};
|
3244
3512
|
static swig_type_info _swigt__p_Event = {"_p_Event", "Event *", 0, 0, (void*)0, 0};
|
3245
3513
|
static swig_type_info _swigt__p_FileReporter = {"_p_FileReporter", "FileReporter *", 0, 0, (void*)0, 0};
|
@@ -3249,6 +3517,7 @@ static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
|
|
3249
3517
|
static swig_type_info _swigt__p_oboe_metadata_t = {"_p_oboe_metadata_t", "oboe_metadata_t *", 0, 0, (void*)0, 0};
|
3250
3518
|
|
3251
3519
|
static swig_type_info *swig_type_initial[] = {
|
3520
|
+
&_swigt__p_Config,
|
3252
3521
|
&_swigt__p_Context,
|
3253
3522
|
&_swigt__p_Event,
|
3254
3523
|
&_swigt__p_FileReporter,
|
@@ -3258,6 +3527,7 @@ static swig_type_info *swig_type_initial[] = {
|
|
3258
3527
|
&_swigt__p_oboe_metadata_t,
|
3259
3528
|
};
|
3260
3529
|
|
3530
|
+
static swig_cast_info _swigc__p_Config[] = { {&_swigt__p_Config, 0, 0, 0},{0, 0, 0, 0}};
|
3261
3531
|
static swig_cast_info _swigc__p_Context[] = { {&_swigt__p_Context, 0, 0, 0},{0, 0, 0, 0}};
|
3262
3532
|
static swig_cast_info _swigc__p_Event[] = { {&_swigt__p_Event, 0, 0, 0},{0, 0, 0, 0}};
|
3263
3533
|
static swig_cast_info _swigc__p_FileReporter[] = { {&_swigt__p_FileReporter, 0, 0, 0},{0, 0, 0, 0}};
|
@@ -3267,6 +3537,7 @@ static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0,
|
|
3267
3537
|
static swig_cast_info _swigc__p_oboe_metadata_t[] = { {&_swigt__p_Metadata, _p_MetadataTo_p_oboe_metadata_t, 0, 0}, {&_swigt__p_oboe_metadata_t, 0, 0, 0},{0, 0, 0, 0}};
|
3268
3538
|
|
3269
3539
|
static swig_cast_info *swig_cast_initial[] = {
|
3540
|
+
_swigc__p_Config,
|
3270
3541
|
_swigc__p_Context,
|
3271
3542
|
_swigc__p_Event,
|
3272
3543
|
_swigc__p_FileReporter,
|
@@ -3337,7 +3608,8 @@ SWIG_InitializeModule(void *clientdata) {
|
|
3337
3608
|
size_t i;
|
3338
3609
|
swig_module_info *module_head, *iter;
|
3339
3610
|
int found, init;
|
3340
|
-
|
3611
|
+
|
3612
|
+
clientdata = clientdata;
|
3341
3613
|
|
3342
3614
|
/* check to see if the circular list has been setup, if not, set it up */
|
3343
3615
|
if (swig_module.next==0) {
|
@@ -3552,6 +3824,9 @@ SWIGEXPORT void Init_oboe_metal(void) {
|
|
3552
3824
|
SWIG_TypeClientData(SWIGTYPE_p_Context, (void *) &SwigClassContext);
|
3553
3825
|
rb_define_alloc_func(SwigClassContext.klass, _wrap_Context_allocate);
|
3554
3826
|
rb_define_method(SwigClassContext.klass, "initialize", VALUEFUNC(_wrap_new_Context), -1);
|
3827
|
+
rb_define_singleton_method(SwigClassContext.klass, "setTracingMode", VALUEFUNC(_wrap_Context_setTracingMode), -1);
|
3828
|
+
rb_define_singleton_method(SwigClassContext.klass, "setDefaultSampleRate", VALUEFUNC(_wrap_Context_setDefaultSampleRate), -1);
|
3829
|
+
rb_define_singleton_method(SwigClassContext.klass, "sampleRequest", VALUEFUNC(_wrap_Context_sampleRequest), -1);
|
3555
3830
|
rb_define_singleton_method(SwigClassContext.klass, "get", VALUEFUNC(_wrap_Context_get), -1);
|
3556
3831
|
rb_define_singleton_method(SwigClassContext.klass, "toString", VALUEFUNC(_wrap_Context_toString), -1);
|
3557
3832
|
rb_define_singleton_method(SwigClassContext.klass, "set", VALUEFUNC(_wrap_Context_set), -1);
|
@@ -3571,6 +3846,7 @@ SWIGEXPORT void Init_oboe_metal(void) {
|
|
3571
3846
|
rb_undef_alloc_func(SwigClassEvent.klass);
|
3572
3847
|
rb_define_method(SwigClassEvent.klass, "addInfo", VALUEFUNC(_wrap_Event_addInfo), -1);
|
3573
3848
|
rb_define_method(SwigClassEvent.klass, "addEdge", VALUEFUNC(_wrap_Event_addEdge), -1);
|
3849
|
+
rb_define_method(SwigClassEvent.klass, "addEdgeStr", VALUEFUNC(_wrap_Event_addEdgeStr), -1);
|
3574
3850
|
rb_define_method(SwigClassEvent.klass, "getMetadata", VALUEFUNC(_wrap_Event_getMetadata), -1);
|
3575
3851
|
rb_define_method(SwigClassEvent.klass, "metadataString", VALUEFUNC(_wrap_Event_metadataString), -1);
|
3576
3852
|
rb_define_singleton_method(SwigClassEvent.klass, "startTrace", VALUEFUNC(_wrap_Event_startTrace), -1);
|
@@ -3595,5 +3871,16 @@ SWIGEXPORT void Init_oboe_metal(void) {
|
|
3595
3871
|
SwigClassFileReporter.mark = 0;
|
3596
3872
|
SwigClassFileReporter.destroy = (void (*)(void *)) free_FileReporter;
|
3597
3873
|
SwigClassFileReporter.trackObjects = 0;
|
3874
|
+
|
3875
|
+
SwigClassConfig.klass = rb_define_class_under(mOboe_metal, "Config", rb_cObject);
|
3876
|
+
SWIG_TypeClientData(SWIGTYPE_p_Config, (void *) &SwigClassConfig);
|
3877
|
+
rb_define_alloc_func(SwigClassConfig.klass, _wrap_Config_allocate);
|
3878
|
+
rb_define_method(SwigClassConfig.klass, "initialize", VALUEFUNC(_wrap_new_Config), -1);
|
3879
|
+
rb_define_singleton_method(SwigClassConfig.klass, "checkVersion", VALUEFUNC(_wrap_Config_checkVersion), -1);
|
3880
|
+
rb_define_singleton_method(SwigClassConfig.klass, "getVersion", VALUEFUNC(_wrap_Config_getVersion), -1);
|
3881
|
+
rb_define_singleton_method(SwigClassConfig.klass, "getRevision", VALUEFUNC(_wrap_Config_getRevision), -1);
|
3882
|
+
SwigClassConfig.mark = 0;
|
3883
|
+
SwigClassConfig.destroy = (void (*)(void *)) free_Config;
|
3884
|
+
SwigClassConfig.trackObjects = 0;
|
3598
3885
|
}
|
3599
3886
|
|