solarwinds_apm 5.1.7 → 5.1.9

Sign up to get free protection for your applications and to get access to all the features.
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