libdatadog 25.0.0.1.0-aarch64-linux → 29.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/LICENSE +6 -0
- data/LICENSE.Apache +200 -0
- data/LICENSE.BSD3 +24 -0
- data/NOTICE +4 -0
- data/lib/libdatadog/version.rb +1 -1
- data/lib/libdatadog.rb +6 -0
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +17987 -11921
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +304 -192
- data/vendor/{libdatadog-25.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-29.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +55 -1
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +6 -1
- data/vendor/{libdatadog-25.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-29.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/library-config.h +2 -0
- data/vendor/{libdatadog-25.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-29.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/profiling.h +150 -64
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.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-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +17987 -11921
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +304 -192
- data/vendor/{libdatadog-25.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-29.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +55 -1
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +6 -1
- data/vendor/{libdatadog-25.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-29.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/library-config.h +2 -0
- data/vendor/{libdatadog-25.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-29.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +150 -64
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +39 -35
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-25.0.0 → libdatadog-29.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
|
@@ -257,8 +257,99 @@ 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_TRACEPOINT,
|
|
329
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_SIZE,
|
|
330
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_SIZE_SAMPLES,
|
|
331
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_TIME,
|
|
332
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_TIME_SAMPLES,
|
|
333
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_SIZE,
|
|
334
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_SIZE_SAMPLES,
|
|
335
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_TIME,
|
|
336
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_TIME_SAMPLES,
|
|
337
|
+
/**
|
|
338
|
+
* Legacy: Use specific space variants (`InuseSpace`, `HeapSpace`, `AllocSpace`) instead
|
|
339
|
+
*/
|
|
340
|
+
DDOG_PROF_SAMPLE_TYPE_SPACE_LEGACY,
|
|
341
|
+
DDOG_PROF_SAMPLE_TYPE_TIMELINE,
|
|
342
|
+
DDOG_PROF_SAMPLE_TYPE_WALL_SAMPLES,
|
|
343
|
+
DDOG_PROF_SAMPLE_TYPE_WALL_TIME,
|
|
344
|
+
/**
|
|
345
|
+
* Legacy: Use `WallTime` instead for consistency with naming scheme
|
|
346
|
+
*/
|
|
347
|
+
DDOG_PROF_SAMPLE_TYPE_WALL_LEGACY,
|
|
348
|
+
DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_COUNT,
|
|
349
|
+
DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_NANOSECONDS,
|
|
350
|
+
DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_BYTES,
|
|
351
|
+
} ddog_prof_SampleType;
|
|
352
|
+
|
|
262
353
|
typedef enum ddog_prof_Utf8Option {
|
|
263
354
|
/**
|
|
264
355
|
* The string is assumed to be valid UTF-8. If it's not, the behavior
|
|
@@ -276,8 +367,12 @@ typedef enum ddog_prof_Utf8Option {
|
|
|
276
367
|
DDOG_PROF_UTF8_OPTION_VALIDATE,
|
|
277
368
|
} ddog_prof_Utf8Option;
|
|
278
369
|
|
|
370
|
+
typedef struct ddog_OpaqueCancellationToken ddog_OpaqueCancellationToken;
|
|
371
|
+
|
|
279
372
|
typedef struct ddog_prof_EncodedProfile ddog_prof_EncodedProfile;
|
|
280
373
|
|
|
374
|
+
typedef struct ddog_prof_ExporterManager ddog_prof_ExporterManager;
|
|
375
|
+
|
|
281
376
|
typedef struct ddog_prof_Exporter ddog_prof_Exporter;
|
|
282
377
|
|
|
283
378
|
/**
|
|
@@ -291,8 +386,6 @@ typedef struct ddog_prof_Exporter ddog_prof_Exporter;
|
|
|
291
386
|
*/
|
|
292
387
|
typedef struct ddog_prof_ProfilesDictionary ddog_prof_ProfilesDictionary;
|
|
293
388
|
|
|
294
|
-
typedef struct ddog_prof_Exporter_Request ddog_prof_Exporter_Request;
|
|
295
|
-
|
|
296
389
|
typedef struct ddog_Slice_U8 {
|
|
297
390
|
/**
|
|
298
391
|
* Should be non-null and suitably aligned for the underlying type. It is
|
|
@@ -337,17 +430,23 @@ typedef enum ddog_prof_Endpoint_Tag {
|
|
|
337
430
|
DDOG_PROF_ENDPOINT_FILE,
|
|
338
431
|
} ddog_prof_Endpoint_Tag;
|
|
339
432
|
|
|
433
|
+
typedef struct ddog_prof_Endpoint_ddog_prof_Agent_Body {
|
|
434
|
+
ddog_CharSlice _0;
|
|
435
|
+
uint64_t _1;
|
|
436
|
+
bool _2;
|
|
437
|
+
} ddog_prof_Endpoint_ddog_prof_Agent_Body;
|
|
438
|
+
|
|
340
439
|
typedef struct ddog_prof_Endpoint_ddog_prof_Agentless_Body {
|
|
341
440
|
ddog_CharSlice _0;
|
|
342
441
|
ddog_CharSlice _1;
|
|
442
|
+
uint64_t _2;
|
|
443
|
+
bool _3;
|
|
343
444
|
} ddog_prof_Endpoint_ddog_prof_Agentless_Body;
|
|
344
445
|
|
|
345
446
|
typedef struct ddog_prof_Endpoint {
|
|
346
447
|
ddog_prof_Endpoint_Tag tag;
|
|
347
448
|
union {
|
|
348
|
-
|
|
349
|
-
ddog_CharSlice agent;
|
|
350
|
-
};
|
|
449
|
+
ddog_prof_Endpoint_ddog_prof_Agent_Body AGENT;
|
|
351
450
|
ddog_prof_Endpoint_ddog_prof_Agentless_Body AGENTLESS;
|
|
352
451
|
struct {
|
|
353
452
|
ddog_CharSlice file;
|
|
@@ -384,52 +483,30 @@ typedef struct ddog_prof_ProfileExporter_Result {
|
|
|
384
483
|
};
|
|
385
484
|
} ddog_prof_ProfileExporter_Result;
|
|
386
485
|
|
|
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;
|
|
486
|
+
typedef struct ddog_HttpStatus {
|
|
487
|
+
uint16_t code;
|
|
488
|
+
} ddog_HttpStatus;
|
|
412
489
|
|
|
413
490
|
/**
|
|
414
491
|
* A generic result type for when an operation may fail,
|
|
415
492
|
* or may return <T> in case of success.
|
|
416
493
|
*/
|
|
417
|
-
typedef enum
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
}
|
|
494
|
+
typedef enum ddog_prof_Result_HttpStatus_Tag {
|
|
495
|
+
DDOG_PROF_RESULT_HTTP_STATUS_OK_HTTP_STATUS,
|
|
496
|
+
DDOG_PROF_RESULT_HTTP_STATUS_ERR_HTTP_STATUS,
|
|
497
|
+
} ddog_prof_Result_HttpStatus_Tag;
|
|
421
498
|
|
|
422
|
-
typedef struct
|
|
423
|
-
|
|
499
|
+
typedef struct ddog_prof_Result_HttpStatus {
|
|
500
|
+
ddog_prof_Result_HttpStatus_Tag tag;
|
|
424
501
|
union {
|
|
425
502
|
struct {
|
|
426
|
-
struct
|
|
503
|
+
struct ddog_HttpStatus ok;
|
|
427
504
|
};
|
|
428
505
|
struct {
|
|
429
506
|
struct ddog_Error err;
|
|
430
507
|
};
|
|
431
508
|
};
|
|
432
|
-
}
|
|
509
|
+
} ddog_prof_Result_HttpStatus;
|
|
433
510
|
|
|
434
511
|
/**
|
|
435
512
|
* Represents an object that should only be referred to by its handle.
|
|
@@ -439,40 +516,62 @@ typedef struct ddog_prof_EncodedProfile {
|
|
|
439
516
|
struct ddog_prof_EncodedProfile *inner;
|
|
440
517
|
} ddog_prof_EncodedProfile;
|
|
441
518
|
|
|
442
|
-
typedef struct
|
|
443
|
-
|
|
444
|
-
|
|
519
|
+
typedef struct ddog_OpaqueCancellationToken ddog_prof_TokioCancellationToken;
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* Represents an object that should only be referred to by its handle.
|
|
523
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
|
524
|
+
*/
|
|
525
|
+
typedef struct ddog_CancellationToken {
|
|
526
|
+
ddog_prof_TokioCancellationToken *inner;
|
|
527
|
+
} ddog_CancellationToken;
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* Represents an object that should only be referred to by its handle.
|
|
531
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
|
532
|
+
*/
|
|
533
|
+
typedef struct ddog_prof_Handle_ExporterManager {
|
|
534
|
+
struct ddog_prof_ExporterManager *inner;
|
|
535
|
+
} ddog_prof_Handle_ExporterManager;
|
|
445
536
|
|
|
446
537
|
/**
|
|
447
538
|
* A generic result type for when an operation may fail,
|
|
448
539
|
* or may return <T> in case of success.
|
|
449
540
|
*/
|
|
450
|
-
typedef enum
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
541
|
+
typedef enum ddog_prof_Result_HandleExporterManager_Tag {
|
|
542
|
+
DDOG_PROF_RESULT_HANDLE_EXPORTER_MANAGER_OK_HANDLE_EXPORTER_MANAGER,
|
|
543
|
+
DDOG_PROF_RESULT_HANDLE_EXPORTER_MANAGER_ERR_HANDLE_EXPORTER_MANAGER,
|
|
544
|
+
} ddog_prof_Result_HandleExporterManager_Tag;
|
|
454
545
|
|
|
455
|
-
typedef struct
|
|
456
|
-
|
|
546
|
+
typedef struct ddog_prof_Result_HandleExporterManager {
|
|
547
|
+
ddog_prof_Result_HandleExporterManager_Tag tag;
|
|
457
548
|
union {
|
|
458
549
|
struct {
|
|
459
|
-
struct
|
|
550
|
+
struct ddog_prof_Handle_ExporterManager ok;
|
|
460
551
|
};
|
|
461
552
|
struct {
|
|
462
553
|
struct ddog_Error err;
|
|
463
554
|
};
|
|
464
555
|
};
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
typedef struct ddog_OpaqueCancellationToken ddog_prof_TokioCancellationToken;
|
|
556
|
+
} ddog_prof_Result_HandleExporterManager;
|
|
468
557
|
|
|
469
558
|
/**
|
|
470
|
-
*
|
|
471
|
-
*
|
|
559
|
+
* A generic result type for when an operation may fail,
|
|
560
|
+
* but there's nothing to return in the case of success.
|
|
472
561
|
*/
|
|
473
|
-
typedef
|
|
474
|
-
|
|
475
|
-
|
|
562
|
+
typedef enum ddog_VoidResult_Tag {
|
|
563
|
+
DDOG_VOID_RESULT_OK,
|
|
564
|
+
DDOG_VOID_RESULT_ERR,
|
|
565
|
+
} ddog_VoidResult_Tag;
|
|
566
|
+
|
|
567
|
+
typedef struct ddog_VoidResult {
|
|
568
|
+
ddog_VoidResult_Tag tag;
|
|
569
|
+
union {
|
|
570
|
+
struct {
|
|
571
|
+
struct ddog_Error err;
|
|
572
|
+
};
|
|
573
|
+
};
|
|
574
|
+
} ddog_VoidResult;
|
|
476
575
|
|
|
477
576
|
/**
|
|
478
577
|
* Represents the result of an operation that either succeeds with no value, or fails with an
|
|
@@ -486,38 +585,36 @@ typedef struct ddog_CancellationToken {
|
|
|
486
585
|
* A `ProfileStatus` owns its error message data. When a `ProfileStatus` with an error is
|
|
487
586
|
* created, it takes ownership of the error string (either as a static reference or heap
|
|
488
587
|
* 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
|
|
588
|
+
* free any heap-allocated memory. This is safe to call on OK as well.
|
|
490
589
|
*
|
|
491
590
|
* # FFI Safety
|
|
492
591
|
*
|
|
493
|
-
* This type is `#[repr(C)]` and safe to pass across FFI boundaries. The C side must treat
|
|
494
|
-
*
|
|
592
|
+
* This type is `#[repr(C)]` and safe to pass across FFI boundaries. The C side must treat the
|
|
593
|
+
* `.flags` as opaque and use API functions; the `.err` field is guaranteed to be null when the
|
|
594
|
+
* `ProfileStatus` is OK, and on Err it will be non-null pointer to a UTF8 encoded string which
|
|
595
|
+
* has a null terminator.
|
|
495
596
|
*/
|
|
496
597
|
typedef struct ddog_prof_Status {
|
|
497
598
|
/**
|
|
498
599
|
* Bitflags indicating the storage type of the error message.
|
|
499
600
|
* This is only meaningful when `err` is non-null. When `err` is
|
|
500
|
-
* null (indicating OK), this field
|
|
501
|
-
*
|
|
502
|
-
*
|
|
503
|
-
*
|
|
601
|
+
* null (indicating OK), this field SHOULD be zero. Currently, only one
|
|
602
|
+
* bit is used `IS_ALLOCATED_MASK`, which determines whether the error
|
|
603
|
+
* message is owned or statically borrowed.
|
|
604
|
+
* In the future, we may store error codes in here as well.
|
|
504
605
|
*/
|
|
505
606
|
size_t flags;
|
|
506
607
|
/**
|
|
507
608
|
* 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`].
|
|
609
|
+
* - If null this indicates OK (success). This is an FFI guarantee.
|
|
610
|
+
* - If non-null and allocated bit is clear: points to static data with `'static` lifetime.
|
|
611
|
+
* - If non-null and allocated bit is set: points to owned heap-allocated data.
|
|
514
612
|
*
|
|
515
613
|
* # Safety Invariant
|
|
516
614
|
*
|
|
517
|
-
* When non-null, `err` must point to a valid, null-terminated C
|
|
518
|
-
*
|
|
519
|
-
*
|
|
520
|
-
* is called.
|
|
615
|
+
* When non-null, `err` must point to a valid, null-terminated C string in UTF-8 encoding.
|
|
616
|
+
* The pointer remains valid for the lifetime of this `ProfileStatus` or until
|
|
617
|
+
* [`ddog_prof_Status_drop`] is called.
|
|
521
618
|
*/
|
|
522
619
|
const char *err;
|
|
523
620
|
} ddog_prof_Status;
|
|
@@ -557,27 +654,22 @@ typedef struct ddog_prof_Profile_NewResult {
|
|
|
557
654
|
};
|
|
558
655
|
} ddog_prof_Profile_NewResult;
|
|
559
656
|
|
|
560
|
-
typedef struct
|
|
561
|
-
ddog_CharSlice type_;
|
|
562
|
-
ddog_CharSlice unit;
|
|
563
|
-
} ddog_prof_ValueType;
|
|
564
|
-
|
|
565
|
-
typedef struct ddog_prof_Slice_ValueType {
|
|
657
|
+
typedef struct ddog_prof_Slice_SampleType {
|
|
566
658
|
/**
|
|
567
659
|
* Should be non-null and suitably aligned for the underlying type. It is
|
|
568
660
|
* allowed but not recommended for the pointer to be null when the len is
|
|
569
661
|
* zero.
|
|
570
662
|
*/
|
|
571
|
-
const
|
|
663
|
+
const enum ddog_prof_SampleType *ptr;
|
|
572
664
|
/**
|
|
573
665
|
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
|
574
666
|
* than or equal to [isize::MAX].
|
|
575
667
|
*/
|
|
576
668
|
uintptr_t len;
|
|
577
|
-
}
|
|
669
|
+
} ddog_prof_Slice_SampleType;
|
|
578
670
|
|
|
579
671
|
typedef struct ddog_prof_Period {
|
|
580
|
-
|
|
672
|
+
enum ddog_prof_SampleType sample_type;
|
|
581
673
|
int64_t value;
|
|
582
674
|
} ddog_prof_Period;
|
|
583
675
|
|
|
@@ -827,6 +919,9 @@ typedef struct ddog_prof_Mapping2 {
|
|
|
827
919
|
* performed on; it is not generally guaranteed that ids from one dictionary
|
|
828
920
|
* can be used in another dictionary, even if it happens to work by
|
|
829
921
|
* implementation detail.
|
|
922
|
+
*
|
|
923
|
+
* `Eq`/`Hash` and other comparisons are based on this handle value, and are
|
|
924
|
+
* only intended for ids produced by the same `ProfilesDictionary`.
|
|
830
925
|
*/
|
|
831
926
|
typedef struct ddog_prof_Mapping2 *ddog_prof_MappingId2;
|
|
832
927
|
|
|
@@ -849,9 +944,18 @@ typedef struct ddog_prof_Function2 {
|
|
|
849
944
|
* performed on; it is not generally guaranteed that ids from one dictionary
|
|
850
945
|
* can be used in another dictionary, even if it happens to work by
|
|
851
946
|
* implementation detail.
|
|
947
|
+
*
|
|
948
|
+
* `Eq`/`Hash` and other comparisons are based on this handle value, and are
|
|
949
|
+
* only intended for ids produced by the same `ProfilesDictionary`.
|
|
852
950
|
*/
|
|
853
951
|
typedef struct ddog_prof_Function2 *ddog_prof_FunctionId2;
|
|
854
952
|
|
|
953
|
+
/**
|
|
954
|
+
* A location keyed by `MappingId2`/`FunctionId2` handles.
|
|
955
|
+
*
|
|
956
|
+
* `Eq`/`Hash` comparisons use those handle values, so they are intended for
|
|
957
|
+
* data that comes from the same `ProfilesDictionary`.
|
|
958
|
+
*/
|
|
855
959
|
typedef struct ddog_prof_Location2 {
|
|
856
960
|
ddog_prof_MappingId2 mapping;
|
|
857
961
|
ddog_prof_FunctionId2 function;
|
|
@@ -1394,40 +1498,12 @@ typedef enum ddog_ConfigurationOrigin {
|
|
|
1394
1498
|
DDOG_CONFIGURATION_ORIGIN_CALCULATED,
|
|
1395
1499
|
} ddog_ConfigurationOrigin;
|
|
1396
1500
|
|
|
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
1501
|
typedef enum ddog_LogLevel {
|
|
1420
1502
|
DDOG_LOG_LEVEL_ERROR,
|
|
1421
1503
|
DDOG_LOG_LEVEL_WARN,
|
|
1422
1504
|
DDOG_LOG_LEVEL_DEBUG,
|
|
1423
1505
|
} ddog_LogLevel;
|
|
1424
1506
|
|
|
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
1507
|
typedef enum ddog_MetricNamespace {
|
|
1432
1508
|
DDOG_METRIC_NAMESPACE_TRACERS,
|
|
1433
1509
|
DDOG_METRIC_NAMESPACE_PROFILERS,
|
|
@@ -1442,6 +1518,34 @@ typedef enum ddog_MetricNamespace {
|
|
|
1442
1518
|
DDOG_METRIC_NAMESPACE_SIDECAR,
|
|
1443
1519
|
} ddog_MetricNamespace;
|
|
1444
1520
|
|
|
1521
|
+
typedef enum ddog_MetricType {
|
|
1522
|
+
DDOG_METRIC_TYPE_GAUGE,
|
|
1523
|
+
DDOG_METRIC_TYPE_COUNT,
|
|
1524
|
+
DDOG_METRIC_TYPE_DISTRIBUTION,
|
|
1525
|
+
} ddog_MetricType;
|
|
1526
|
+
|
|
1527
|
+
typedef enum ddog_TelemetryWorkerBuilderBoolProperty {
|
|
1528
|
+
DDOG_TELEMETRY_WORKER_BUILDER_BOOL_PROPERTY_CONFIG_TELEMETRY_DEBUG_LOGGING_ENABLED,
|
|
1529
|
+
} ddog_TelemetryWorkerBuilderBoolProperty;
|
|
1530
|
+
|
|
1531
|
+
typedef enum ddog_TelemetryWorkerBuilderEndpointProperty {
|
|
1532
|
+
DDOG_TELEMETRY_WORKER_BUILDER_ENDPOINT_PROPERTY_CONFIG_ENDPOINT,
|
|
1533
|
+
} ddog_TelemetryWorkerBuilderEndpointProperty;
|
|
1534
|
+
|
|
1535
|
+
typedef enum ddog_TelemetryWorkerBuilderStrProperty {
|
|
1536
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_SERVICE_VERSION,
|
|
1537
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_ENV,
|
|
1538
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_NAME,
|
|
1539
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_VERSION,
|
|
1540
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_PATCHES,
|
|
1541
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_CONTAINER_ID,
|
|
1542
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_OS,
|
|
1543
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_NAME,
|
|
1544
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_RELEASE,
|
|
1545
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_VERSION,
|
|
1546
|
+
DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_RUNTIME_ID,
|
|
1547
|
+
} ddog_TelemetryWorkerBuilderStrProperty;
|
|
1548
|
+
|
|
1445
1549
|
typedef struct ddog_TelemetryWorkerBuilder ddog_TelemetryWorkerBuilder;
|
|
1446
1550
|
|
|
1447
1551
|
/**
|
|
@@ -1719,20 +1823,6 @@ typedef struct ddog_Result_TracerMemfdHandle {
|
|
|
1719
1823
|
};
|
|
1720
1824
|
} ddog_Result_TracerMemfdHandle;
|
|
1721
1825
|
|
|
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
1826
|
/**
|
|
1737
1827
|
* Log level for filtering log events.
|
|
1738
1828
|
*/
|
|
@@ -1769,6 +1859,20 @@ typedef enum ddog_LogEventLevel {
|
|
|
1769
1859
|
DDOG_LOG_EVENT_LEVEL_ERROR = 4,
|
|
1770
1860
|
} ddog_LogEventLevel;
|
|
1771
1861
|
|
|
1862
|
+
/**
|
|
1863
|
+
* Target for standard stream output.
|
|
1864
|
+
*/
|
|
1865
|
+
typedef enum ddog_StdTarget {
|
|
1866
|
+
/**
|
|
1867
|
+
* Write to standard output (stdout).
|
|
1868
|
+
*/
|
|
1869
|
+
DDOG_STD_TARGET_OUT,
|
|
1870
|
+
/**
|
|
1871
|
+
* Write to standard error (stderr).
|
|
1872
|
+
*/
|
|
1873
|
+
DDOG_STD_TARGET_ERR,
|
|
1874
|
+
} ddog_StdTarget;
|
|
1875
|
+
|
|
1772
1876
|
/**
|
|
1773
1877
|
* Configuration for standard stream output.
|
|
1774
1878
|
*/
|
|
@@ -1822,6 +1926,17 @@ typedef struct ddsketch_Handle_DDSketch {
|
|
|
1822
1926
|
struct ddsketch_DDSketch *inner;
|
|
1823
1927
|
} ddsketch_Handle_DDSketch;
|
|
1824
1928
|
|
|
1929
|
+
typedef enum ddog_ffe_ErrorCode {
|
|
1930
|
+
DDOG_FFE_ERROR_CODE_OK,
|
|
1931
|
+
DDOG_FFE_ERROR_CODE_TYPE_MISMATCH,
|
|
1932
|
+
DDOG_FFE_ERROR_CODE_PARSE_ERROR,
|
|
1933
|
+
DDOG_FFE_ERROR_CODE_FLAG_NOT_FOUND,
|
|
1934
|
+
DDOG_FFE_ERROR_CODE_TARGETING_KEY_MISSING,
|
|
1935
|
+
DDOG_FFE_ERROR_CODE_INVALID_CONTEXT,
|
|
1936
|
+
DDOG_FFE_ERROR_CODE_PROVIDER_NOT_READY,
|
|
1937
|
+
DDOG_FFE_ERROR_CODE_GENERAL,
|
|
1938
|
+
} ddog_ffe_ErrorCode;
|
|
1939
|
+
|
|
1825
1940
|
typedef enum ddog_ffe_ExpectedFlagType {
|
|
1826
1941
|
DDOG_FFE_EXPECTED_FLAG_TYPE_STRING,
|
|
1827
1942
|
DDOG_FFE_EXPECTED_FLAG_TYPE_INTEGER,
|
|
@@ -1841,17 +1956,6 @@ typedef enum ddog_ffe_Reason {
|
|
|
1841
1956
|
DDOG_FFE_REASON_ERROR,
|
|
1842
1957
|
} ddog_ffe_Reason;
|
|
1843
1958
|
|
|
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
1959
|
/**
|
|
1856
1960
|
* Remote configuration for the feature flagging client. It's a central piece that defines client
|
|
1857
1961
|
* behavior.
|
|
@@ -2032,28 +2136,37 @@ typedef struct ddog_ffe_AttributePair {
|
|
|
2032
2136
|
struct ddog_ffe_AttributeValue value;
|
|
2033
2137
|
} ddog_ffe_AttributePair;
|
|
2034
2138
|
|
|
2139
|
+
typedef enum ddog_crasht_BuildIdType {
|
|
2140
|
+
DDOG_CRASHT_BUILD_ID_TYPE_GNU,
|
|
2141
|
+
DDOG_CRASHT_BUILD_ID_TYPE_GO,
|
|
2142
|
+
DDOG_CRASHT_BUILD_ID_TYPE_PDB,
|
|
2143
|
+
DDOG_CRASHT_BUILD_ID_TYPE_SHA1,
|
|
2144
|
+
} ddog_crasht_BuildIdType;
|
|
2145
|
+
|
|
2035
2146
|
/**
|
|
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.
|
|
2147
|
+
* Result type for runtime callback registration
|
|
2041
2148
|
*/
|
|
2042
|
-
typedef enum
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
}
|
|
2149
|
+
typedef enum ddog_crasht_CallbackResult {
|
|
2150
|
+
DDOG_CRASHT_CALLBACK_RESULT_OK,
|
|
2151
|
+
DDOG_CRASHT_CALLBACK_RESULT_ERROR,
|
|
2152
|
+
} ddog_crasht_CallbackResult;
|
|
2153
|
+
|
|
2154
|
+
typedef enum ddog_crasht_DemangleOptions {
|
|
2155
|
+
DDOG_CRASHT_DEMANGLE_OPTIONS_COMPLETE,
|
|
2156
|
+
DDOG_CRASHT_DEMANGLE_OPTIONS_NAME_ONLY,
|
|
2157
|
+
} ddog_crasht_DemangleOptions;
|
|
2158
|
+
|
|
2159
|
+
typedef enum ddog_crasht_ErrorKind {
|
|
2160
|
+
DDOG_CRASHT_ERROR_KIND_PANIC,
|
|
2161
|
+
DDOG_CRASHT_ERROR_KIND_UNHANDLED_EXCEPTION,
|
|
2162
|
+
DDOG_CRASHT_ERROR_KIND_UNIX_SIGNAL,
|
|
2163
|
+
} ddog_crasht_ErrorKind;
|
|
2164
|
+
|
|
2165
|
+
typedef enum ddog_crasht_FileType {
|
|
2166
|
+
DDOG_CRASHT_FILE_TYPE_APK,
|
|
2167
|
+
DDOG_CRASHT_FILE_TYPE_ELF,
|
|
2168
|
+
DDOG_CRASHT_FILE_TYPE_PE,
|
|
2169
|
+
} ddog_crasht_FileType;
|
|
2057
2170
|
|
|
2058
2171
|
/**
|
|
2059
2172
|
* This enum represents operations a the tracked library might be engaged in.
|
|
@@ -2078,12 +2191,6 @@ typedef enum ddog_crasht_OpTypes {
|
|
|
2078
2191
|
DDOG_CRASHT_OP_TYPES_SIZE,
|
|
2079
2192
|
} ddog_crasht_OpTypes;
|
|
2080
2193
|
|
|
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
2194
|
/**
|
|
2088
2195
|
* See https://man7.org/linux/man-pages/man2/sigaction.2.html
|
|
2089
2196
|
* MUST REMAIN IN SYNC WITH THE ENUM IN emit_sigcodes.c
|
|
@@ -2156,31 +2263,25 @@ typedef enum ddog_crasht_SignalNames {
|
|
|
2156
2263
|
DDOG_CRASHT_SIGNAL_NAMES_UNKNOWN,
|
|
2157
2264
|
} ddog_crasht_SignalNames;
|
|
2158
2265
|
|
|
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
2266
|
/**
|
|
2178
|
-
*
|
|
2267
|
+
* Stacktrace collection occurs in the context of a crashing process.
|
|
2268
|
+
* If the stack is sufficiently corruputed, it is possible (but unlikely),
|
|
2269
|
+
* for stack trace collection itself to crash.
|
|
2270
|
+
* We recommend fully enabling stacktrace collection, but having an environment
|
|
2271
|
+
* variable to allow downgrading the collector.
|
|
2179
2272
|
*/
|
|
2180
|
-
typedef enum
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2273
|
+
typedef enum ddog_crasht_StacktraceCollection {
|
|
2274
|
+
DDOG_CRASHT_STACKTRACE_COLLECTION_DISABLED,
|
|
2275
|
+
DDOG_CRASHT_STACKTRACE_COLLECTION_WITHOUT_SYMBOLS,
|
|
2276
|
+
/**
|
|
2277
|
+
* This option uses `backtrace::resolve_frame_unsynchronized()` to gather symbol information
|
|
2278
|
+
* and also unwind inlined functions. Enabling this feature will not only provide symbolic
|
|
2279
|
+
* details, but may also yield additional or less stack frames compared to other
|
|
2280
|
+
* configurations.
|
|
2281
|
+
*/
|
|
2282
|
+
DDOG_CRASHT_STACKTRACE_COLLECTION_ENABLED_WITH_INPROCESS_SYMBOLS,
|
|
2283
|
+
DDOG_CRASHT_STACKTRACE_COLLECTION_ENABLED_WITH_SYMBOLS_IN_RECEIVER,
|
|
2284
|
+
} ddog_crasht_StacktraceCollection;
|
|
2184
2285
|
|
|
2185
2286
|
typedef struct ddog_crasht_CrashInfo ddog_crasht_CrashInfo;
|
|
2186
2287
|
|
|
@@ -2306,6 +2407,14 @@ typedef struct ddog_crasht_Slice_CInt {
|
|
|
2306
2407
|
uintptr_t len;
|
|
2307
2408
|
} ddog_crasht_Slice_CInt;
|
|
2308
2409
|
|
|
2410
|
+
/**
|
|
2411
|
+
* Represents an object that should only be referred to by its handle.
|
|
2412
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
|
2413
|
+
*/
|
|
2414
|
+
typedef struct ddog_crasht_Handle_StackTrace {
|
|
2415
|
+
struct ddog_crasht_StackTrace *inner;
|
|
2416
|
+
} ddog_crasht_Handle_StackTrace;
|
|
2417
|
+
|
|
2309
2418
|
/**
|
|
2310
2419
|
* A generic result type for when an operation may fail,
|
|
2311
2420
|
* or may return <T> in case of success.
|
|
@@ -2392,6 +2501,10 @@ typedef struct ddog_crasht_OsInfo {
|
|
|
2392
2501
|
|
|
2393
2502
|
typedef struct ddog_crasht_ProcInfo {
|
|
2394
2503
|
uint32_t pid;
|
|
2504
|
+
/**
|
|
2505
|
+
* Optional crashing thread id; 0 means unset.
|
|
2506
|
+
*/
|
|
2507
|
+
uint32_t tid;
|
|
2395
2508
|
} ddog_crasht_ProcInfo;
|
|
2396
2509
|
|
|
2397
2510
|
typedef struct ddog_crasht_SigInfo {
|
|
@@ -2407,14 +2520,6 @@ typedef struct ddog_crasht_Span {
|
|
|
2407
2520
|
ddog_CharSlice thread_name;
|
|
2408
2521
|
} ddog_crasht_Span;
|
|
2409
2522
|
|
|
2410
|
-
/**
|
|
2411
|
-
* Represents an object that should only be referred to by its handle.
|
|
2412
|
-
* Do not access its member for any reason, only use the C API functions on this struct.
|
|
2413
|
-
*/
|
|
2414
|
-
typedef struct ddog_crasht_Handle_StackTrace {
|
|
2415
|
-
struct ddog_crasht_StackTrace *inner;
|
|
2416
|
-
} ddog_crasht_Handle_StackTrace;
|
|
2417
|
-
|
|
2418
2523
|
typedef struct ddog_crasht_ThreadData {
|
|
2419
2524
|
bool crashed;
|
|
2420
2525
|
ddog_CharSlice name;
|
|
@@ -2614,6 +2719,13 @@ void ddog_endpoint_set_timeout(struct ddog_Endpoint *endpoint, uint64_t millis);
|
|
|
2614
2719
|
|
|
2615
2720
|
void ddog_endpoint_set_test_token(struct ddog_Endpoint *endpoint, ddog_CharSlice token);
|
|
2616
2721
|
|
|
2722
|
+
/**
|
|
2723
|
+
* Set whether to use the system DNS resolver when building the reqwest client.
|
|
2724
|
+
* If false, the default in-process resolver is used.
|
|
2725
|
+
*/
|
|
2726
|
+
void ddog_endpoint_set_use_system_resolver(struct ddog_Endpoint *endpoint,
|
|
2727
|
+
bool use_system_resolver);
|
|
2728
|
+
|
|
2617
2729
|
void ddog_endpoint_drop(struct ddog_Endpoint*);
|
|
2618
2730
|
|
|
2619
2731
|
struct ddog_Option_U32 ddog_Option_U32_some(uint32_t v);
|