libdatadog 26.0.0.1.0-aarch64-linux → 27.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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +239 -3
  4. data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +143 -27
  5. data/vendor/{libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +11 -1
  6. data/vendor/{libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/profiling.h +116 -8
  7. data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  8. data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  9. data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +239 -3
  10. data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +143 -27
  11. data/vendor/{libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +11 -1
  12. data/vendor/{libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +116 -8
  13. data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  14. data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  15. metadata +33 -33
  16. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  17. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  18. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  19. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
  20. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -0
  21. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h +0 -0
  22. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h +0 -0
  23. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +0 -0
  24. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h +0 -0
  25. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
  26. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  27. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
  28. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  29. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
  30. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -0
  31. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h +0 -0
  32. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h +0 -0
  33. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +0 -0
  34. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h +0 -0
  35. /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
@@ -263,6 +263,92 @@ typedef struct ddog_prof_Function2 *ddog_prof_FunctionId2;
263
263
 
264
264
  #define ddog_prof_Set_SIZE_HINT (1024 * 1024)
265
265
 
266
+ /**
267
+ * Sample types supported by Datadog's profilers.
268
+ *
269
+ * Variants are sourced from:
270
+ * - **dd-trace-rb**: `stack_recorder.c` (`all_value_types`)
271
+ * - **dd-trace-py**: `dd_wrapper/include/types.hpp`
272
+ * - **dd-trace-php**: `profiling/src/profiling/samples.rs` (I/O profiling)
273
+ * - **dd-trace-dotnet**: Sample type definitions for allocations, locks, CPU, walltime,
274
+ * exceptions, live objects, HTTP requests
275
+ * - **pprof-nodejs**: `profile-serializer.ts` (value type functions)
276
+ */
277
+ typedef enum ddog_prof_SampleType {
278
+ DDOG_PROF_SAMPLE_TYPE_ALLOC_SAMPLES,
279
+ DDOG_PROF_SAMPLE_TYPE_ALLOC_SAMPLES_UNSCALED,
280
+ DDOG_PROF_SAMPLE_TYPE_ALLOC_SIZE,
281
+ DDOG_PROF_SAMPLE_TYPE_ALLOC_SPACE,
282
+ DDOG_PROF_SAMPLE_TYPE_CPU_TIME,
283
+ DDOG_PROF_SAMPLE_TYPE_CPU_SAMPLES,
284
+ /**
285
+ * Legacy: Use `CpuTime` instead for consistency with naming scheme
286
+ */
287
+ DDOG_PROF_SAMPLE_TYPE_CPU_LEGACY,
288
+ /**
289
+ * Legacy: Use `CpuSamples` instead for consistency with naming scheme
290
+ */
291
+ DDOG_PROF_SAMPLE_TYPE_CPU_SAMPLE_LEGACY,
292
+ DDOG_PROF_SAMPLE_TYPE_EXCEPTION_SAMPLES,
293
+ /**
294
+ * Legacy: Use `ExceptionSamples` instead for consistency with naming scheme
295
+ */
296
+ DDOG_PROF_SAMPLE_TYPE_EXCEPTION_LEGACY,
297
+ DDOG_PROF_SAMPLE_TYPE_FILE_IO_READ_SIZE,
298
+ DDOG_PROF_SAMPLE_TYPE_FILE_IO_READ_SIZE_SAMPLES,
299
+ DDOG_PROF_SAMPLE_TYPE_FILE_IO_READ_TIME,
300
+ DDOG_PROF_SAMPLE_TYPE_FILE_IO_READ_TIME_SAMPLES,
301
+ DDOG_PROF_SAMPLE_TYPE_FILE_IO_WRITE_SIZE,
302
+ DDOG_PROF_SAMPLE_TYPE_FILE_IO_WRITE_SIZE_SAMPLES,
303
+ DDOG_PROF_SAMPLE_TYPE_FILE_IO_WRITE_TIME,
304
+ DDOG_PROF_SAMPLE_TYPE_FILE_IO_WRITE_TIME_SAMPLES,
305
+ DDOG_PROF_SAMPLE_TYPE_GPU_ALLOC_SAMPLES,
306
+ DDOG_PROF_SAMPLE_TYPE_GPU_FLOPS,
307
+ DDOG_PROF_SAMPLE_TYPE_GPU_FLOPS_SAMPLES,
308
+ DDOG_PROF_SAMPLE_TYPE_GPU_SAMPLES,
309
+ DDOG_PROF_SAMPLE_TYPE_GPU_SPACE,
310
+ DDOG_PROF_SAMPLE_TYPE_GPU_TIME,
311
+ DDOG_PROF_SAMPLE_TYPE_HEAP_LIVE_SAMPLES,
312
+ DDOG_PROF_SAMPLE_TYPE_HEAP_LIVE_SIZE,
313
+ DDOG_PROF_SAMPLE_TYPE_HEAP_SPACE,
314
+ DDOG_PROF_SAMPLE_TYPE_INUSE_OBJECTS,
315
+ DDOG_PROF_SAMPLE_TYPE_INUSE_SPACE,
316
+ DDOG_PROF_SAMPLE_TYPE_LOCK_ACQUIRE,
317
+ DDOG_PROF_SAMPLE_TYPE_LOCK_ACQUIRE_WAIT,
318
+ DDOG_PROF_SAMPLE_TYPE_LOCK_COUNT,
319
+ DDOG_PROF_SAMPLE_TYPE_LOCK_RELEASE,
320
+ DDOG_PROF_SAMPLE_TYPE_LOCK_RELEASE_HOLD,
321
+ DDOG_PROF_SAMPLE_TYPE_LOCK_TIME,
322
+ /**
323
+ * Legacy: Use `InuseObjects` instead for consistency with naming scheme
324
+ */
325
+ DDOG_PROF_SAMPLE_TYPE_OBJECTS_LEGACY,
326
+ DDOG_PROF_SAMPLE_TYPE_REQUEST_TIME,
327
+ DDOG_PROF_SAMPLE_TYPE_SAMPLE,
328
+ DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_SIZE,
329
+ DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_SIZE_SAMPLES,
330
+ DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_TIME,
331
+ DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_TIME_SAMPLES,
332
+ DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_SIZE,
333
+ DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_SIZE_SAMPLES,
334
+ DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_TIME,
335
+ DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_TIME_SAMPLES,
336
+ /**
337
+ * Legacy: Use specific space variants (`InuseSpace`, `HeapSpace`, `AllocSpace`) instead
338
+ */
339
+ DDOG_PROF_SAMPLE_TYPE_SPACE_LEGACY,
340
+ DDOG_PROF_SAMPLE_TYPE_TIMELINE,
341
+ DDOG_PROF_SAMPLE_TYPE_WALL_SAMPLES,
342
+ DDOG_PROF_SAMPLE_TYPE_WALL_TIME,
343
+ /**
344
+ * Legacy: Use `WallTime` instead for consistency with naming scheme
345
+ */
346
+ DDOG_PROF_SAMPLE_TYPE_WALL_LEGACY,
347
+ DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_COUNT,
348
+ DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_NANOSECONDS,
349
+ DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_BYTES,
350
+ } ddog_prof_SampleType;
351
+
266
352
  typedef enum ddog_prof_Utf8Option {
267
353
  /**
268
354
  * The string is assumed to be valid UTF-8. If it's not, the behavior
@@ -284,6 +370,8 @@ typedef struct ddog_OpaqueCancellationToken ddog_OpaqueCancellationToken;
284
370
 
285
371
  typedef struct ddog_prof_EncodedProfile ddog_prof_EncodedProfile;
286
372
 
373
+ typedef struct ddog_prof_ExporterManager ddog_prof_ExporterManager;
374
+
287
375
  typedef struct ddog_prof_Exporter ddog_prof_Exporter;
288
376
 
289
377
  /**
@@ -435,6 +523,53 @@ typedef struct ddog_CancellationToken {
435
523
  ddog_prof_TokioCancellationToken *inner;
436
524
  } ddog_CancellationToken;
437
525
 
526
+ /**
527
+ * Represents an object that should only be referred to by its handle.
528
+ * Do not access its member for any reason, only use the C API functions on this struct.
529
+ */
530
+ typedef struct ddog_prof_Handle_ExporterManager {
531
+ struct ddog_prof_ExporterManager *inner;
532
+ } ddog_prof_Handle_ExporterManager;
533
+
534
+ /**
535
+ * A generic result type for when an operation may fail,
536
+ * or may return <T> in case of success.
537
+ */
538
+ typedef enum ddog_prof_Result_HandleExporterManager_Tag {
539
+ DDOG_PROF_RESULT_HANDLE_EXPORTER_MANAGER_OK_HANDLE_EXPORTER_MANAGER,
540
+ DDOG_PROF_RESULT_HANDLE_EXPORTER_MANAGER_ERR_HANDLE_EXPORTER_MANAGER,
541
+ } ddog_prof_Result_HandleExporterManager_Tag;
542
+
543
+ typedef struct ddog_prof_Result_HandleExporterManager {
544
+ ddog_prof_Result_HandleExporterManager_Tag tag;
545
+ union {
546
+ struct {
547
+ struct ddog_prof_Handle_ExporterManager ok;
548
+ };
549
+ struct {
550
+ struct ddog_Error err;
551
+ };
552
+ };
553
+ } ddog_prof_Result_HandleExporterManager;
554
+
555
+ /**
556
+ * A generic result type for when an operation may fail,
557
+ * but there's nothing to return in the case of success.
558
+ */
559
+ typedef enum ddog_VoidResult_Tag {
560
+ DDOG_VOID_RESULT_OK,
561
+ DDOG_VOID_RESULT_ERR,
562
+ } ddog_VoidResult_Tag;
563
+
564
+ typedef struct ddog_VoidResult {
565
+ ddog_VoidResult_Tag tag;
566
+ union {
567
+ struct {
568
+ struct ddog_Error err;
569
+ };
570
+ };
571
+ } ddog_VoidResult;
572
+
438
573
  /**
439
574
  * Represents the result of an operation that either succeeds with no value, or fails with an
440
575
  * error message. This is like `Result<(), Cow<'static, CStr>` except its representation is
@@ -516,27 +651,22 @@ typedef struct ddog_prof_Profile_NewResult {
516
651
  };
517
652
  } ddog_prof_Profile_NewResult;
518
653
 
519
- typedef struct ddog_prof_ValueType {
520
- ddog_CharSlice type_;
521
- ddog_CharSlice unit;
522
- } ddog_prof_ValueType;
523
-
524
- typedef struct ddog_prof_Slice_ValueType {
654
+ typedef struct ddog_prof_Slice_SampleType {
525
655
  /**
526
656
  * Should be non-null and suitably aligned for the underlying type. It is
527
657
  * allowed but not recommended for the pointer to be null when the len is
528
658
  * zero.
529
659
  */
530
- const struct ddog_prof_ValueType *ptr;
660
+ const enum ddog_prof_SampleType *ptr;
531
661
  /**
532
662
  * The number of elements (not bytes) that `.ptr` points to. Must be less
533
663
  * than or equal to [isize::MAX].
534
664
  */
535
665
  uintptr_t len;
536
- } ddog_prof_Slice_ValueType;
666
+ } ddog_prof_Slice_SampleType;
537
667
 
538
668
  typedef struct ddog_prof_Period {
539
- struct ddog_prof_ValueType type_;
669
+ enum ddog_prof_SampleType sample_type;
540
670
  int64_t value;
541
671
  } ddog_prof_Period;
542
672
 
@@ -1145,24 +1275,6 @@ typedef struct ddog_prof_StringId_Result {
1145
1275
  };
1146
1276
  } ddog_prof_StringId_Result;
1147
1277
 
1148
- /**
1149
- * A generic result type for when an operation may fail,
1150
- * but there's nothing to return in the case of success.
1151
- */
1152
- typedef enum ddog_VoidResult_Tag {
1153
- DDOG_VOID_RESULT_OK,
1154
- DDOG_VOID_RESULT_ERR,
1155
- } ddog_VoidResult_Tag;
1156
-
1157
- typedef struct ddog_VoidResult {
1158
- ddog_VoidResult_Tag tag;
1159
- union {
1160
- struct {
1161
- struct ddog_Error err;
1162
- };
1163
- };
1164
- } ddog_VoidResult;
1165
-
1166
1278
  typedef struct ddog_prof_Slice_ManagedStringId {
1167
1279
  /**
1168
1280
  * Should be non-null and suitably aligned for the underlying type. It is
@@ -2369,6 +2481,10 @@ typedef struct ddog_crasht_OsInfo {
2369
2481
 
2370
2482
  typedef struct ddog_crasht_ProcInfo {
2371
2483
  uint32_t pid;
2484
+ /**
2485
+ * Optional crashing thread id; 0 means unset.
2486
+ */
2487
+ uint32_t tid;
2372
2488
  } ddog_crasht_ProcInfo;
2373
2489
 
2374
2490
  typedef struct ddog_crasht_SigInfo {
@@ -646,12 +646,22 @@ DDOG_CHECK_RETURN
646
646
  struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_message(struct ddog_crasht_Handle_CrashInfoBuilder *builder,
647
647
  ddog_CharSlice message);
648
648
 
649
+ /**
650
+ * # Safety
651
+ * The `builder` can be null, but if non-null it must point to a Builder made by this module,
652
+ * which has not previously been dropped.
653
+ * The CharSlice must be valid.
654
+ */
655
+ DDOG_CHECK_RETURN
656
+ struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_thread_name(struct ddog_crasht_Handle_CrashInfoBuilder *builder,
657
+ ddog_CharSlice thread_name);
658
+
649
659
  /**
650
660
  * # Safety
651
661
  * The `builder` can be null, but if non-null it must point to a Builder made by this module,
652
662
  * which has not previously been dropped.
653
663
  * All arguments must be valid.
654
- * This method requires that the builder has a UUID, siginfo, and metadata set
664
+ * This method requires that the builder has a UUID and metadata set
655
665
  */
656
666
  DDOG_CHECK_RETURN
657
667
  struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_upload_ping_to_endpoint(struct ddog_crasht_Handle_CrashInfoBuilder *builder,
@@ -120,9 +120,6 @@ void ddog_prof_Exporter_drop(struct ddog_prof_ProfileExporter *exporter);
120
120
 
121
121
  /**
122
122
  * Builds a request and sends it, returning the HttpStatus.
123
- * This is a more efficient version of calling `ddog_prof_Exporter_Request_build`
124
- * followed by `ddog_prof_Exporter_send`, as it avoids exposing the intermediate
125
- * `Request` object.
126
123
  *
127
124
  * # Arguments
128
125
  * * `exporter` - Borrows the exporter.
@@ -196,6 +193,112 @@ bool ddog_CancellationToken_cancel(struct ddog_CancellationToken *cancel);
196
193
  */
197
194
  void ddog_CancellationToken_drop(struct ddog_CancellationToken *token);
198
195
 
196
+ /**
197
+ * Creates a new ExporterManager with a background worker thread.
198
+ *
199
+ * The ExporterManager provides asynchronous profle export capabilities through a
200
+ * background worker thread and bounded channel.
201
+ *
202
+ * # Arguments
203
+ * * `exporter` - Takes ownership of the ProfileExporter to use for sending profiles.
204
+ *
205
+ * # Safety
206
+ * The `exporter` must point to a valid ProfileExporter that has not been dropped.
207
+ */
208
+ DDOG_CHECK_RETURN
209
+ struct ddog_prof_Result_HandleExporterManager ddog_prof_ExporterManager_new(struct ddog_prof_ProfileExporter *exporter);
210
+
211
+ /**
212
+ * Queues a profile to be sent asynchronously by the background worker thread.
213
+ *
214
+ * **Important**: This function resets the profile and queues the *previous* profile data.
215
+ * After calling this, the profile will be empty and ready for new samples.
216
+ *
217
+ * # Arguments
218
+ * * `manager` - Borrows the ExporterManager.
219
+ * * `profile` - Takes ownership of the profile to send.
220
+ * * `files_to_compress_and_export` - Files to compress and attach to the profile.
221
+ * * `optional_additional_tags` - Additional tags to include with this profile.
222
+ * * `optional_process_tags` - Process-level tags as a comma-separated string.
223
+ * * `optional_internal_metadata_json` - Internal metadata as a JSON string.
224
+ * * `optional_info_json` - System info as a JSON string.
225
+ *
226
+ * # Safety
227
+ * All non-null arguments MUST have been created by APIs in this module.
228
+ */
229
+ DDOG_CHECK_RETURN
230
+ struct ddog_VoidResult ddog_prof_ExporterManager_queue(struct ddog_prof_Handle_ExporterManager *manager,
231
+ struct ddog_prof_EncodedProfile *profile,
232
+ struct ddog_prof_Exporter_Slice_File files_to_compress_and_export,
233
+ const struct ddog_Vec_Tag *optional_additional_tags,
234
+ const ddog_CharSlice *optional_process_tags,
235
+ const ddog_CharSlice *optional_internal_metadata_json,
236
+ const ddog_CharSlice *optional_info_json);
237
+
238
+ /**
239
+ * Aborts the manager, stopping the worker thread and returning inflight requests.
240
+ *
241
+ * **Note**: This consumes the manager - it cannot be used after calling abort.
242
+ *
243
+ * # Arguments
244
+ * * `manager` - Takes ownership of the ExporterManager.
245
+ *
246
+ * # Safety
247
+ * The `manager` must point to a valid ExporterManager that has not been dropped.
248
+ */
249
+ DDOG_CHECK_RETURN
250
+ struct ddog_VoidResult ddog_prof_ExporterManager_abort(struct ddog_prof_Handle_ExporterManager *manager);
251
+
252
+ /**
253
+ * Suspends the manager before forking (prefork).
254
+ *
255
+ * **Note**: This consumes the manager - it cannot be used after calling prefork.
256
+ *
257
+ * # Arguments
258
+ * * `manager` - Takes ownership of the ExporterManager.
259
+ *
260
+ * # Safety
261
+ * The `manager` must point to a valid ExporterManager that has not been dropped.
262
+ */
263
+ DDOG_CHECK_RETURN
264
+ struct ddog_VoidResult ddog_prof_ExporterManager_prefork(struct ddog_prof_Handle_ExporterManager *manager);
265
+
266
+ /**
267
+ * Creates a new manager in the child process after forking (postfork_child).
268
+ *
269
+ * Inflight requests from the parent are discarded in the child.
270
+ *
271
+ * # Arguments
272
+ * * `suspended` - Takes ownership of the suspended ExporterManager.
273
+ *
274
+ * # Safety
275
+ * The `suspended` must point to a valid suspended ExporterManager that has not been dropped.
276
+ */
277
+ DDOG_CHECK_RETURN
278
+ struct ddog_VoidResult ddog_prof_ExporterManager_postfork_child(struct ddog_prof_Handle_ExporterManager *suspended);
279
+
280
+ /**
281
+ * Creates a new manager in the parent process after forking (postfork_parent).
282
+ *
283
+ * Inflight requests from before the fork are re-queued in the new manager.
284
+ *
285
+ * # Arguments
286
+ * * `suspended` - Takes ownership of the suspended ExporterManager.
287
+ *
288
+ * # Safety
289
+ * The `suspended` must point to a valid suspended ExporterManager that has not been dropped.
290
+ */
291
+ DDOG_CHECK_RETURN
292
+ struct ddog_VoidResult ddog_prof_ExporterManager_postfork_parent(struct ddog_prof_Handle_ExporterManager *suspended);
293
+
294
+ /**
295
+ * # Safety
296
+ * The `manager` may be null, but if non-null the pointer must point to a
297
+ * valid `ExporterManager` object made by the Rust Global allocator that
298
+ * has not already been dropped.
299
+ */
300
+ void ddog_prof_ExporterManager_drop(struct ddog_prof_Handle_ExporterManager *manager);
301
+
199
302
  /**
200
303
  * Frees any error associated with the status, and replaces it with an OK.
201
304
  *
@@ -210,7 +313,7 @@ void ddog_prof_Status_drop(struct ddog_prof_Status *status);
210
313
  * `ddog_prof_Profile_drop` when you are done with the profile.
211
314
  *
212
315
  * # Arguments
213
- * * `sample_types`
316
+ * * `sample_types` - A slice of SampleType enums
214
317
  * * `period` - Optional period of the profile. Passing None/null translates to zero values.
215
318
  * * `start_time` - Optional time the profile started at. Passing None/null will use the current
216
319
  * time.
@@ -220,7 +323,7 @@ void ddog_prof_Status_drop(struct ddog_prof_Status *status);
220
323
  * and must have the correct number of elements for the slice.
221
324
  */
222
325
  DDOG_CHECK_RETURN
223
- struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_ValueType sample_types,
326
+ struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_SampleType sample_types,
224
327
  const struct ddog_prof_Period *period);
225
328
 
226
329
  /**
@@ -230,7 +333,7 @@ struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_
230
333
  * # Arguments
231
334
  * * `out` - a non-null pointer to an uninitialized Profile.
232
335
  * * `dict`: a valid reference to a ProfilesDictionary handle.
233
- * * `sample_types`
336
+ * * `sample_types` - A slice of SampleType enums
234
337
  * * `period` - Optional period of the profile. Passing None/null translates to zero values.
235
338
  *
236
339
  * # Safety
@@ -246,7 +349,7 @@ struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_
246
349
  DDOG_CHECK_RETURN
247
350
  struct ddog_prof_Status ddog_prof_Profile_with_dictionary(struct ddog_prof_Profile *out,
248
351
  const ddog_prof_ProfilesDictionaryHandle *dict,
249
- struct ddog_prof_Slice_ValueType sample_types,
352
+ struct ddog_prof_Slice_SampleType sample_types,
250
353
  const struct ddog_prof_Period *period);
251
354
 
252
355
  /**
@@ -254,7 +357,7 @@ struct ddog_prof_Status ddog_prof_Profile_with_dictionary(struct ddog_prof_Profi
254
357
  * TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
255
358
  */
256
359
  DDOG_CHECK_RETURN
257
- struct ddog_prof_Profile_NewResult ddog_prof_Profile_with_string_storage(struct ddog_prof_Slice_ValueType sample_types,
360
+ struct ddog_prof_Profile_NewResult ddog_prof_Profile_with_string_storage(struct ddog_prof_Slice_SampleType sample_types,
258
361
  const struct ddog_prof_Period *period,
259
362
  struct ddog_prof_ManagedStringStorage string_storage);
260
363
 
@@ -826,6 +929,11 @@ struct ddog_prof_Status ddog_prof_ProfilesDictionary_insert_mapping(ddog_prof_Ma
826
929
  /**
827
930
  * Inserts a UTF-8 string into the dictionary string table.
828
931
  *
932
+ * Copies the string into the internal buffer--strings are arena allocated
933
+ * and not individually allocated. On success, the [`StringId2`] written to
934
+ * the `string_id` out parameter is valid as long as this dictionary is alive.
935
+ * It should only be passed back to the dictionary that created it.
936
+ *
829
937
  * # Safety
830
938
  *
831
939
  * - `string_id` must be non-null and valid for writes of `StringId`.
@@ -8,7 +8,7 @@ includedir=${prefix}/include
8
8
 
9
9
  Name: datadog_profiling
10
10
  Description: Contains common code used to implement Datadog's Continuous Profilers. (Dynamic linking variant, sets rpath)
11
- Version: 26.0.0
11
+ Version: 27.0.0
12
12
  Requires:
13
13
  Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
14
14
  Libs.private:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libdatadog
3
3
  version: !ruby/object:Gem::Version
4
- version: 26.0.0.1.0
4
+ version: 27.0.0.1.0
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Datadog, Inc.
@@ -18,38 +18,38 @@ extra_rdoc_files: []
18
18
  files:
19
19
  - lib/libdatadog.rb
20
20
  - lib/libdatadog/version.rb
21
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE
22
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml
23
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE
24
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver
25
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h
26
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h
27
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h
28
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h
29
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h
30
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h
31
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h
32
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h
33
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h
34
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h
35
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so
36
- - vendor/libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc
37
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE
38
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml
39
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE
40
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver
41
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h
42
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h
43
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h
44
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h
45
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h
46
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h
47
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h
48
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h
49
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h
50
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h
51
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so
52
- - vendor/libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc
21
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE
22
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml
23
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE
24
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver
25
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h
26
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h
27
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h
28
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h
29
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h
30
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h
31
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h
32
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h
33
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h
34
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h
35
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so
36
+ - vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc
37
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE
38
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml
39
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE
40
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver
41
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h
42
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h
43
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h
44
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h
45
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h
46
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h
47
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h
48
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h
49
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h
50
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h
51
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so
52
+ - vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc
53
53
  homepage: https://docs.datadoghq.com/tracing/
54
54
  licenses:
55
55
  - Apache-2.0