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

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