solarwinds_apm 5.1.7 → 5.1.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cdd15fde05af7219d90e153f0acb28c0f075c08ad40be2d40c23b39a5c73bed3
4
- data.tar.gz: b8d021ae71f3080d68b0990a062d7d5ec36bc8df91a07bf51ff43acbb7d8b94b
3
+ metadata.gz: 0e79b789228d9d0885289c825d1ae712bab1d9450334f6b27fd72e19763b436a
4
+ data.tar.gz: 62ec2e7f017cfa2824d269d7db3a3330d9c5c5555424552f8c289f1401caa60d
5
5
  SHA512:
6
- metadata.gz: 3237df27aa4fa104f65d3b65915ae6b4a5b3fb50923658249c083ccc6a633a1da665786407aaee0e7711a9e19416ee1df14594c3257cfdc00fe3018e3f99e244
7
- data.tar.gz: e70bc08cee67c45fcaa0fbcbb22efb74d4e7752f28b017f1f6c1067cdf9a4785b189972d3f6dfce227c36fee418b28dbaa11e9608d7733762895182d118701c9
6
+ metadata.gz: 210f5a2c53d302666b12a3afff04481bf3ea094f509b6275aedf5825cdce721d45dcd5dfd170b2c1ab484ef01c9e5bc098235213a066d0cb860caa99c9fbf00b
7
+ data.tar.gz: 49280e85e07e7523c67b0bb848d71c9160c01c4861fffcccd526af7be436ca709fb31e9995f5326cf497ceffa1622244fc98ba5bba1c601fcf2e5687a49b7d01
data/CHANGELOG.md CHANGED
@@ -3,6 +3,26 @@ https://github.com/solarwindscloud/solarwinds-apm-ruby/releases
3
3
 
4
4
  Dates in this file are in the format MM/DD/YYYY.
5
5
 
6
+ # solarwinds_apm 5.1.9 (05/025/2023)
7
+
8
+ This release includes the following features:
9
+
10
+ * Update latest liboboe library (12.3.0)
11
+
12
+ Pushed to Rubygems:
13
+
14
+ https://rubygems.org/gems/solarwinds_apm/versions/5.1.9
15
+
16
+ # solarwinds_apm 5.1.8 (05/09/2023)
17
+
18
+ This release includes the following features:
19
+
20
+ * Update latest liboboe library (12.2.0)
21
+
22
+ Pushed to Rubygems:
23
+
24
+ https://rubygems.org/gems/solarwinds_apm/versions/5.1.8
25
+
6
26
  # solarwinds_apm 5.1.7 (03/14/2023)
7
27
 
8
28
  This release includes the following features:
@@ -1 +1 @@
1
- 1cfc73a5f69a92b2abdfe973e52dcd4650fb0d224827e38dd3630c817feff0b5
1
+ 5403faf71b2d26bf2a0fd32d159f10b920d5fdafc0aef4b335e5e272d22c1b70
@@ -1 +1 @@
1
- 46e70e34f873a596e5c76f2914ea6292716dac8ff3ed5020e6599fc60dfe19d3
1
+ 78964dc06204715aa29a8ff47b259984ae476ab72f3d0d983e2ef1c52ef70d6a
@@ -1 +1 @@
1
- ee8eb315b1271d0586bf232e7e1a8ab28af43be3861341866fc945f3cd7c1d5c
1
+ 97c82835d4dbf1130b33a1c75a3c5d9923b1b5c5224e19db9902288c29d128c5
@@ -1 +1 @@
1
- e7287ff06e3ba3879838f0b460b85d8f4d2d82f1e0f36d95a4235cf42c56d36f
1
+ 6c04a460825bf130caa83433ad0aa01b56f4c5a4ca891df3ffa516db8dc9486a
@@ -1,2 +1,2 @@
1
- 12.1.0
1
+ 12.3.0
2
2
 
@@ -1,14 +1,10 @@
1
1
  /**
2
2
  * @file oboe_api.cpp - C++ liboboe wrapper primarily used via swig interfaces
3
3
  * by the python and ruby agents
4
- *
5
- * TODO: This doc is outdated
6
- * This API should follow https://github.com/tracelytics/tracelons/wiki/Instrumentation-API
7
- **/
4
+ */
8
5
 
9
6
  #include "oboe_api.h"
10
7
  #include <algorithm>
11
- /////// Metatdata ///////
12
8
 
13
9
  Metadata::Metadata(const oboe_metadata_t *md) {
14
10
  oboe_metadata_copy(this, md);
@@ -40,7 +36,7 @@ bool Metadata::isSampled() {
40
36
  return oboe_metadata_is_sampled(this);
41
37
  }
42
38
 
43
- Metadata *Metadata::fromString(std::string s) {
39
+ Metadata *Metadata::fromString(const std::string& s) {
44
40
  oboe_metadata_t md;
45
41
  oboe_metadata_init(&md);
46
42
  oboe_metadata_fromstr(&md, s.data(), s.size());
@@ -175,7 +171,7 @@ void Context::set(oboe_metadata_t *md) {
175
171
  oboe_context_set(md);
176
172
  }
177
173
 
178
- void Context::fromString(std::string s) {
174
+ void Context::fromString(const std::string& s) {
179
175
  oboe_context_set_fromstr(s.data(), s.size());
180
176
  }
181
177
 
@@ -201,7 +197,7 @@ bool Context::isSampled() {
201
197
  return oboe_context_is_sampled();
202
198
  }
203
199
 
204
- std::string Context::validateTransformServiceName(std::string service_key) {
200
+ std::string Context::validateTransformServiceName(const std::string& service_key) {
205
201
  char service_key_cpy[71 + 1 + 256] = {0}; // Flawfinder: ignore, key=71, colon=1, name<=255
206
202
  std::copy_n(service_key.begin(), std::min(service_key.size(), sizeof(service_key_cpy)), std::begin(service_key_cpy));
207
203
  int len = strlen(service_key_cpy); // Flawfinder: ignore
@@ -226,20 +222,10 @@ bool Context::isLambda() {
226
222
  return (bool) oboe_is_lambda();
227
223
  }
228
224
 
229
- /**
230
- * Create a new event object that continues the trace context.
231
- *
232
- * NOTE: The returned object must be "delete"d.
233
- */
234
225
  Event *Context::createEvent() {
235
226
  return new Event(Context::get());
236
227
  }
237
228
 
238
- /**
239
- * Create a new event object with a new trace context.
240
- *
241
- * NOTE: The returned object must be "delete"d.
242
- */
243
229
  Event *Context::startTrace() {
244
230
  oboe_metadata_t *md = Context::get();
245
231
  oboe_metadata_random(md);
@@ -253,34 +239,36 @@ Event* Context::createEntry(const oboe_metadata_t *md, int64_t timestamp, const
253
239
  * we need to set the thread local metadata the same task id as input parameter md but a different op_id.
254
240
  */
255
241
  auto thread_local_md = Context::get();
242
+ // set the thread_local_md to md to fulfill the same trace id requirement in Reporter::sendReport & oboe_event_send
256
243
  oboe_metadata_copy(thread_local_md, md);
257
- // reset op_id to zeros
244
+ // reset op_id to zeros to fulfill the different op id requirement in Reporter::sendReport & oboe_event_send
258
245
  memset(thread_local_md->ids.op_id, 0, OBOE_MAX_OP_ID_LEN);
259
246
 
260
247
  auto event = new Event();
248
+ oboe_event_destroy(event);
261
249
  oboe_event_init(event, md, md->ids.op_id);
262
- oboe_event_add_info(event, "Label", "entry");
263
- oboe_event_add_info_int64(event, "Timestamp_u", timestamp);
264
- if (parent_md) {
265
- oboe_event_add_edge(event, parent_md);
250
+
251
+ event->addInfo("Label", std::string("entry"));
252
+ event->addInfo("Timestamp_u", timestamp);
253
+ if(parent_md) {
254
+ event->addEdge(const_cast<oboe_metadata*>(parent_md));
266
255
  }
267
256
  return event;
268
257
  }
269
258
 
270
259
  Event* Context::createEvent(int64_t timestamp) {
271
260
  auto event = new Event(Context::get());
272
- oboe_event_add_info_int64(event, "Timestamp_u", timestamp);
261
+ event->addInfo("Timestamp_u", timestamp);
273
262
  return event;
274
263
  }
275
264
 
276
265
  Event* Context::createExit(int64_t timestamp) {
277
266
  auto event = createEvent(timestamp);
278
- oboe_event_add_info(event, "Label", "exit");
267
+ event->addInfo("Label", std::string("exit"));
279
268
  return event;
280
269
  }
281
270
 
282
271
  /////// Event ///////
283
-
284
272
  Event::Event() {
285
273
  oboe_event_init(this, Context::get(), NULL);
286
274
  }
@@ -305,27 +293,27 @@ Event *Event::startTrace(const oboe_metadata_t *md) {
305
293
  }
306
294
 
307
295
  // called e.g. from Python e.addInfo("Key", None) & Ruby e.addInfo("Key", nil)
308
- bool Event::addInfo(char *key, void *val) {
296
+ bool Event::addInfo(const char *key, void *val) {
309
297
  // oboe_event_add_info(evt, key, NULL) does nothing
310
298
  (void)key;
311
299
  (void)val;
312
300
  return true;
313
301
  }
314
302
 
315
- bool Event::addInfo(char *key, const std::string &val) {
316
- return oboe_event_add_info(this, key, val.data()) == 0;
303
+ bool Event::addInfo(const char *key, const std::string& val) {
304
+ return oboe_event_add_info(this, key, val.c_str()) == 0;
317
305
  }
318
306
 
319
- bool Event::addInfo(char *key, long val) {
307
+ bool Event::addInfo(const char *key, long val) {
320
308
  int64_t val_ = val;
321
309
  return oboe_event_add_info_int64(this, key, val_) == 0;
322
310
  }
323
311
 
324
- bool Event::addInfo(char *key, double val) {
312
+ bool Event::addInfo(const char *key, double val) {
325
313
  return oboe_event_add_info_double(this, key, val) == 0;
326
314
  }
327
315
 
328
- bool Event::addInfo(char *key, bool val) {
316
+ bool Event::addInfo(const char *key, bool val) {
329
317
  return oboe_event_add_info_bool(this, key, val) == 0;
330
318
  }
331
319
 
@@ -333,7 +321,7 @@ bool Event::addInfo(char *key, bool val) {
333
321
  * this function was added for profiling
334
322
  * to report the timestamps of omitted snapshots
335
323
  */
336
- bool Event::addInfo(char *key, const long *vals, int num) {
324
+ bool Event::addInfo(const char *key, const long *vals, int num) {
337
325
  oboe_bson_append_start_array(&(this->bbuf), key);
338
326
  for (int i = 0; i < num; i++) {
339
327
  oboe_bson_append_long(&(this->bbuf), std::to_string(i).c_str(), (int64_t)vals[i]);
@@ -342,11 +330,12 @@ bool Event::addInfo(char *key, const long *vals, int num) {
342
330
  return true;
343
331
  }
344
332
 
333
+ #ifndef SWIG
345
334
  /*
346
335
  * A profiling specific addInfo function
347
336
  * to add the frames that make up a snapshot
348
337
  */
349
- bool Event::addInfo(char *key, const std::vector<FrameData> &vals) {
338
+ bool Event::addInfo(const char *key, const std::vector<FrameData> &vals) {
350
339
  oboe_bson_append_start_array(&(this->bbuf), key);
351
340
  int i = 0;
352
341
  for (FrameData val : vals) {
@@ -367,25 +356,16 @@ bool Event::addInfo(char *key, const std::vector<FrameData> &vals) {
367
356
  oboe_bson_append_finish_object(&(this->bbuf));
368
357
  return true;
369
358
  }
359
+ #endif
370
360
 
371
361
  bool Event::addEdge(oboe_metadata_t *md) {
372
362
  return oboe_event_add_edge(this, md) == 0;
373
363
  }
374
364
 
375
365
  bool Event::addHostname() {
376
- static char oboe_hostname[HOST_NAME_MAX + 1] = {'\0'}; // Flawfinder: ignore
377
-
378
- if (oboe_hostname[0] == '\0') {
379
- (void)gethostname(oboe_hostname, sizeof(oboe_hostname) - 1);
380
- if (oboe_hostname[0] == '\0') {
381
- // Something is wrong but we don't want to to report this more than
382
- // once so we'll set it to a minimal non-empty string.
383
- OBOE_DEBUG_LOG_WARNING(OBOE_MODULE_LIBOBOE, "Failed to get hostname, setting it to '?'");
384
- oboe_hostname[0] = '?';
385
- oboe_hostname[1] = '\0';
386
- }
387
- }
388
- return oboe_event_add_info(this, "Hostname", oboe_hostname) == 0;
366
+ char host[256] = {0};
367
+ gethostname(host, sizeof(host)/sizeof(char));
368
+ return oboe_event_add_info(this, "Hostname", host) == 0;
389
369
  }
390
370
 
391
371
  bool Event::addContextOpId(const oboe_metadata_t *md) {
@@ -1,13 +1,8 @@
1
1
  /**
2
- * @file oboe_api.hpp - C++ liboboe wrapper primarily for generating SWIG interfaces
3
- * and used by Ruby c++ extension for profiling
4
- *
5
- * TODO: This doc is outdated
6
- * This API should follow https://github.com/tracelytics/tracelons/wiki/Instrumentation-API
2
+ * C++ liboboe wrapper primarily for generating SWIG interfaces
7
3
  */
8
-
9
- #ifndef OBOE_API_HPP
10
- #define OBOE_API_HPP
4
+ #ifndef OBOE_API_H
5
+ #define OBOE_API_H
11
6
 
12
7
  #include <unistd.h>
13
8
  #include <cstdlib>
@@ -39,28 +34,47 @@ typedef struct frame_data {
39
34
  class Metadata : private oboe_metadata_t {
40
35
  friend class Reporter;
41
36
  friend class Context;
42
-
43
- public:
37
+ public:
44
38
  Metadata(const oboe_metadata_t *md);
45
39
  ~Metadata();
46
-
47
- // these new objects are managed by SWIG %newobject
48
40
  /**
49
- * Create a new event object using this Metadata's context.
50
- *
51
- * NOTE: The returned object must be "delete"d.
41
+ * Return an `new` C++ object
42
+ * Object ownership changed via SWIG
43
+ * SWIG managed the de-allocation using %newobject keyword
44
+ * @return Event*
52
45
  */
53
46
  Event *createEvent();
54
-
47
+ /**
48
+ * Return an `new` C++ object
49
+ * Object ownership changed via SWIG
50
+ * SWIG managed the de-allocation using %newobject keyword
51
+ * @return Metadata*
52
+ */
55
53
  Metadata *copy();
56
54
  bool isValid();
57
55
  bool isSampled();
58
-
56
+ /**
57
+ * Return an `new` C++ object
58
+ * Object ownership changed via SWIG
59
+ * SWIG managed the de-allocation using %newobject keyword
60
+ * @param sampled bool default=true
61
+ * @return Metadata*
62
+ */
59
63
  static Metadata *makeRandom(bool sampled = true);
60
- static Metadata *fromString(std::string s);
61
-
64
+ /**
65
+ * Return an `new` C++ object
66
+ * Object ownership changed via SWIG
67
+ * SWIG managed the de-allocation using %newobject keyword
68
+ * @param s std::string
69
+ * @return Metadata*
70
+ */
71
+ static Metadata *fromString(const std::string& s);
72
+ /**
73
+ * Return this pointer
74
+ * No Object ownership changed via SWIG
75
+ * @return oboe_metadata_t*
76
+ */
62
77
  oboe_metadata_t *metadata();
63
-
64
78
  #ifdef SWIGJAVA
65
79
  std::string toStr();
66
80
  #else
@@ -169,10 +183,12 @@ class Context {
169
183
  long header_timestamp = 0);
170
184
 
171
185
  /**
172
- * Get a pointer to the current context (from thread-local storage)
186
+ * Return a pointer to the current context
187
+ * Return a pointer in C++ heap
188
+ * No object ownership changed via SWIG
189
+ * @return oboe_metadata_t*
173
190
  */
174
191
  static oboe_metadata_t *get();
175
-
176
192
  /**
177
193
  * Get the current context as a printable string.
178
194
  */
@@ -189,10 +205,16 @@ class Context {
189
205
 
190
206
  /**
191
207
  * Set the current context from a string.
208
+ * @param s const std::string&
192
209
  */
193
- static void fromString(std::string s);
210
+ static void fromString(const std::string& s);
194
211
 
195
- // this new object is managed by SWIG %newobject
212
+ /**
213
+ * Return an `new` C++ object
214
+ * Object ownership changed via SWIG
215
+ * SWIG managed the de-allocation using %newobject keyword
216
+ * @return Metadata*
217
+ */
196
218
  static Metadata *copy();
197
219
 
198
220
  static void setSampledFlag();
@@ -206,7 +228,7 @@ class Context {
206
228
  /**
207
229
  * Perform validation and replacement of invalid characters on the given service key.
208
230
  */
209
- static std::string validateTransformServiceName(std::string service_key);
231
+ static std::string validateTransformServiceName(const std::string& service_key);
210
232
 
211
233
  /**
212
234
  * Shut down the Oboe library.
@@ -235,31 +257,45 @@ class Context {
235
257
  */
236
258
  static bool isLambda();
237
259
 
238
- // these new objects are managed by SWIG %newobject
239
260
  /**
240
- * Create a new event object using the thread's context.
241
- *
242
- * NOTE: The returned object must be "delete"d.
261
+ * Return an `new` C++ object
262
+ * Object ownership changed via SWIG
263
+ * SWIG managed the de-allocation using %newobject keyword
264
+ * @return Event*
243
265
  */
244
266
  static Event *createEvent();
267
+ /**
268
+ * Return an `new` C++ object
269
+ * Object ownership changed via SWIG
270
+ * SWIG managed the de-allocation using %newobject keyword
271
+ * @return Event*
272
+ */
245
273
  static Event *startTrace();
246
-
247
274
  /**
248
275
  * Create entry event with user-defined metadata and timestamp
276
+ * Return an `new` C++ object
277
+ * Object ownership changed via SWIG
278
+ * SWIG managed the de-allocation using %newobject keyword
249
279
  * @param md const oboe_metadata_t *
250
280
  * @param timestamp int64_t
251
- * @param parent_md const oboe_metadata_t *
281
+ * @param parent_md const oboe_metadata_t * default = nullptr
252
282
  * @return Event*
253
283
  */
254
284
  static Event* createEntry(const oboe_metadata_t *md, int64_t timestamp, const oboe_metadata_t *parent_md = nullptr);
255
285
  /**
256
286
  * Create an continuous event with user-defined timestamp
287
+ * Return an `new` C++ object
288
+ * Object ownership changed via SWIG
289
+ * SWIG managed the de-allocation using %newobject keyword
257
290
  * @param timestamp int64_t
258
291
  * @return Event*
259
292
  */
260
293
  static Event* createEvent(int64_t timestamp);
261
294
  /**
262
295
  * Create exit event with user-defined timestamp
296
+ * Return an `new` C++ object
297
+ * Object ownership changed via SWIG
298
+ * SWIG managed the de-allocation using %newobject keyword
263
299
  * @param timestamp int64_t
264
300
  * @return Event*
265
301
  */
@@ -279,15 +315,15 @@ class Event : private oboe_event_t {
279
315
  ~Event();
280
316
 
281
317
  // called e.g. from Python e.addInfo("Key", None) & Ruby e.addInfo("Key", nil)
282
- bool addInfo(char *key, void *val);
283
- bool addInfo(char *key, const std::string &val);
284
- bool addInfo(char *key, long val);
285
- bool addInfo(char *key, double val);
286
- bool addInfo(char *key, bool val);
287
- bool addInfo(char *key, const long *vals, int num);
318
+ bool addInfo(const char *key, void *val);
319
+ bool addInfo(const char *key, const std::string& val);
320
+ bool addInfo(const char *key, long val);
321
+ bool addInfo(const char *key, double val);
322
+ bool addInfo(const char *key, bool val);
323
+ bool addInfo(const char *key, const long *vals, int num);
288
324
 
289
325
  #ifndef SWIG // for profiling only used by Ruby gem cpp-code
290
- bool addInfo(char *key, const std::vector<FrameData> &vals);
326
+ bool addInfo(const char *key, const std::vector<FrameData> &vals);
291
327
  #endif
292
328
 
293
329
  bool addEdge(oboe_metadata_t *md);
@@ -296,9 +332,10 @@ class Event : private oboe_event_t {
296
332
  bool addHostname();
297
333
 
298
334
  /**
299
- * Get a new copy of this metadata.
300
- *
301
- * NOTE: The returned object must be "delete"d.
335
+ * Return an `new` C++ object
336
+ * Object ownership changed via SWIG
337
+ * SWIG managed the de-allocation using %newobject keyword
338
+ * @return Metadata*
302
339
  */
303
340
  Metadata *getMetadata();
304
341
  std::string metadataString();
@@ -325,16 +362,15 @@ class Event : private oboe_event_t {
325
362
 
326
363
  bool addSpanRef(const oboe_metadata_t *md);
327
364
  bool addProfileEdge(std::string id);
328
-
329
365
  /**
330
- * Create a new event object using the given metadata context.
331
- *
332
- * NOTE: The metadata context must be unique to the new trace.
333
- *
334
- * NOTE: The returned object must be "delete"d.
335
- *
336
- * @param md The metadata object to use when creating the new event.
337
- */
366
+ * Create a new event object using the given metadata context.
367
+ * NOTE: The metadata context must be unique to the new trace.
368
+ * Return an `new` C++ object
369
+ * Object ownership changed via SWIG
370
+ * SWIG managed the de-allocation using %newobject keyword
371
+ * @param md const oboe_metadata_t*
372
+ * @return Event*
373
+ */
338
374
  static Event *startTrace(const oboe_metadata_t *md);
339
375
  };
340
376
 
@@ -362,6 +398,9 @@ class MetricTags {
362
398
  * Please note that SWIG doesn't have the definition of
363
399
  * oboe_metric_tag_t.
364
400
  * Ruby and Python should not call this method
401
+ *
402
+ * Return tags as pointer.
403
+ * No object ownership changed via SWIG
365
404
  * @return oboe_metric_tag_t*
366
405
  */
367
406
  oboe_metric_tag_t *get() const;
@@ -459,4 +498,4 @@ class Config {
459
498
  static std::string getVersionString();
460
499
  };
461
500
 
462
- #endif // OBOE_API_HPP
501
+ #endif // OBOE_API_H
@@ -41,6 +41,7 @@ enum OBOE_DEBUG_MODULE {
41
41
  OBOE_MODULE_HOST_ID_SERVICE,
42
42
  OBOE_MODULE_AWS_RESOURCE_PROVIDER,
43
43
  OBOE_MODULE_AZURE_RESOURCE_PROVIDER,
44
+ OBOE_MODULE_UAMSCLIENT_RESOURCE_PROVIDER
44
45
  };
45
46
 
46
47
  /** Compile time debug logging detail level - cannot log more detailed than this. */
@@ -1896,6 +1896,13 @@ static VALUE mOboe_metal;
1896
1896
 
1897
1897
 
1898
1898
  #include "oboe_api.h"
1899
+ #include "oboe_debug.h"
1900
+
1901
+
1902
+ #include <stdint.h> // Use the C99 official header
1903
+
1904
+
1905
+ #include <string>
1899
1906
 
1900
1907
 
1901
1908
  #include <limits.h>
@@ -2045,12 +2052,6 @@ SWIG_FromCharPtr(const char *cptr)
2045
2052
  }
2046
2053
 
2047
2054
 
2048
- #include <stdint.h> // Use the C99 official header
2049
-
2050
-
2051
- #include <string>
2052
-
2053
-
2054
2055
  SWIGINTERNINLINE VALUE
2055
2056
  SWIG_From_bool (bool value)
2056
2057
  {
@@ -2782,7 +2783,7 @@ _wrap_Metadata_makeRandom__SWIG_1(int argc, VALUE *argv, VALUE self) {
2782
2783
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
2783
2784
  }
2784
2785
  result = (Metadata *)Metadata::makeRandom();
2785
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Metadata, 0 | 0 );
2786
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Metadata, SWIG_POINTER_OWN | 0 );
2786
2787
  return vresult;
2787
2788
  fail:
2788
2789
  return Qnil;
@@ -2824,7 +2825,8 @@ fail:
2824
2825
 
2825
2826
  SWIGINTERN VALUE
2826
2827
  _wrap_Metadata_fromString(int argc, VALUE *argv, VALUE self) {
2827
- std::string arg1 ;
2828
+ std::string *arg1 = 0 ;
2829
+ int res1 = SWIG_OLDOBJ ;
2828
2830
  Metadata *result = 0 ;
2829
2831
  VALUE vresult = Qnil;
2830
2832
 
@@ -2833,17 +2835,21 @@ _wrap_Metadata_fromString(int argc, VALUE *argv, VALUE self) {
2833
2835
  }
2834
2836
  {
2835
2837
  std::string *ptr = (std::string *)0;
2836
- int res = SWIG_AsPtr_std_string(argv[0], &ptr);
2837
- if (!SWIG_IsOK(res) || !ptr) {
2838
- SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), Ruby_Format_TypeError( "", "std::string","Metadata::fromString", 1, argv[0] ));
2838
+ res1 = SWIG_AsPtr_std_string(argv[0], &ptr);
2839
+ if (!SWIG_IsOK(res1)) {
2840
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "std::string const &","Metadata::fromString", 1, argv[0] ));
2839
2841
  }
2840
- arg1 = *ptr;
2841
- if (SWIG_IsNewObj(res)) delete ptr;
2842
+ if (!ptr) {
2843
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","Metadata::fromString", 1, argv[0]));
2844
+ }
2845
+ arg1 = ptr;
2842
2846
  }
2843
- result = (Metadata *)Metadata::fromString(arg1);
2847
+ result = (Metadata *)Metadata::fromString((std::string const &)*arg1);
2844
2848
  vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Metadata, SWIG_POINTER_OWN | 0 );
2849
+ if (SWIG_IsNewObj(res1)) delete arg1;
2845
2850
  return vresult;
2846
2851
  fail:
2852
+ if (SWIG_IsNewObj(res1)) delete arg1;
2847
2853
  return Qnil;
2848
2854
  }
2849
2855
 
@@ -4985,23 +4991,28 @@ fail:
4985
4991
 
4986
4992
  SWIGINTERN VALUE
4987
4993
  _wrap_Context_fromString(int argc, VALUE *argv, VALUE self) {
4988
- std::string arg1 ;
4994
+ std::string *arg1 = 0 ;
4995
+ int res1 = SWIG_OLDOBJ ;
4989
4996
 
4990
4997
  if ((argc < 1) || (argc > 1)) {
4991
4998
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
4992
4999
  }
4993
5000
  {
4994
5001
  std::string *ptr = (std::string *)0;
4995
- int res = SWIG_AsPtr_std_string(argv[0], &ptr);
4996
- if (!SWIG_IsOK(res) || !ptr) {
4997
- SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), Ruby_Format_TypeError( "", "std::string","Context::fromString", 1, argv[0] ));
5002
+ res1 = SWIG_AsPtr_std_string(argv[0], &ptr);
5003
+ if (!SWIG_IsOK(res1)) {
5004
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "std::string const &","Context::fromString", 1, argv[0] ));
4998
5005
  }
4999
- arg1 = *ptr;
5000
- if (SWIG_IsNewObj(res)) delete ptr;
5006
+ if (!ptr) {
5007
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","Context::fromString", 1, argv[0]));
5008
+ }
5009
+ arg1 = ptr;
5001
5010
  }
5002
- Context::fromString(arg1);
5011
+ Context::fromString((std::string const &)*arg1);
5012
+ if (SWIG_IsNewObj(res1)) delete arg1;
5003
5013
  return Qnil;
5004
5014
  fail:
5015
+ if (SWIG_IsNewObj(res1)) delete arg1;
5005
5016
  return Qnil;
5006
5017
  }
5007
5018
 
@@ -5080,7 +5091,8 @@ fail:
5080
5091
 
5081
5092
  SWIGINTERN VALUE
5082
5093
  _wrap_Context_validateTransformServiceName(int argc, VALUE *argv, VALUE self) {
5083
- std::string arg1 ;
5094
+ std::string *arg1 = 0 ;
5095
+ int res1 = SWIG_OLDOBJ ;
5084
5096
  std::string result;
5085
5097
  VALUE vresult = Qnil;
5086
5098
 
@@ -5089,17 +5101,21 @@ _wrap_Context_validateTransformServiceName(int argc, VALUE *argv, VALUE self) {
5089
5101
  }
5090
5102
  {
5091
5103
  std::string *ptr = (std::string *)0;
5092
- int res = SWIG_AsPtr_std_string(argv[0], &ptr);
5093
- if (!SWIG_IsOK(res) || !ptr) {
5094
- SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), Ruby_Format_TypeError( "", "std::string","Context::validateTransformServiceName", 1, argv[0] ));
5104
+ res1 = SWIG_AsPtr_std_string(argv[0], &ptr);
5105
+ if (!SWIG_IsOK(res1)) {
5106
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "std::string const &","Context::validateTransformServiceName", 1, argv[0] ));
5095
5107
  }
5096
- arg1 = *ptr;
5097
- if (SWIG_IsNewObj(res)) delete ptr;
5108
+ if (!ptr) {
5109
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","Context::validateTransformServiceName", 1, argv[0]));
5110
+ }
5111
+ arg1 = ptr;
5098
5112
  }
5099
- result = Context::validateTransformServiceName(arg1);
5113
+ result = Context::validateTransformServiceName((std::string const &)*arg1);
5100
5114
  vresult = SWIG_From_std_string(static_cast< std::string >(result));
5115
+ if (SWIG_IsNewObj(res1)) delete arg1;
5101
5116
  return vresult;
5102
5117
  fail:
5118
+ if (SWIG_IsNewObj(res1)) delete arg1;
5103
5119
  return Qnil;
5104
5120
  }
5105
5121
 
@@ -5221,7 +5237,7 @@ _wrap_Context_createEntry__SWIG_0(int argc, VALUE *argv, VALUE self) {
5221
5237
  }
5222
5238
  arg3 = reinterpret_cast< oboe_metadata_t * >(argp3);
5223
5239
  result = (Event *)Context::createEntry((oboe_metadata_t const *)arg1,arg2,(oboe_metadata_t const *)arg3);
5224
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, 0 | 0 );
5240
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_OWN | 0 );
5225
5241
  return vresult;
5226
5242
  fail:
5227
5243
  return Qnil;
@@ -5253,7 +5269,7 @@ _wrap_Context_createEntry__SWIG_1(int argc, VALUE *argv, VALUE self) {
5253
5269
  }
5254
5270
  arg2 = static_cast< int64_t >(val2);
5255
5271
  result = (Event *)Context::createEntry((oboe_metadata_t const *)arg1,arg2);
5256
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, 0 | 0 );
5272
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_OWN | 0 );
5257
5273
  return vresult;
5258
5274
  fail:
5259
5275
  return Qnil;
@@ -5332,7 +5348,7 @@ _wrap_Context_createEvent__SWIG_1(int argc, VALUE *argv, VALUE self) {
5332
5348
  }
5333
5349
  arg1 = static_cast< int64_t >(val1);
5334
5350
  result = (Event *)Context::createEvent(arg1);
5335
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, 0 | 0 );
5351
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_OWN | 0 );
5336
5352
  return vresult;
5337
5353
  fail:
5338
5354
  return Qnil;
@@ -5389,7 +5405,7 @@ _wrap_Context_createExit(int argc, VALUE *argv, VALUE self) {
5389
5405
  }
5390
5406
  arg1 = static_cast< int64_t >(val1);
5391
5407
  result = (Event *)Context::createExit(arg1);
5392
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, 0 | 0 );
5408
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_OWN | 0 );
5393
5409
  return vresult;
5394
5410
  fail:
5395
5411
  return Qnil;
@@ -5464,14 +5480,14 @@ _wrap_Event_addInfo__SWIG_0(int argc, VALUE *argv, VALUE self) {
5464
5480
  arg1 = reinterpret_cast< Event * >(argp1);
5465
5481
  res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2);
5466
5482
  if (!SWIG_IsOK(res2)) {
5467
- SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char *","addInfo", 2, argv[0] ));
5483
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char const *","addInfo", 2, argv[0] ));
5468
5484
  }
5469
5485
  arg2 = reinterpret_cast< char * >(buf2);
5470
5486
  res3 = SWIG_ConvertPtr(argv[1],SWIG_as_voidptrptr(&arg3), 0, 0);
5471
5487
  if (!SWIG_IsOK(res3)) {
5472
5488
  SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "void *","addInfo", 3, argv[1] ));
5473
5489
  }
5474
- result = (bool)(arg1)->addInfo(arg2,arg3);
5490
+ result = (bool)(arg1)->addInfo((char const *)arg2,arg3);
5475
5491
  vresult = SWIG_From_bool(static_cast< bool >(result));
5476
5492
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
5477
5493
  return vresult;
@@ -5505,7 +5521,7 @@ _wrap_Event_addInfo__SWIG_1(int argc, VALUE *argv, VALUE self) {
5505
5521
  arg1 = reinterpret_cast< Event * >(argp1);
5506
5522
  res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2);
5507
5523
  if (!SWIG_IsOK(res2)) {
5508
- SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char *","addInfo", 2, argv[0] ));
5524
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char const *","addInfo", 2, argv[0] ));
5509
5525
  }
5510
5526
  arg2 = reinterpret_cast< char * >(buf2);
5511
5527
  {
@@ -5519,7 +5535,7 @@ _wrap_Event_addInfo__SWIG_1(int argc, VALUE *argv, VALUE self) {
5519
5535
  }
5520
5536
  arg3 = ptr;
5521
5537
  }
5522
- result = (bool)(arg1)->addInfo(arg2,(std::string const &)*arg3);
5538
+ result = (bool)(arg1)->addInfo((char const *)arg2,(std::string const &)*arg3);
5523
5539
  vresult = SWIG_From_bool(static_cast< bool >(result));
5524
5540
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
5525
5541
  if (SWIG_IsNewObj(res3)) delete arg3;
@@ -5556,7 +5572,7 @@ _wrap_Event_addInfo__SWIG_2(int argc, VALUE *argv, VALUE self) {
5556
5572
  arg1 = reinterpret_cast< Event * >(argp1);
5557
5573
  res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2);
5558
5574
  if (!SWIG_IsOK(res2)) {
5559
- SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char *","addInfo", 2, argv[0] ));
5575
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char const *","addInfo", 2, argv[0] ));
5560
5576
  }
5561
5577
  arg2 = reinterpret_cast< char * >(buf2);
5562
5578
  ecode3 = SWIG_AsVal_long(argv[1], &val3);
@@ -5564,7 +5580,7 @@ _wrap_Event_addInfo__SWIG_2(int argc, VALUE *argv, VALUE self) {
5564
5580
  SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "long","addInfo", 3, argv[1] ));
5565
5581
  }
5566
5582
  arg3 = static_cast< long >(val3);
5567
- result = (bool)(arg1)->addInfo(arg2,arg3);
5583
+ result = (bool)(arg1)->addInfo((char const *)arg2,arg3);
5568
5584
  vresult = SWIG_From_bool(static_cast< bool >(result));
5569
5585
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
5570
5586
  return vresult;
@@ -5599,7 +5615,7 @@ _wrap_Event_addInfo__SWIG_3(int argc, VALUE *argv, VALUE self) {
5599
5615
  arg1 = reinterpret_cast< Event * >(argp1);
5600
5616
  res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2);
5601
5617
  if (!SWIG_IsOK(res2)) {
5602
- SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char *","addInfo", 2, argv[0] ));
5618
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char const *","addInfo", 2, argv[0] ));
5603
5619
  }
5604
5620
  arg2 = reinterpret_cast< char * >(buf2);
5605
5621
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
@@ -5607,7 +5623,7 @@ _wrap_Event_addInfo__SWIG_3(int argc, VALUE *argv, VALUE self) {
5607
5623
  SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","addInfo", 3, argv[1] ));
5608
5624
  }
5609
5625
  arg3 = static_cast< double >(val3);
5610
- result = (bool)(arg1)->addInfo(arg2,arg3);
5626
+ result = (bool)(arg1)->addInfo((char const *)arg2,arg3);
5611
5627
  vresult = SWIG_From_bool(static_cast< bool >(result));
5612
5628
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
5613
5629
  return vresult;
@@ -5642,7 +5658,7 @@ _wrap_Event_addInfo__SWIG_4(int argc, VALUE *argv, VALUE self) {
5642
5658
  arg1 = reinterpret_cast< Event * >(argp1);
5643
5659
  res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2);
5644
5660
  if (!SWIG_IsOK(res2)) {
5645
- SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char *","addInfo", 2, argv[0] ));
5661
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char const *","addInfo", 2, argv[0] ));
5646
5662
  }
5647
5663
  arg2 = reinterpret_cast< char * >(buf2);
5648
5664
  ecode3 = SWIG_AsVal_bool(argv[1], &val3);
@@ -5650,7 +5666,7 @@ _wrap_Event_addInfo__SWIG_4(int argc, VALUE *argv, VALUE self) {
5650
5666
  SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "bool","addInfo", 3, argv[1] ));
5651
5667
  }
5652
5668
  arg3 = static_cast< bool >(val3);
5653
- result = (bool)(arg1)->addInfo(arg2,arg3);
5669
+ result = (bool)(arg1)->addInfo((char const *)arg2,arg3);
5654
5670
  vresult = SWIG_From_bool(static_cast< bool >(result));
5655
5671
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
5656
5672
  return vresult;
@@ -5688,7 +5704,7 @@ _wrap_Event_addInfo__SWIG_5(int argc, VALUE *argv, VALUE self) {
5688
5704
  arg1 = reinterpret_cast< Event * >(argp1);
5689
5705
  res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2);
5690
5706
  if (!SWIG_IsOK(res2)) {
5691
- SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char *","addInfo", 2, argv[0] ));
5707
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char const *","addInfo", 2, argv[0] ));
5692
5708
  }
5693
5709
  arg2 = reinterpret_cast< char * >(buf2);
5694
5710
  res3 = SWIG_ConvertPtr(argv[1], &argp3,SWIGTYPE_p_long, 0 | 0 );
@@ -5701,7 +5717,7 @@ _wrap_Event_addInfo__SWIG_5(int argc, VALUE *argv, VALUE self) {
5701
5717
  SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "int","addInfo", 4, argv[2] ));
5702
5718
  }
5703
5719
  arg4 = static_cast< int >(val4);
5704
- result = (bool)(arg1)->addInfo(arg2,(long const *)arg3,arg4);
5720
+ result = (bool)(arg1)->addInfo((char const *)arg2,(long const *)arg3,arg4);
5705
5721
  vresult = SWIG_From_bool(static_cast< bool >(result));
5706
5722
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
5707
5723
  return vresult;
@@ -5841,12 +5857,12 @@ SWIGINTERN VALUE _wrap_Event_addInfo(int nargs, VALUE *args, VALUE self) {
5841
5857
 
5842
5858
  fail:
5843
5859
  Ruby_Format_OverloadedError( argc, 5, "Event.addInfo",
5844
- " bool Event.addInfo(char *key, void *val)\n"
5845
- " bool Event.addInfo(char *key, std::string const &val)\n"
5846
- " bool Event.addInfo(char *key, long val)\n"
5847
- " bool Event.addInfo(char *key, double val)\n"
5848
- " bool Event.addInfo(char *key, bool val)\n"
5849
- " bool Event.addInfo(char *key, long const *vals, int num)\n");
5860
+ " bool Event.addInfo(char const *key, void *val)\n"
5861
+ " bool Event.addInfo(char const *key, std::string const &val)\n"
5862
+ " bool Event.addInfo(char const *key, long val)\n"
5863
+ " bool Event.addInfo(char const *key, double val)\n"
5864
+ " bool Event.addInfo(char const *key, bool val)\n"
5865
+ " bool Event.addInfo(char const *key, long const *vals, int num)\n");
5850
5866
 
5851
5867
  return Qnil;
5852
5868
  }
@@ -8357,6 +8373,7 @@ SWIGEXPORT void Init_oboe_metal(void) {
8357
8373
  rb_define_const(mOboe_metal, "OBOE_MODULE_HOST_ID_SERVICE", SWIG_From_int(static_cast< int >(OBOE_MODULE_HOST_ID_SERVICE)));
8358
8374
  rb_define_const(mOboe_metal, "OBOE_MODULE_AWS_RESOURCE_PROVIDER", SWIG_From_int(static_cast< int >(OBOE_MODULE_AWS_RESOURCE_PROVIDER)));
8359
8375
  rb_define_const(mOboe_metal, "OBOE_MODULE_AZURE_RESOURCE_PROVIDER", SWIG_From_int(static_cast< int >(OBOE_MODULE_AZURE_RESOURCE_PROVIDER)));
8376
+ rb_define_const(mOboe_metal, "OBOE_MODULE_UAMSCLIENT_RESOURCE_PROVIDER", SWIG_From_int(static_cast< int >(OBOE_MODULE_UAMSCLIENT_RESOURCE_PROVIDER)));
8360
8377
  rb_define_const(mOboe_metal, "MAX_DEBUG_MSG_COUNT", SWIG_From_int(static_cast< int >(1)));
8361
8378
  rb_define_module_function(mOboe_metal, "oboe_debug_log_init", VALUEFUNC(_wrap_oboe_debug_log_init), -1);
8362
8379
  rb_define_module_function(mOboe_metal, "oboe_debug_logger", VALUEFUNC(_wrap_oboe_debug_logger), -1);
@@ -8,7 +8,7 @@ module SolarWindsAPM
8
8
  module Version
9
9
  MAJOR = 5 # breaking,
10
10
  MINOR = 1 # feature,
11
- PATCH = 7 # fix => BFF
11
+ PATCH = 9 # fix => BFF
12
12
  PRE = nil # for pre-releases into packagecloud, set to nil for production releases into rubygems
13
13
 
14
14
  STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solarwinds_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.7
4
+ version: 5.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maia Engeli
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-04-03 00:00:00.000000000 Z
14
+ date: 2023-05-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json