libdatadog 25.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.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/lib/libdatadog.rb +6 -0
- data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +11379 -5795
- data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +277 -184
- data/vendor/{libdatadog-25.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
- data/vendor/{libdatadog-25.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 +141 -63
- data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +11379 -5795
- data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +277 -184
- data/vendor/{libdatadog-25.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
- data/vendor/{libdatadog-25.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 +141 -63
- data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +33 -33
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
|
@@ -257,8 +257,98 @@ typedef struct ddog_Vec_Tag_ParseResult {
|
|
|
257
257
|
struct ddog_Error *error_message;
|
|
258
258
|
} ddog_Vec_Tag_ParseResult;
|
|
259
259
|
|
|
260
|
+
typedef struct ddog_prof_StringHeader *ddog_prof_StringId2;
|
|
261
|
+
typedef struct ddog_prof_Mapping2 *ddog_prof_MappingId2;
|
|
262
|
+
typedef struct ddog_prof_Function2 *ddog_prof_FunctionId2;
|
|
263
|
+
|
|
260
264
|
#define ddog_prof_Set_SIZE_HINT (1024 * 1024)
|
|
261
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
|
+
|
|
262
352
|
typedef enum ddog_prof_Utf8Option {
|
|
263
353
|
/**
|
|
264
354
|
* The string is assumed to be valid UTF-8. If it's not, the behavior
|
|
@@ -276,8 +366,12 @@ typedef enum ddog_prof_Utf8Option {
|
|
|
276
366
|
DDOG_PROF_UTF8_OPTION_VALIDATE,
|
|
277
367
|
} ddog_prof_Utf8Option;
|
|
278
368
|
|
|
369
|
+
typedef struct ddog_OpaqueCancellationToken ddog_OpaqueCancellationToken;
|
|
370
|
+
|
|
279
371
|
typedef struct ddog_prof_EncodedProfile ddog_prof_EncodedProfile;
|
|
280
372
|
|
|
373
|
+
typedef struct ddog_prof_ExporterManager ddog_prof_ExporterManager;
|
|
374
|
+
|
|
281
375
|
typedef struct ddog_prof_Exporter ddog_prof_Exporter;
|
|
282
376
|
|
|
283
377
|
/**
|
|
@@ -291,8 +385,6 @@ typedef struct ddog_prof_Exporter ddog_prof_Exporter;
|
|
|
291
385
|
*/
|
|
292
386
|
typedef struct ddog_prof_ProfilesDictionary ddog_prof_ProfilesDictionary;
|
|
293
387
|
|
|
294
|
-
typedef struct ddog_prof_Exporter_Request ddog_prof_Exporter_Request;
|
|
295
|
-
|
|
296
388
|
typedef struct ddog_Slice_U8 {
|
|
297
389
|
/**
|
|
298
390
|
* Should be non-null and suitably aligned for the underlying type. It is
|
|
@@ -337,17 +429,21 @@ typedef enum ddog_prof_Endpoint_Tag {
|
|
|
337
429
|
DDOG_PROF_ENDPOINT_FILE,
|
|
338
430
|
} ddog_prof_Endpoint_Tag;
|
|
339
431
|
|
|
432
|
+
typedef struct ddog_prof_Endpoint_ddog_prof_Agent_Body {
|
|
433
|
+
ddog_CharSlice _0;
|
|
434
|
+
uint64_t _1;
|
|
435
|
+
} ddog_prof_Endpoint_ddog_prof_Agent_Body;
|
|
436
|
+
|
|
340
437
|
typedef struct ddog_prof_Endpoint_ddog_prof_Agentless_Body {
|
|
341
438
|
ddog_CharSlice _0;
|
|
342
439
|
ddog_CharSlice _1;
|
|
440
|
+
uint64_t _2;
|
|
343
441
|
} ddog_prof_Endpoint_ddog_prof_Agentless_Body;
|
|
344
442
|
|
|
345
443
|
typedef struct ddog_prof_Endpoint {
|
|
346
444
|
ddog_prof_Endpoint_Tag tag;
|
|
347
445
|
union {
|
|
348
|
-
|
|
349
|
-
ddog_CharSlice agent;
|
|
350
|
-
};
|
|
446
|
+
ddog_prof_Endpoint_ddog_prof_Agent_Body AGENT;
|
|
351
447
|
ddog_prof_Endpoint_ddog_prof_Agentless_Body AGENTLESS;
|
|
352
448
|
struct {
|
|
353
449
|
ddog_CharSlice file;
|
|
@@ -384,52 +480,30 @@ typedef struct ddog_prof_ProfileExporter_Result {
|
|
|
384
480
|
};
|
|
385
481
|
} ddog_prof_ProfileExporter_Result;
|
|
386
482
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
*/
|
|
391
|
-
typedef enum ddog_VoidResult_Tag {
|
|
392
|
-
DDOG_VOID_RESULT_OK,
|
|
393
|
-
DDOG_VOID_RESULT_ERR,
|
|
394
|
-
} ddog_VoidResult_Tag;
|
|
395
|
-
|
|
396
|
-
typedef struct ddog_VoidResult {
|
|
397
|
-
ddog_VoidResult_Tag tag;
|
|
398
|
-
union {
|
|
399
|
-
struct {
|
|
400
|
-
struct ddog_Error err;
|
|
401
|
-
};
|
|
402
|
-
};
|
|
403
|
-
} ddog_VoidResult;
|
|
404
|
-
|
|
405
|
-
/**
|
|
406
|
-
* Represents an object that should only be referred to by its handle.
|
|
407
|
-
* Do not access its member for any reason, only use the C API functions on this struct.
|
|
408
|
-
*/
|
|
409
|
-
typedef struct ddog_prof_Request {
|
|
410
|
-
struct ddog_prof_Exporter_Request *inner;
|
|
411
|
-
} ddog_prof_Request;
|
|
483
|
+
typedef struct ddog_HttpStatus {
|
|
484
|
+
uint16_t code;
|
|
485
|
+
} ddog_HttpStatus;
|
|
412
486
|
|
|
413
487
|
/**
|
|
414
488
|
* A generic result type for when an operation may fail,
|
|
415
489
|
* or may return <T> in case of success.
|
|
416
490
|
*/
|
|
417
|
-
typedef enum
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
}
|
|
491
|
+
typedef enum ddog_prof_Result_HttpStatus_Tag {
|
|
492
|
+
DDOG_PROF_RESULT_HTTP_STATUS_OK_HTTP_STATUS,
|
|
493
|
+
DDOG_PROF_RESULT_HTTP_STATUS_ERR_HTTP_STATUS,
|
|
494
|
+
} ddog_prof_Result_HttpStatus_Tag;
|
|
421
495
|
|
|
422
|
-
typedef struct
|
|
423
|
-
|
|
496
|
+
typedef struct ddog_prof_Result_HttpStatus {
|
|
497
|
+
ddog_prof_Result_HttpStatus_Tag tag;
|
|
424
498
|
union {
|
|
425
499
|
struct {
|
|
426
|
-
struct
|
|
500
|
+
struct ddog_HttpStatus ok;
|
|
427
501
|
};
|
|
428
502
|
struct {
|
|
429
503
|
struct ddog_Error err;
|
|
430
504
|
};
|
|
431
505
|
};
|
|
432
|
-
}
|
|
506
|
+
} ddog_prof_Result_HttpStatus;
|
|
433
507
|
|
|
434
508
|
/**
|
|
435
509
|
* Represents an object that should only be referred to by its handle.
|
|
@@ -439,40 +513,62 @@ typedef struct ddog_prof_EncodedProfile {
|
|
|
439
513
|
struct ddog_prof_EncodedProfile *inner;
|
|
440
514
|
} ddog_prof_EncodedProfile;
|
|
441
515
|
|
|
442
|
-
typedef struct
|
|
443
|
-
|
|
444
|
-
|
|
516
|
+
typedef struct ddog_OpaqueCancellationToken ddog_prof_TokioCancellationToken;
|
|
517
|
+
|
|
518
|
+
/**
|
|
519
|
+
* Represents an object that should only be referred to by its handle.
|
|
520
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
|
521
|
+
*/
|
|
522
|
+
typedef struct ddog_CancellationToken {
|
|
523
|
+
ddog_prof_TokioCancellationToken *inner;
|
|
524
|
+
} ddog_CancellationToken;
|
|
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;
|
|
445
533
|
|
|
446
534
|
/**
|
|
447
535
|
* A generic result type for when an operation may fail,
|
|
448
536
|
* or may return <T> in case of success.
|
|
449
537
|
*/
|
|
450
|
-
typedef enum
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
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;
|
|
454
542
|
|
|
455
|
-
typedef struct
|
|
456
|
-
|
|
543
|
+
typedef struct ddog_prof_Result_HandleExporterManager {
|
|
544
|
+
ddog_prof_Result_HandleExporterManager_Tag tag;
|
|
457
545
|
union {
|
|
458
546
|
struct {
|
|
459
|
-
struct
|
|
547
|
+
struct ddog_prof_Handle_ExporterManager ok;
|
|
460
548
|
};
|
|
461
549
|
struct {
|
|
462
550
|
struct ddog_Error err;
|
|
463
551
|
};
|
|
464
552
|
};
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
typedef struct ddog_OpaqueCancellationToken ddog_prof_TokioCancellationToken;
|
|
553
|
+
} ddog_prof_Result_HandleExporterManager;
|
|
468
554
|
|
|
469
555
|
/**
|
|
470
|
-
*
|
|
471
|
-
*
|
|
556
|
+
* A generic result type for when an operation may fail,
|
|
557
|
+
* but there's nothing to return in the case of success.
|
|
472
558
|
*/
|
|
473
|
-
typedef
|
|
474
|
-
|
|
475
|
-
|
|
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;
|
|
476
572
|
|
|
477
573
|
/**
|
|
478
574
|
* Represents the result of an operation that either succeeds with no value, or fails with an
|
|
@@ -486,38 +582,36 @@ typedef struct ddog_CancellationToken {
|
|
|
486
582
|
* A `ProfileStatus` owns its error message data. When a `ProfileStatus` with an error is
|
|
487
583
|
* created, it takes ownership of the error string (either as a static reference or heap
|
|
488
584
|
* allocation). The caller is responsible for eventually calling [`ddog_prof_Status_drop`] to
|
|
489
|
-
* free any heap-allocated memory. This is safe to call on OK as well
|
|
585
|
+
* free any heap-allocated memory. This is safe to call on OK as well.
|
|
490
586
|
*
|
|
491
587
|
* # FFI Safety
|
|
492
588
|
*
|
|
493
|
-
* This type is `#[repr(C)]` and safe to pass across FFI boundaries. The C side must treat
|
|
494
|
-
*
|
|
589
|
+
* This type is `#[repr(C)]` and safe to pass across FFI boundaries. The C side must treat the
|
|
590
|
+
* `.flags` as opaque and use API functions; the `.err` field is guaranteed to be null when the
|
|
591
|
+
* `ProfileStatus` is OK, and on Err it will be non-null pointer to a UTF8 encoded string which
|
|
592
|
+
* has a null terminator.
|
|
495
593
|
*/
|
|
496
594
|
typedef struct ddog_prof_Status {
|
|
497
595
|
/**
|
|
498
596
|
* Bitflags indicating the storage type of the error message.
|
|
499
597
|
* This is only meaningful when `err` is non-null. When `err` is
|
|
500
|
-
* null (indicating OK), this field
|
|
501
|
-
*
|
|
502
|
-
*
|
|
503
|
-
*
|
|
598
|
+
* null (indicating OK), this field SHOULD be zero. Currently, only one
|
|
599
|
+
* bit is used `IS_ALLOCATED_MASK`, which determines whether the error
|
|
600
|
+
* message is owned or statically borrowed.
|
|
601
|
+
* In the future, we may store error codes in here as well.
|
|
504
602
|
*/
|
|
505
603
|
size_t flags;
|
|
506
604
|
/**
|
|
507
605
|
* Pointer to a null-terminated UTF-8 error message string.
|
|
508
|
-
* - If null
|
|
509
|
-
*
|
|
510
|
-
* - If non-null and
|
|
511
|
-
* Must not be freed.
|
|
512
|
-
* - If non-null and `flags == FLAG_ALLOCATED`: points to heap-allocated data owned by this
|
|
513
|
-
* `ProfileStatus`. Must be freed by [`ddog_prof_Status_drop`].
|
|
606
|
+
* - If null this indicates OK (success). This is an FFI guarantee.
|
|
607
|
+
* - If non-null and allocated bit is clear: points to static data with `'static` lifetime.
|
|
608
|
+
* - If non-null and allocated bit is set: points to owned heap-allocated data.
|
|
514
609
|
*
|
|
515
610
|
* # Safety Invariant
|
|
516
611
|
*
|
|
517
|
-
* When non-null, `err` must point to a valid, null-terminated C
|
|
518
|
-
*
|
|
519
|
-
*
|
|
520
|
-
* is called.
|
|
612
|
+
* When non-null, `err` must point to a valid, null-terminated C string in UTF-8 encoding.
|
|
613
|
+
* The pointer remains valid for the lifetime of this `ProfileStatus` or until
|
|
614
|
+
* [`ddog_prof_Status_drop`] is called.
|
|
521
615
|
*/
|
|
522
616
|
const char *err;
|
|
523
617
|
} ddog_prof_Status;
|
|
@@ -557,27 +651,22 @@ typedef struct ddog_prof_Profile_NewResult {
|
|
|
557
651
|
};
|
|
558
652
|
} ddog_prof_Profile_NewResult;
|
|
559
653
|
|
|
560
|
-
typedef struct
|
|
561
|
-
ddog_CharSlice type_;
|
|
562
|
-
ddog_CharSlice unit;
|
|
563
|
-
} ddog_prof_ValueType;
|
|
564
|
-
|
|
565
|
-
typedef struct ddog_prof_Slice_ValueType {
|
|
654
|
+
typedef struct ddog_prof_Slice_SampleType {
|
|
566
655
|
/**
|
|
567
656
|
* Should be non-null and suitably aligned for the underlying type. It is
|
|
568
657
|
* allowed but not recommended for the pointer to be null when the len is
|
|
569
658
|
* zero.
|
|
570
659
|
*/
|
|
571
|
-
const
|
|
660
|
+
const enum ddog_prof_SampleType *ptr;
|
|
572
661
|
/**
|
|
573
662
|
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
|
574
663
|
* than or equal to [isize::MAX].
|
|
575
664
|
*/
|
|
576
665
|
uintptr_t len;
|
|
577
|
-
}
|
|
666
|
+
} ddog_prof_Slice_SampleType;
|
|
578
667
|
|
|
579
668
|
typedef struct ddog_prof_Period {
|
|
580
|
-
|
|
669
|
+
enum ddog_prof_SampleType sample_type;
|
|
581
670
|
int64_t value;
|
|
582
671
|
} ddog_prof_Period;
|
|
583
672
|
|
|
@@ -1394,40 +1483,12 @@ typedef enum ddog_ConfigurationOrigin {
|
|
|
1394
1483
|
DDOG_CONFIGURATION_ORIGIN_CALCULATED,
|
|
1395
1484
|
} ddog_ConfigurationOrigin;
|
|
1396
1485
|
|
|
1397
|
-
typedef enum ddog_TelemetryWorkerBuilderEndpointProperty {
|
|
1398
|
-
DDOG_TELEMETRY_WORKER_BUILDER_ENDPOINT_PROPERTY_CONFIG_ENDPOINT,
|
|
1399
|
-
} ddog_TelemetryWorkerBuilderEndpointProperty;
|
|
1400
|
-
|
|
1401
|
-
typedef enum ddog_TelemetryWorkerBuilderStrProperty {
|
|
1402
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_SERVICE_VERSION,
|
|
1403
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_ENV,
|
|
1404
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_NAME,
|
|
1405
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_VERSION,
|
|
1406
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_PATCHES,
|
|
1407
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_CONTAINER_ID,
|
|
1408
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_OS,
|
|
1409
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_NAME,
|
|
1410
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_RELEASE,
|
|
1411
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_VERSION,
|
|
1412
|
-
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_RUNTIME_ID,
|
|
1413
|
-
} ddog_TelemetryWorkerBuilderStrProperty;
|
|
1414
|
-
|
|
1415
|
-
typedef enum ddog_TelemetryWorkerBuilderBoolProperty {
|
|
1416
|
-
DDOG_TELEMETRY_WORKER_BUILDER_BOOL_PROPERTY_CONFIG_TELEMETRY_DEBUG_LOGGING_ENABLED,
|
|
1417
|
-
} ddog_TelemetryWorkerBuilderBoolProperty;
|
|
1418
|
-
|
|
1419
1486
|
typedef enum ddog_LogLevel {
|
|
1420
1487
|
DDOG_LOG_LEVEL_ERROR,
|
|
1421
1488
|
DDOG_LOG_LEVEL_WARN,
|
|
1422
1489
|
DDOG_LOG_LEVEL_DEBUG,
|
|
1423
1490
|
} ddog_LogLevel;
|
|
1424
1491
|
|
|
1425
|
-
typedef enum ddog_MetricType {
|
|
1426
|
-
DDOG_METRIC_TYPE_GAUGE,
|
|
1427
|
-
DDOG_METRIC_TYPE_COUNT,
|
|
1428
|
-
DDOG_METRIC_TYPE_DISTRIBUTION,
|
|
1429
|
-
} ddog_MetricType;
|
|
1430
|
-
|
|
1431
1492
|
typedef enum ddog_MetricNamespace {
|
|
1432
1493
|
DDOG_METRIC_NAMESPACE_TRACERS,
|
|
1433
1494
|
DDOG_METRIC_NAMESPACE_PROFILERS,
|
|
@@ -1442,6 +1503,34 @@ typedef enum ddog_MetricNamespace {
|
|
|
1442
1503
|
DDOG_METRIC_NAMESPACE_SIDECAR,
|
|
1443
1504
|
} ddog_MetricNamespace;
|
|
1444
1505
|
|
|
1506
|
+
typedef enum ddog_MetricType {
|
|
1507
|
+
DDOG_METRIC_TYPE_GAUGE,
|
|
1508
|
+
DDOG_METRIC_TYPE_COUNT,
|
|
1509
|
+
DDOG_METRIC_TYPE_DISTRIBUTION,
|
|
1510
|
+
} ddog_MetricType;
|
|
1511
|
+
|
|
1512
|
+
typedef enum ddog_TelemetryWorkerBuilderBoolProperty {
|
|
1513
|
+
DDOG_TELEMETRY_WORKER_BUILDER_BOOL_PROPERTY_CONFIG_TELEMETRY_DEBUG_LOGGING_ENABLED,
|
|
1514
|
+
} ddog_TelemetryWorkerBuilderBoolProperty;
|
|
1515
|
+
|
|
1516
|
+
typedef enum ddog_TelemetryWorkerBuilderEndpointProperty {
|
|
1517
|
+
DDOG_TELEMETRY_WORKER_BUILDER_ENDPOINT_PROPERTY_CONFIG_ENDPOINT,
|
|
1518
|
+
} ddog_TelemetryWorkerBuilderEndpointProperty;
|
|
1519
|
+
|
|
1520
|
+
typedef enum ddog_TelemetryWorkerBuilderStrProperty {
|
|
1521
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_SERVICE_VERSION,
|
|
1522
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_ENV,
|
|
1523
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_NAME,
|
|
1524
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_VERSION,
|
|
1525
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_PATCHES,
|
|
1526
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_CONTAINER_ID,
|
|
1527
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_OS,
|
|
1528
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_NAME,
|
|
1529
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_RELEASE,
|
|
1530
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_VERSION,
|
|
1531
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_RUNTIME_ID,
|
|
1532
|
+
} ddog_TelemetryWorkerBuilderStrProperty;
|
|
1533
|
+
|
|
1445
1534
|
typedef struct ddog_TelemetryWorkerBuilder ddog_TelemetryWorkerBuilder;
|
|
1446
1535
|
|
|
1447
1536
|
/**
|
|
@@ -1719,20 +1808,6 @@ typedef struct ddog_Result_TracerMemfdHandle {
|
|
|
1719
1808
|
};
|
|
1720
1809
|
} ddog_Result_TracerMemfdHandle;
|
|
1721
1810
|
|
|
1722
|
-
/**
|
|
1723
|
-
* Target for standard stream output.
|
|
1724
|
-
*/
|
|
1725
|
-
typedef enum ddog_StdTarget {
|
|
1726
|
-
/**
|
|
1727
|
-
* Write to standard output (stdout).
|
|
1728
|
-
*/
|
|
1729
|
-
DDOG_STD_TARGET_OUT,
|
|
1730
|
-
/**
|
|
1731
|
-
* Write to standard error (stderr).
|
|
1732
|
-
*/
|
|
1733
|
-
DDOG_STD_TARGET_ERR,
|
|
1734
|
-
} ddog_StdTarget;
|
|
1735
|
-
|
|
1736
1811
|
/**
|
|
1737
1812
|
* Log level for filtering log events.
|
|
1738
1813
|
*/
|
|
@@ -1769,6 +1844,20 @@ typedef enum ddog_LogEventLevel {
|
|
|
1769
1844
|
DDOG_LOG_EVENT_LEVEL_ERROR = 4,
|
|
1770
1845
|
} ddog_LogEventLevel;
|
|
1771
1846
|
|
|
1847
|
+
/**
|
|
1848
|
+
* Target for standard stream output.
|
|
1849
|
+
*/
|
|
1850
|
+
typedef enum ddog_StdTarget {
|
|
1851
|
+
/**
|
|
1852
|
+
* Write to standard output (stdout).
|
|
1853
|
+
*/
|
|
1854
|
+
DDOG_STD_TARGET_OUT,
|
|
1855
|
+
/**
|
|
1856
|
+
* Write to standard error (stderr).
|
|
1857
|
+
*/
|
|
1858
|
+
DDOG_STD_TARGET_ERR,
|
|
1859
|
+
} ddog_StdTarget;
|
|
1860
|
+
|
|
1772
1861
|
/**
|
|
1773
1862
|
* Configuration for standard stream output.
|
|
1774
1863
|
*/
|
|
@@ -1822,6 +1911,17 @@ typedef struct ddsketch_Handle_DDSketch {
|
|
|
1822
1911
|
struct ddsketch_DDSketch *inner;
|
|
1823
1912
|
} ddsketch_Handle_DDSketch;
|
|
1824
1913
|
|
|
1914
|
+
typedef enum ddog_ffe_ErrorCode {
|
|
1915
|
+
DDOG_FFE_ERROR_CODE_OK,
|
|
1916
|
+
DDOG_FFE_ERROR_CODE_TYPE_MISMATCH,
|
|
1917
|
+
DDOG_FFE_ERROR_CODE_PARSE_ERROR,
|
|
1918
|
+
DDOG_FFE_ERROR_CODE_FLAG_NOT_FOUND,
|
|
1919
|
+
DDOG_FFE_ERROR_CODE_TARGETING_KEY_MISSING,
|
|
1920
|
+
DDOG_FFE_ERROR_CODE_INVALID_CONTEXT,
|
|
1921
|
+
DDOG_FFE_ERROR_CODE_PROVIDER_NOT_READY,
|
|
1922
|
+
DDOG_FFE_ERROR_CODE_GENERAL,
|
|
1923
|
+
} ddog_ffe_ErrorCode;
|
|
1924
|
+
|
|
1825
1925
|
typedef enum ddog_ffe_ExpectedFlagType {
|
|
1826
1926
|
DDOG_FFE_EXPECTED_FLAG_TYPE_STRING,
|
|
1827
1927
|
DDOG_FFE_EXPECTED_FLAG_TYPE_INTEGER,
|
|
@@ -1841,17 +1941,6 @@ typedef enum ddog_ffe_Reason {
|
|
|
1841
1941
|
DDOG_FFE_REASON_ERROR,
|
|
1842
1942
|
} ddog_ffe_Reason;
|
|
1843
1943
|
|
|
1844
|
-
typedef enum ddog_ffe_ErrorCode {
|
|
1845
|
-
DDOG_FFE_ERROR_CODE_OK,
|
|
1846
|
-
DDOG_FFE_ERROR_CODE_TYPE_MISMATCH,
|
|
1847
|
-
DDOG_FFE_ERROR_CODE_PARSE_ERROR,
|
|
1848
|
-
DDOG_FFE_ERROR_CODE_FLAG_NOT_FOUND,
|
|
1849
|
-
DDOG_FFE_ERROR_CODE_TARGETING_KEY_MISSING,
|
|
1850
|
-
DDOG_FFE_ERROR_CODE_INVALID_CONTEXT,
|
|
1851
|
-
DDOG_FFE_ERROR_CODE_PROVIDER_NOT_READY,
|
|
1852
|
-
DDOG_FFE_ERROR_CODE_GENERAL,
|
|
1853
|
-
} ddog_ffe_ErrorCode;
|
|
1854
|
-
|
|
1855
1944
|
/**
|
|
1856
1945
|
* Remote configuration for the feature flagging client. It's a central piece that defines client
|
|
1857
1946
|
* behavior.
|
|
@@ -2032,28 +2121,37 @@ typedef struct ddog_ffe_AttributePair {
|
|
|
2032
2121
|
struct ddog_ffe_AttributeValue value;
|
|
2033
2122
|
} ddog_ffe_AttributePair;
|
|
2034
2123
|
|
|
2124
|
+
typedef enum ddog_crasht_BuildIdType {
|
|
2125
|
+
DDOG_CRASHT_BUILD_ID_TYPE_GNU,
|
|
2126
|
+
DDOG_CRASHT_BUILD_ID_TYPE_GO,
|
|
2127
|
+
DDOG_CRASHT_BUILD_ID_TYPE_PDB,
|
|
2128
|
+
DDOG_CRASHT_BUILD_ID_TYPE_SHA1,
|
|
2129
|
+
} ddog_crasht_BuildIdType;
|
|
2130
|
+
|
|
2035
2131
|
/**
|
|
2036
|
-
*
|
|
2037
|
-
* If the stack is sufficiently corruputed, it is possible (but unlikely),
|
|
2038
|
-
* for stack trace collection itself to crash.
|
|
2039
|
-
* We recommend fully enabling stacktrace collection, but having an environment
|
|
2040
|
-
* variable to allow downgrading the collector.
|
|
2132
|
+
* Result type for runtime callback registration
|
|
2041
2133
|
*/
|
|
2042
|
-
typedef enum
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
}
|
|
2134
|
+
typedef enum ddog_crasht_CallbackResult {
|
|
2135
|
+
DDOG_CRASHT_CALLBACK_RESULT_OK,
|
|
2136
|
+
DDOG_CRASHT_CALLBACK_RESULT_ERROR,
|
|
2137
|
+
} ddog_crasht_CallbackResult;
|
|
2138
|
+
|
|
2139
|
+
typedef enum ddog_crasht_DemangleOptions {
|
|
2140
|
+
DDOG_CRASHT_DEMANGLE_OPTIONS_COMPLETE,
|
|
2141
|
+
DDOG_CRASHT_DEMANGLE_OPTIONS_NAME_ONLY,
|
|
2142
|
+
} ddog_crasht_DemangleOptions;
|
|
2143
|
+
|
|
2144
|
+
typedef enum ddog_crasht_ErrorKind {
|
|
2145
|
+
DDOG_CRASHT_ERROR_KIND_PANIC,
|
|
2146
|
+
DDOG_CRASHT_ERROR_KIND_UNHANDLED_EXCEPTION,
|
|
2147
|
+
DDOG_CRASHT_ERROR_KIND_UNIX_SIGNAL,
|
|
2148
|
+
} ddog_crasht_ErrorKind;
|
|
2149
|
+
|
|
2150
|
+
typedef enum ddog_crasht_FileType {
|
|
2151
|
+
DDOG_CRASHT_FILE_TYPE_APK,
|
|
2152
|
+
DDOG_CRASHT_FILE_TYPE_ELF,
|
|
2153
|
+
DDOG_CRASHT_FILE_TYPE_PE,
|
|
2154
|
+
} ddog_crasht_FileType;
|
|
2057
2155
|
|
|
2058
2156
|
/**
|
|
2059
2157
|
* This enum represents operations a the tracked library might be engaged in.
|
|
@@ -2078,12 +2176,6 @@ typedef enum ddog_crasht_OpTypes {
|
|
|
2078
2176
|
DDOG_CRASHT_OP_TYPES_SIZE,
|
|
2079
2177
|
} ddog_crasht_OpTypes;
|
|
2080
2178
|
|
|
2081
|
-
typedef enum ddog_crasht_ErrorKind {
|
|
2082
|
-
DDOG_CRASHT_ERROR_KIND_PANIC,
|
|
2083
|
-
DDOG_CRASHT_ERROR_KIND_UNHANDLED_EXCEPTION,
|
|
2084
|
-
DDOG_CRASHT_ERROR_KIND_UNIX_SIGNAL,
|
|
2085
|
-
} ddog_crasht_ErrorKind;
|
|
2086
|
-
|
|
2087
2179
|
/**
|
|
2088
2180
|
* See https://man7.org/linux/man-pages/man2/sigaction.2.html
|
|
2089
2181
|
* MUST REMAIN IN SYNC WITH THE ENUM IN emit_sigcodes.c
|
|
@@ -2156,31 +2248,28 @@ typedef enum ddog_crasht_SignalNames {
|
|
|
2156
2248
|
DDOG_CRASHT_SIGNAL_NAMES_UNKNOWN,
|
|
2157
2249
|
} ddog_crasht_SignalNames;
|
|
2158
2250
|
|
|
2159
|
-
typedef enum ddog_crasht_BuildIdType {
|
|
2160
|
-
DDOG_CRASHT_BUILD_ID_TYPE_GNU,
|
|
2161
|
-
DDOG_CRASHT_BUILD_ID_TYPE_GO,
|
|
2162
|
-
DDOG_CRASHT_BUILD_ID_TYPE_PDB,
|
|
2163
|
-
DDOG_CRASHT_BUILD_ID_TYPE_SHA1,
|
|
2164
|
-
} ddog_crasht_BuildIdType;
|
|
2165
|
-
|
|
2166
|
-
typedef enum ddog_crasht_FileType {
|
|
2167
|
-
DDOG_CRASHT_FILE_TYPE_APK,
|
|
2168
|
-
DDOG_CRASHT_FILE_TYPE_ELF,
|
|
2169
|
-
DDOG_CRASHT_FILE_TYPE_PE,
|
|
2170
|
-
} ddog_crasht_FileType;
|
|
2171
|
-
|
|
2172
|
-
typedef enum ddog_crasht_DemangleOptions {
|
|
2173
|
-
DDOG_CRASHT_DEMANGLE_OPTIONS_COMPLETE,
|
|
2174
|
-
DDOG_CRASHT_DEMANGLE_OPTIONS_NAME_ONLY,
|
|
2175
|
-
} ddog_crasht_DemangleOptions;
|
|
2176
|
-
|
|
2177
2251
|
/**
|
|
2178
|
-
*
|
|
2252
|
+
* Stacktrace collection occurs in the context of a crashing process.
|
|
2253
|
+
* If the stack is sufficiently corruputed, it is possible (but unlikely),
|
|
2254
|
+
* for stack trace collection itself to crash.
|
|
2255
|
+
* We recommend fully enabling stacktrace collection, but having an environment
|
|
2256
|
+
* variable to allow downgrading the collector.
|
|
2179
2257
|
*/
|
|
2180
|
-
typedef enum
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2258
|
+
typedef enum ddog_crasht_StacktraceCollection {
|
|
2259
|
+
/**
|
|
2260
|
+
* Stacktrace collection occurs in the
|
|
2261
|
+
*/
|
|
2262
|
+
DDOG_CRASHT_STACKTRACE_COLLECTION_DISABLED,
|
|
2263
|
+
DDOG_CRASHT_STACKTRACE_COLLECTION_WITHOUT_SYMBOLS,
|
|
2264
|
+
/**
|
|
2265
|
+
* This option uses `backtrace::resolve_frame_unsynchronized()` to gather symbol information
|
|
2266
|
+
* and also unwind inlined functions. Enabling this feature will not only provide symbolic
|
|
2267
|
+
* details, but may also yield additional or less stack frames compared to other
|
|
2268
|
+
* configurations.
|
|
2269
|
+
*/
|
|
2270
|
+
DDOG_CRASHT_STACKTRACE_COLLECTION_ENABLED_WITH_INPROCESS_SYMBOLS,
|
|
2271
|
+
DDOG_CRASHT_STACKTRACE_COLLECTION_ENABLED_WITH_SYMBOLS_IN_RECEIVER,
|
|
2272
|
+
} ddog_crasht_StacktraceCollection;
|
|
2184
2273
|
|
|
2185
2274
|
typedef struct ddog_crasht_CrashInfo ddog_crasht_CrashInfo;
|
|
2186
2275
|
|
|
@@ -2392,6 +2481,10 @@ typedef struct ddog_crasht_OsInfo {
|
|
|
2392
2481
|
|
|
2393
2482
|
typedef struct ddog_crasht_ProcInfo {
|
|
2394
2483
|
uint32_t pid;
|
|
2484
|
+
/**
|
|
2485
|
+
* Optional crashing thread id; 0 means unset.
|
|
2486
|
+
*/
|
|
2487
|
+
uint32_t tid;
|
|
2395
2488
|
} ddog_crasht_ProcInfo;
|
|
2396
2489
|
|
|
2397
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
|
|
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,
|