libdatadog 4.0.0.1.0-aarch64-linux → 5.0.0.1.0-aarch64-linux

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.
Files changed (19) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +531 -43
  4. data/vendor/{libdatadog-4.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-5.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +96 -28
  5. data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +13 -6
  6. data/vendor/libdatadog-5.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  7. data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  8. data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +531 -43
  9. data/vendor/{libdatadog-4.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-5.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +96 -28
  10. data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h +13 -6
  11. data/vendor/libdatadog-5.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  12. data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  13. metadata +16 -16
  14. data/vendor/libdatadog-4.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  15. data/vendor/libdatadog-4.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  16. /data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  17. /data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  18. /data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  19. /data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
@@ -72,7 +72,13 @@ typedef struct ddog_Error {
72
72
  * so every operation on it is unsafe!
73
73
  */
74
74
  typedef struct ddog_Slice_CChar {
75
+ /**
76
+ * Must be non-null and suitably aligned for the underlying type.
77
+ */
75
78
  const char *ptr;
79
+ /**
80
+ * The number of elements (not bytes) that `.ptr` points to.
81
+ */
76
82
  uintptr_t len;
77
83
  } ddog_Slice_CChar;
78
84
 
@@ -115,6 +121,46 @@ typedef struct ddog_prof_ProfiledEndpointsStats ddog_prof_ProfiledEndpointsStats
115
121
 
116
122
  typedef struct ddog_prof_Exporter_Request ddog_prof_Exporter_Request;
117
123
 
124
+ /**
125
+ * Remember, the data inside of each member is potentially coming from FFI,
126
+ * so every operation on it is unsafe!
127
+ */
128
+ typedef struct ddog_Slice_U8 {
129
+ /**
130
+ * Must be non-null and suitably aligned for the underlying type.
131
+ */
132
+ const uint8_t *ptr;
133
+ /**
134
+ * The number of elements (not bytes) that `.ptr` points to.
135
+ */
136
+ uintptr_t len;
137
+ } ddog_Slice_U8;
138
+
139
+ /**
140
+ * Use to represent bytes -- does not need to be valid UTF-8.
141
+ */
142
+ typedef struct ddog_Slice_U8 ddog_ByteSlice;
143
+
144
+ typedef struct ddog_prof_Exporter_File {
145
+ ddog_CharSlice name;
146
+ ddog_ByteSlice file;
147
+ } ddog_prof_Exporter_File;
148
+
149
+ /**
150
+ * Remember, the data inside of each member is potentially coming from FFI,
151
+ * so every operation on it is unsafe!
152
+ */
153
+ typedef struct ddog_prof_Exporter_Slice_File {
154
+ /**
155
+ * Must be non-null and suitably aligned for the underlying type.
156
+ */
157
+ const struct ddog_prof_Exporter_File *ptr;
158
+ /**
159
+ * The number of elements (not bytes) that `.ptr` points to.
160
+ */
161
+ uintptr_t len;
162
+ } ddog_prof_Exporter_Slice_File;
163
+
118
164
  typedef enum ddog_Endpoint_Tag {
119
165
  DDOG_ENDPOINT_AGENT,
120
166
  DDOG_ENDPOINT_AGENTLESS,
@@ -177,34 +223,6 @@ typedef struct ddog_Timespec {
177
223
  uint32_t nanoseconds;
178
224
  } ddog_Timespec;
179
225
 
180
- /**
181
- * Remember, the data inside of each member is potentially coming from FFI,
182
- * so every operation on it is unsafe!
183
- */
184
- typedef struct ddog_Slice_U8 {
185
- const uint8_t *ptr;
186
- uintptr_t len;
187
- } ddog_Slice_U8;
188
-
189
- /**
190
- * Use to represent bytes -- does not need to be valid UTF-8.
191
- */
192
- typedef struct ddog_Slice_U8 ddog_ByteSlice;
193
-
194
- typedef struct ddog_prof_Exporter_File {
195
- ddog_CharSlice name;
196
- ddog_ByteSlice file;
197
- } ddog_prof_Exporter_File;
198
-
199
- /**
200
- * Remember, the data inside of each member is potentially coming from FFI,
201
- * so every operation on it is unsafe!
202
- */
203
- typedef struct ddog_prof_Exporter_Slice_File {
204
- const struct ddog_prof_Exporter_File *ptr;
205
- uintptr_t len;
206
- } ddog_prof_Exporter_Slice_File;
207
-
208
226
  typedef struct ddog_HttpStatus {
209
227
  uint16_t code;
210
228
  } ddog_HttpStatus;
@@ -234,6 +252,26 @@ typedef struct ddog_prof_Profile {
234
252
  struct ddog_prof_Profile *inner;
235
253
  } ddog_prof_Profile;
236
254
 
255
+ /**
256
+ * Returned by [ddog_prof_Profile_new].
257
+ */
258
+ typedef enum ddog_prof_Profile_NewResult_Tag {
259
+ DDOG_PROF_PROFILE_NEW_RESULT_OK,
260
+ DDOG_PROF_PROFILE_NEW_RESULT_ERR,
261
+ } ddog_prof_Profile_NewResult_Tag;
262
+
263
+ typedef struct ddog_prof_Profile_NewResult {
264
+ ddog_prof_Profile_NewResult_Tag tag;
265
+ union {
266
+ struct {
267
+ struct ddog_prof_Profile ok;
268
+ };
269
+ struct {
270
+ struct ddog_Error err;
271
+ };
272
+ };
273
+ } ddog_prof_Profile_NewResult;
274
+
237
275
  typedef struct ddog_prof_ValueType {
238
276
  ddog_CharSlice type_;
239
277
  ddog_CharSlice unit;
@@ -244,7 +282,13 @@ typedef struct ddog_prof_ValueType {
244
282
  * so every operation on it is unsafe!
245
283
  */
246
284
  typedef struct ddog_prof_Slice_ValueType {
285
+ /**
286
+ * Must be non-null and suitably aligned for the underlying type.
287
+ */
247
288
  const struct ddog_prof_ValueType *ptr;
289
+ /**
290
+ * The number of elements (not bytes) that `.ptr` points to.
291
+ */
248
292
  uintptr_t len;
249
293
  } ddog_prof_Slice_ValueType;
250
294
 
@@ -347,7 +391,13 @@ typedef struct ddog_prof_Location {
347
391
  * so every operation on it is unsafe!
348
392
  */
349
393
  typedef struct ddog_prof_Slice_Location {
394
+ /**
395
+ * Must be non-null and suitably aligned for the underlying type.
396
+ */
350
397
  const struct ddog_prof_Location *ptr;
398
+ /**
399
+ * The number of elements (not bytes) that `.ptr` points to.
400
+ */
351
401
  uintptr_t len;
352
402
  } ddog_prof_Slice_Location;
353
403
 
@@ -356,7 +406,13 @@ typedef struct ddog_prof_Slice_Location {
356
406
  * so every operation on it is unsafe!
357
407
  */
358
408
  typedef struct ddog_Slice_I64 {
409
+ /**
410
+ * Must be non-null and suitably aligned for the underlying type.
411
+ */
359
412
  const int64_t *ptr;
413
+ /**
414
+ * The number of elements (not bytes) that `.ptr` points to.
415
+ */
360
416
  uintptr_t len;
361
417
  } ddog_Slice_I64;
362
418
 
@@ -384,7 +440,13 @@ typedef struct ddog_prof_Label {
384
440
  * so every operation on it is unsafe!
385
441
  */
386
442
  typedef struct ddog_prof_Slice_Label {
443
+ /**
444
+ * Must be non-null and suitably aligned for the underlying type.
445
+ */
387
446
  const struct ddog_prof_Label *ptr;
447
+ /**
448
+ * The number of elements (not bytes) that `.ptr` points to.
449
+ */
388
450
  uintptr_t len;
389
451
  } ddog_prof_Slice_Label;
390
452
 
@@ -414,7 +476,13 @@ typedef struct ddog_prof_Sample {
414
476
  * so every operation on it is unsafe!
415
477
  */
416
478
  typedef struct ddog_prof_Slice_Usize {
479
+ /**
480
+ * Must be non-null and suitably aligned for the underlying type.
481
+ */
417
482
  const uintptr_t *ptr;
483
+ /**
484
+ * The number of elements (not bytes) that `.ptr` points to.
485
+ */
418
486
  uintptr_t len;
419
487
  } ddog_prof_Slice_Usize;
420
488
 
@@ -11,6 +11,8 @@
11
11
  #include <stdint.h>
12
12
  #include "common.h"
13
13
 
14
+ DDOG_CHECK_RETURN struct ddog_prof_Exporter_Slice_File ddog_prof_Exporter_Slice_File_empty(void);
15
+
14
16
  /**
15
17
  * Creates an endpoint that uses the agent.
16
18
  * # Arguments
@@ -74,7 +76,8 @@ DDOG_CHECK_RETURN
74
76
  struct ddog_prof_Exporter_Request_BuildResult ddog_prof_Exporter_Request_build(struct ddog_prof_Exporter *exporter,
75
77
  struct ddog_Timespec start,
76
78
  struct ddog_Timespec end,
77
- struct ddog_prof_Exporter_Slice_File files,
79
+ struct ddog_prof_Exporter_Slice_File files_to_compress_and_export,
80
+ struct ddog_prof_Exporter_Slice_File files_to_export_unmodified,
78
81
  const struct ddog_Vec_Tag *optional_additional_tags,
79
82
  const struct ddog_prof_ProfiledEndpointsStats *optional_endpoints_stats,
80
83
  const ddog_CharSlice *optional_internal_metadata_json,
@@ -170,9 +173,9 @@ void ddog_CancellationToken_drop(struct ddog_CancellationToken *token);
170
173
  * and must have the correct number of elements for the slice.
171
174
  */
172
175
  DDOG_CHECK_RETURN
173
- struct ddog_prof_Profile ddog_prof_Profile_new(struct ddog_prof_Slice_ValueType sample_types,
174
- const struct ddog_prof_Period *period,
175
- const struct ddog_Timespec *start_time);
176
+ struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_ValueType sample_types,
177
+ const struct ddog_prof_Period *period,
178
+ const struct ddog_Timespec *start_time);
176
179
 
177
180
  /**
178
181
  * # Safety
@@ -197,7 +200,8 @@ void ddog_prof_Profile_drop(struct ddog_prof_Profile *profile);
197
200
  */
198
201
  DDOG_CHECK_RETURN
199
202
  struct ddog_prof_Profile_Result ddog_prof_Profile_add(struct ddog_prof_Profile *profile,
200
- struct ddog_prof_Sample sample);
203
+ struct ddog_prof_Sample sample,
204
+ int64_t timestamp);
201
205
 
202
206
  /**
203
207
  * Associate an endpoint to a given local root span id.
@@ -303,6 +307,7 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
303
307
 
304
308
  /**
305
309
  * Serialize the aggregated profile.
310
+ * Drains the data, and then resets the profile for future use.
306
311
  *
307
312
  * Don't forget to clean up the ok with `ddog_prof_EncodedProfile_drop` or
308
313
  * the error variant with `ddog_Error_drop` when you are done with them.
@@ -316,6 +321,7 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
316
321
  * under anomalous conditions this may fail as system clocks can be adjusted,
317
322
  * or the programmer accidentally passed an earlier time. The duration of
318
323
  * the serialized profile will be set to zero for these cases.
324
+ * * `start_time` - Optional start time for the next profile.
319
325
  *
320
326
  * # Safety
321
327
  * The `profile` must point to a valid profile object.
@@ -325,7 +331,8 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
325
331
  DDOG_CHECK_RETURN
326
332
  struct ddog_prof_Profile_SerializeResult ddog_prof_Profile_serialize(struct ddog_prof_Profile *profile,
327
333
  const struct ddog_Timespec *end_time,
328
- const int64_t *duration_nanos);
334
+ const int64_t *duration_nanos,
335
+ const struct ddog_Timespec *start_time);
329
336
 
330
337
  DDOG_CHECK_RETURN struct ddog_Slice_U8 ddog_Vec_U8_as_slice(const struct ddog_Vec_U8 *vec);
331
338
 
@@ -10,7 +10,7 @@ includedir=${prefix}/include
10
10
 
11
11
  Name: datadog_profiling
12
12
  Description: Contains common code used to implement Datadog's Continuous Profilers. (Dynamic linking variant, sets rpath)
13
- Version: 4.0.0
13
+ Version:
14
14
  Requires:
15
15
  Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
16
16
  Libs.private: