libdatadog 16.0.1.1.0 → 18.1.0.1.0
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 +2 -2
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/LICENSE-3rdparty.yml +8181 -4123
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +585 -123
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +108 -14
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/data-pipeline.h +49 -2
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/library-config.h +18 -6
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +357 -42
- data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/telemetry.h +27 -30
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/LICENSE-3rdparty.yml +8181 -4123
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +585 -123
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +108 -14
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/data-pipeline.h +49 -2
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/library-config.h +18 -6
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +357 -42
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/telemetry.h +27 -30
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/LICENSE-3rdparty.yml +8181 -4123
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +585 -123
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +108 -14
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +49 -2
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/library-config.h +18 -6
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/profiling.h +357 -42
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/telemetry.h +27 -30
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/LICENSE-3rdparty.yml +8181 -4123
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/common.h +585 -123
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/crashtracker.h +108 -14
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +49 -2
- data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/library-config.h +18 -6
- data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/profiling.h +357 -42
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/telemetry.h +27 -30
- data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- metadata +56 -59
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
@@ -257,14 +257,18 @@ typedef struct ddog_Vec_Tag_ParseResult {
|
|
257
257
|
struct ddog_Error *error_message;
|
258
258
|
} ddog_Vec_Tag_ParseResult;
|
259
259
|
|
260
|
-
typedef struct
|
260
|
+
typedef struct ddog_prof_EncodedProfile ddog_prof_EncodedProfile;
|
261
261
|
|
262
262
|
typedef struct ddog_prof_Exporter ddog_prof_Exporter;
|
263
263
|
|
264
|
-
typedef struct ddog_prof_ProfiledEndpointsStats ddog_prof_ProfiledEndpointsStats;
|
265
|
-
|
266
264
|
typedef struct ddog_prof_Exporter_Request ddog_prof_Exporter_Request;
|
267
265
|
|
266
|
+
/**
|
267
|
+
* A tag is a combination of a wire_type, stored in the least significant
|
268
|
+
* three bits, and the field number that is defined in the .proto file.
|
269
|
+
*/
|
270
|
+
typedef struct ddog_Tag ddog_Tag;
|
271
|
+
|
268
272
|
typedef struct ddog_Slice_U8 {
|
269
273
|
/**
|
270
274
|
* Should be non-null and suitably aligned for the underlying type. It is
|
@@ -327,84 +331,131 @@ typedef struct ddog_prof_Endpoint {
|
|
327
331
|
};
|
328
332
|
} ddog_prof_Endpoint;
|
329
333
|
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
+
/**
|
335
|
+
* Represents an object that should only be referred to by its handle.
|
336
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
337
|
+
*/
|
338
|
+
typedef struct ddog_prof_ProfileExporter {
|
339
|
+
struct ddog_prof_Exporter *inner;
|
340
|
+
} ddog_prof_ProfileExporter;
|
334
341
|
|
335
|
-
|
336
|
-
|
342
|
+
/**
|
343
|
+
* A generic result type for when an operation may fail,
|
344
|
+
* or may return <T> in case of success.
|
345
|
+
*/
|
346
|
+
typedef enum ddog_prof_ProfileExporter_Result_Tag {
|
347
|
+
DDOG_PROF_PROFILE_EXPORTER_RESULT_OK_HANDLE_PROFILE_EXPORTER,
|
348
|
+
DDOG_PROF_PROFILE_EXPORTER_RESULT_ERR_HANDLE_PROFILE_EXPORTER,
|
349
|
+
} ddog_prof_ProfileExporter_Result_Tag;
|
350
|
+
|
351
|
+
typedef struct ddog_prof_ProfileExporter_Result {
|
352
|
+
ddog_prof_ProfileExporter_Result_Tag tag;
|
337
353
|
union {
|
338
354
|
struct {
|
339
|
-
struct
|
355
|
+
struct ddog_prof_ProfileExporter ok;
|
340
356
|
};
|
341
357
|
struct {
|
342
358
|
struct ddog_Error err;
|
343
359
|
};
|
344
360
|
};
|
345
|
-
}
|
361
|
+
} ddog_prof_ProfileExporter_Result;
|
346
362
|
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
363
|
+
/**
|
364
|
+
* A generic result type for when an operation may fail,
|
365
|
+
* but there's nothing to return in the case of success.
|
366
|
+
*/
|
367
|
+
typedef enum ddog_VoidResult_Tag {
|
368
|
+
DDOG_VOID_RESULT_OK,
|
369
|
+
DDOG_VOID_RESULT_ERR,
|
370
|
+
} ddog_VoidResult_Tag;
|
351
371
|
|
352
|
-
typedef struct
|
353
|
-
|
372
|
+
typedef struct ddog_VoidResult {
|
373
|
+
ddog_VoidResult_Tag tag;
|
354
374
|
union {
|
355
375
|
struct {
|
356
|
-
|
376
|
+
/**
|
377
|
+
* Do not use the value of Ok. This value only exists to overcome
|
378
|
+
* Rust -> C code generation.
|
379
|
+
*/
|
380
|
+
bool ok;
|
381
|
+
};
|
382
|
+
struct {
|
383
|
+
struct ddog_Error err;
|
357
384
|
};
|
358
385
|
};
|
359
|
-
}
|
386
|
+
} ddog_VoidResult;
|
360
387
|
|
361
|
-
|
388
|
+
/**
|
389
|
+
* Represents an object that should only be referred to by its handle.
|
390
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
391
|
+
*/
|
392
|
+
typedef struct ddog_prof_Request {
|
393
|
+
struct ddog_prof_Exporter_Request *inner;
|
394
|
+
} ddog_prof_Request;
|
362
395
|
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
396
|
+
/**
|
397
|
+
* A generic result type for when an operation may fail,
|
398
|
+
* or may return <T> in case of success.
|
399
|
+
*/
|
400
|
+
typedef enum ddog_prof_Request_Result_Tag {
|
401
|
+
DDOG_PROF_REQUEST_RESULT_OK_HANDLE_REQUEST,
|
402
|
+
DDOG_PROF_REQUEST_RESULT_ERR_HANDLE_REQUEST,
|
403
|
+
} ddog_prof_Request_Result_Tag;
|
367
404
|
|
368
|
-
typedef struct
|
369
|
-
|
405
|
+
typedef struct ddog_prof_Request_Result {
|
406
|
+
ddog_prof_Request_Result_Tag tag;
|
370
407
|
union {
|
371
408
|
struct {
|
372
|
-
struct
|
409
|
+
struct ddog_prof_Request ok;
|
373
410
|
};
|
374
411
|
struct {
|
375
412
|
struct ddog_Error err;
|
376
413
|
};
|
377
414
|
};
|
378
|
-
}
|
415
|
+
} ddog_prof_Request_Result;
|
379
416
|
|
380
417
|
/**
|
381
|
-
* Represents
|
418
|
+
* Represents an object that should only be referred to by its handle.
|
419
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
382
420
|
*/
|
383
|
-
typedef struct
|
384
|
-
|
385
|
-
|
386
|
-
} ddog_Timespec;
|
421
|
+
typedef struct ddog_prof_EncodedProfile {
|
422
|
+
struct ddog_prof_EncodedProfile *inner;
|
423
|
+
} ddog_prof_EncodedProfile;
|
387
424
|
|
388
425
|
typedef struct ddog_HttpStatus {
|
389
426
|
uint16_t code;
|
390
427
|
} ddog_HttpStatus;
|
391
428
|
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
429
|
+
/**
|
430
|
+
* A generic result type for when an operation may fail,
|
431
|
+
* or may return <T> in case of success.
|
432
|
+
*/
|
433
|
+
typedef enum ddog_prof_Result_HttpStatus_Tag {
|
434
|
+
DDOG_PROF_RESULT_HTTP_STATUS_OK_HTTP_STATUS,
|
435
|
+
DDOG_PROF_RESULT_HTTP_STATUS_ERR_HTTP_STATUS,
|
436
|
+
} ddog_prof_Result_HttpStatus_Tag;
|
396
437
|
|
397
|
-
typedef struct
|
398
|
-
|
438
|
+
typedef struct ddog_prof_Result_HttpStatus {
|
439
|
+
ddog_prof_Result_HttpStatus_Tag tag;
|
399
440
|
union {
|
400
441
|
struct {
|
401
|
-
struct ddog_HttpStatus
|
442
|
+
struct ddog_HttpStatus ok;
|
402
443
|
};
|
403
444
|
struct {
|
404
445
|
struct ddog_Error err;
|
405
446
|
};
|
406
447
|
};
|
407
|
-
}
|
448
|
+
} ddog_prof_Result_HttpStatus;
|
449
|
+
|
450
|
+
typedef struct ddog_OpaqueCancellationToken ddog_prof_TokioCancellationToken;
|
451
|
+
|
452
|
+
/**
|
453
|
+
* Represents an object that should only be referred to by its handle.
|
454
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
455
|
+
*/
|
456
|
+
typedef struct ddog_CancellationToken {
|
457
|
+
ddog_prof_TokioCancellationToken *inner;
|
458
|
+
} ddog_CancellationToken;
|
408
459
|
|
409
460
|
/**
|
410
461
|
* Represents a profile. Do not access its member for any reason, only use
|
@@ -537,10 +588,6 @@ typedef struct ddog_prof_Function {
|
|
537
588
|
*/
|
538
589
|
ddog_CharSlice filename;
|
539
590
|
struct ddog_prof_ManagedStringId filename_id;
|
540
|
-
/**
|
541
|
-
* Line number in source file.
|
542
|
-
*/
|
543
|
-
int64_t start_line;
|
544
591
|
} ddog_prof_Function;
|
545
592
|
|
546
593
|
typedef struct ddog_prof_Location {
|
@@ -659,12 +706,26 @@ typedef struct ddog_prof_Slice_Usize {
|
|
659
706
|
uintptr_t len;
|
660
707
|
} ddog_prof_Slice_Usize;
|
661
708
|
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
709
|
+
/**
|
710
|
+
* A generic result type for when an operation may fail,
|
711
|
+
* or may return <T> in case of success.
|
712
|
+
*/
|
713
|
+
typedef enum ddog_prof_Result_ByteSlice_Tag {
|
714
|
+
DDOG_PROF_RESULT_BYTE_SLICE_OK_BYTE_SLICE,
|
715
|
+
DDOG_PROF_RESULT_BYTE_SLICE_ERR_BYTE_SLICE,
|
716
|
+
} ddog_prof_Result_ByteSlice_Tag;
|
717
|
+
|
718
|
+
typedef struct ddog_prof_Result_ByteSlice {
|
719
|
+
ddog_prof_Result_ByteSlice_Tag tag;
|
720
|
+
union {
|
721
|
+
struct {
|
722
|
+
ddog_ByteSlice ok;
|
723
|
+
};
|
724
|
+
struct {
|
725
|
+
struct ddog_Error err;
|
726
|
+
};
|
727
|
+
};
|
728
|
+
} ddog_prof_Result_ByteSlice;
|
668
729
|
|
669
730
|
typedef enum ddog_prof_Profile_SerializeResult_Tag {
|
670
731
|
DDOG_PROF_PROFILE_SERIALIZE_RESULT_OK,
|
@@ -683,53 +744,205 @@ typedef struct ddog_prof_Profile_SerializeResult {
|
|
683
744
|
};
|
684
745
|
} ddog_prof_Profile_SerializeResult;
|
685
746
|
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
747
|
+
/**
|
748
|
+
* Represents time since the Unix Epoch in seconds plus nanoseconds.
|
749
|
+
*/
|
750
|
+
typedef struct ddog_Timespec {
|
751
|
+
int64_t seconds;
|
752
|
+
uint32_t nanoseconds;
|
753
|
+
} ddog_Timespec;
|
690
754
|
|
691
|
-
|
692
|
-
|
755
|
+
/**
|
756
|
+
* Opaque identifier for the profiler generation
|
757
|
+
*/
|
758
|
+
typedef struct ddog_prof_Generation {
|
759
|
+
uint64_t id;
|
760
|
+
} ddog_prof_Generation;
|
761
|
+
|
762
|
+
typedef struct OpaqueFunctionId {
|
763
|
+
uint32_t _0;
|
764
|
+
} OpaqueFunctionId;
|
765
|
+
|
766
|
+
typedef struct ddog_prof_FunctionId {
|
767
|
+
struct ddog_prof_Generation generation;
|
768
|
+
struct OpaqueFunctionId id;
|
769
|
+
} ddog_prof_FunctionId;
|
770
|
+
|
771
|
+
/**
|
772
|
+
* A generic result type for when an operation may fail,
|
773
|
+
* or may return <T> in case of success.
|
774
|
+
*/
|
775
|
+
typedef enum ddog_prof_FunctionId_Result_Tag {
|
776
|
+
DDOG_PROF_FUNCTION_ID_RESULT_OK_GENERATIONAL_ID_FUNCTION_ID,
|
777
|
+
DDOG_PROF_FUNCTION_ID_RESULT_ERR_GENERATIONAL_ID_FUNCTION_ID,
|
778
|
+
} ddog_prof_FunctionId_Result_Tag;
|
779
|
+
|
780
|
+
typedef struct ddog_prof_FunctionId_Result {
|
781
|
+
ddog_prof_FunctionId_Result_Tag tag;
|
693
782
|
union {
|
694
783
|
struct {
|
695
|
-
struct
|
784
|
+
struct ddog_prof_FunctionId ok;
|
696
785
|
};
|
697
786
|
struct {
|
698
787
|
struct ddog_Error err;
|
699
788
|
};
|
700
789
|
};
|
701
|
-
}
|
790
|
+
} ddog_prof_FunctionId_Result;
|
702
791
|
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
792
|
+
/**
|
793
|
+
* Represents an offset into the Profile's string table. Note that it cannot
|
794
|
+
* exceed u32 because an entire protobuf message must not be larger than or
|
795
|
+
* equal to 2 GiB. By the time you encode the tag and length prefix for each
|
796
|
+
* string, there's no way to get this many unique-ish strings without first
|
797
|
+
* exceeding the protobuf 2 GiB limit.
|
798
|
+
*
|
799
|
+
* A value of 0 means "no string" or "empty string" (they are synonymous).
|
800
|
+
*/
|
801
|
+
typedef struct OpaqueStringId {
|
802
|
+
uint32_t _0;
|
803
|
+
} OpaqueStringId;
|
804
|
+
#define OpaqueStringId_ZERO (OpaqueStringId){ ._0 = 0 }
|
707
805
|
|
708
|
-
typedef struct
|
709
|
-
|
806
|
+
typedef struct OpaqueStringId OpaqueStringId;
|
807
|
+
|
808
|
+
typedef struct ddog_prof_StringId {
|
809
|
+
struct ddog_prof_Generation generation;
|
810
|
+
OpaqueStringId id;
|
811
|
+
} ddog_prof_StringId;
|
812
|
+
|
813
|
+
typedef struct OpaqueLabelId {
|
814
|
+
uint32_t _0;
|
815
|
+
} OpaqueLabelId;
|
816
|
+
|
817
|
+
typedef struct ddog_prof_LabelId {
|
818
|
+
struct ddog_prof_Generation generation;
|
819
|
+
struct OpaqueLabelId id;
|
820
|
+
} ddog_prof_LabelId;
|
821
|
+
|
822
|
+
/**
|
823
|
+
* A generic result type for when an operation may fail,
|
824
|
+
* or may return <T> in case of success.
|
825
|
+
*/
|
826
|
+
typedef enum ddog_prof_LabelId_Result_Tag {
|
827
|
+
DDOG_PROF_LABEL_ID_RESULT_OK_GENERATIONAL_ID_LABEL_ID,
|
828
|
+
DDOG_PROF_LABEL_ID_RESULT_ERR_GENERATIONAL_ID_LABEL_ID,
|
829
|
+
} ddog_prof_LabelId_Result_Tag;
|
830
|
+
|
831
|
+
typedef struct ddog_prof_LabelId_Result {
|
832
|
+
ddog_prof_LabelId_Result_Tag tag;
|
710
833
|
union {
|
711
834
|
struct {
|
712
|
-
struct
|
835
|
+
struct ddog_prof_LabelId ok;
|
713
836
|
};
|
714
837
|
struct {
|
715
838
|
struct ddog_Error err;
|
716
839
|
};
|
717
840
|
};
|
718
|
-
}
|
841
|
+
} ddog_prof_LabelId_Result;
|
719
842
|
|
720
|
-
typedef struct
|
843
|
+
typedef struct OpaqueLabelSetId {
|
844
|
+
uint32_t _0;
|
845
|
+
} OpaqueLabelSetId;
|
846
|
+
|
847
|
+
typedef struct ddog_prof_LabelSetId {
|
848
|
+
struct ddog_prof_Generation generation;
|
849
|
+
struct OpaqueLabelSetId id;
|
850
|
+
} ddog_prof_LabelSetId;
|
851
|
+
|
852
|
+
/**
|
853
|
+
* A generic result type for when an operation may fail,
|
854
|
+
* or may return <T> in case of success.
|
855
|
+
*/
|
856
|
+
typedef enum ddog_prof_LabelSetId_Result_Tag {
|
857
|
+
DDOG_PROF_LABEL_SET_ID_RESULT_OK_GENERATIONAL_ID_LABEL_SET_ID,
|
858
|
+
DDOG_PROF_LABEL_SET_ID_RESULT_ERR_GENERATIONAL_ID_LABEL_SET_ID,
|
859
|
+
} ddog_prof_LabelSetId_Result_Tag;
|
860
|
+
|
861
|
+
typedef struct ddog_prof_LabelSetId_Result {
|
862
|
+
ddog_prof_LabelSetId_Result_Tag tag;
|
863
|
+
union {
|
864
|
+
struct {
|
865
|
+
struct ddog_prof_LabelSetId ok;
|
866
|
+
};
|
867
|
+
struct {
|
868
|
+
struct ddog_Error err;
|
869
|
+
};
|
870
|
+
};
|
871
|
+
} ddog_prof_LabelSetId_Result;
|
872
|
+
|
873
|
+
typedef struct ddog_prof_Slice_LabelId {
|
721
874
|
/**
|
722
875
|
* Should be non-null and suitably aligned for the underlying type. It is
|
723
876
|
* allowed but not recommended for the pointer to be null when the len is
|
724
877
|
* zero.
|
725
878
|
*/
|
726
|
-
const
|
879
|
+
const struct ddog_prof_LabelId *ptr;
|
727
880
|
/**
|
728
881
|
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
729
882
|
* than or equal to [isize::MAX].
|
730
883
|
*/
|
731
884
|
uintptr_t len;
|
732
|
-
}
|
885
|
+
} ddog_prof_Slice_LabelId;
|
886
|
+
|
887
|
+
typedef struct OpaqueLocationId {
|
888
|
+
uint32_t _0;
|
889
|
+
} OpaqueLocationId;
|
890
|
+
|
891
|
+
typedef struct ddog_prof_LocationId {
|
892
|
+
struct ddog_prof_Generation generation;
|
893
|
+
struct OpaqueLocationId id;
|
894
|
+
} ddog_prof_LocationId;
|
895
|
+
|
896
|
+
/**
|
897
|
+
* A generic result type for when an operation may fail,
|
898
|
+
* or may return <T> in case of success.
|
899
|
+
*/
|
900
|
+
typedef enum ddog_prof_LocationId_Result_Tag {
|
901
|
+
DDOG_PROF_LOCATION_ID_RESULT_OK_GENERATIONAL_ID_LOCATION_ID,
|
902
|
+
DDOG_PROF_LOCATION_ID_RESULT_ERR_GENERATIONAL_ID_LOCATION_ID,
|
903
|
+
} ddog_prof_LocationId_Result_Tag;
|
904
|
+
|
905
|
+
typedef struct ddog_prof_LocationId_Result {
|
906
|
+
ddog_prof_LocationId_Result_Tag tag;
|
907
|
+
union {
|
908
|
+
struct {
|
909
|
+
struct ddog_prof_LocationId ok;
|
910
|
+
};
|
911
|
+
struct {
|
912
|
+
struct ddog_Error err;
|
913
|
+
};
|
914
|
+
};
|
915
|
+
} ddog_prof_LocationId_Result;
|
916
|
+
|
917
|
+
typedef struct OpaqueMappingId {
|
918
|
+
uint32_t _0;
|
919
|
+
} OpaqueMappingId;
|
920
|
+
|
921
|
+
typedef struct ddog_prof_MappingId {
|
922
|
+
struct ddog_prof_Generation generation;
|
923
|
+
struct OpaqueMappingId id;
|
924
|
+
} ddog_prof_MappingId;
|
925
|
+
|
926
|
+
/**
|
927
|
+
* A generic result type for when an operation may fail,
|
928
|
+
* or may return <T> in case of success.
|
929
|
+
*/
|
930
|
+
typedef enum ddog_prof_StringId_Result_Tag {
|
931
|
+
DDOG_PROF_STRING_ID_RESULT_OK_GENERATIONAL_ID_STRING_ID,
|
932
|
+
DDOG_PROF_STRING_ID_RESULT_ERR_GENERATIONAL_ID_STRING_ID,
|
933
|
+
} ddog_prof_StringId_Result_Tag;
|
934
|
+
|
935
|
+
typedef struct ddog_prof_StringId_Result {
|
936
|
+
ddog_prof_StringId_Result_Tag tag;
|
937
|
+
union {
|
938
|
+
struct {
|
939
|
+
struct ddog_prof_StringId ok;
|
940
|
+
};
|
941
|
+
struct {
|
942
|
+
struct ddog_Error err;
|
943
|
+
};
|
944
|
+
};
|
945
|
+
} ddog_prof_StringId_Result;
|
733
946
|
|
734
947
|
typedef struct ddog_prof_Slice_ManagedStringId {
|
735
948
|
/**
|
@@ -745,6 +958,170 @@ typedef struct ddog_prof_Slice_ManagedStringId {
|
|
745
958
|
uintptr_t len;
|
746
959
|
} ddog_prof_Slice_ManagedStringId;
|
747
960
|
|
961
|
+
typedef struct ddog_prof_MutSlice_GenerationalIdStringId {
|
962
|
+
/**
|
963
|
+
* Should be non-null and suitably aligned for the underlying type. It is
|
964
|
+
* allowed but not recommended for the pointer to be null when the len is
|
965
|
+
* zero.
|
966
|
+
*/
|
967
|
+
struct ddog_prof_StringId *ptr;
|
968
|
+
/**
|
969
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
970
|
+
* than or equal to [isize::MAX].
|
971
|
+
*/
|
972
|
+
uintptr_t len;
|
973
|
+
} ddog_prof_MutSlice_GenerationalIdStringId;
|
974
|
+
|
975
|
+
/**
|
976
|
+
* A generic result type for when an operation may fail,
|
977
|
+
* or may return <T> in case of success.
|
978
|
+
*/
|
979
|
+
typedef enum ddog_prof_MappingId_Result_Tag {
|
980
|
+
DDOG_PROF_MAPPING_ID_RESULT_OK_GENERATIONAL_ID_MAPPING_ID,
|
981
|
+
DDOG_PROF_MAPPING_ID_RESULT_ERR_GENERATIONAL_ID_MAPPING_ID,
|
982
|
+
} ddog_prof_MappingId_Result_Tag;
|
983
|
+
|
984
|
+
typedef struct ddog_prof_MappingId_Result {
|
985
|
+
ddog_prof_MappingId_Result_Tag tag;
|
986
|
+
union {
|
987
|
+
struct {
|
988
|
+
struct ddog_prof_MappingId ok;
|
989
|
+
};
|
990
|
+
struct {
|
991
|
+
struct ddog_Error err;
|
992
|
+
};
|
993
|
+
};
|
994
|
+
} ddog_prof_MappingId_Result;
|
995
|
+
|
996
|
+
typedef struct OpaqueStackTraceId {
|
997
|
+
uint32_t _0;
|
998
|
+
} OpaqueStackTraceId;
|
999
|
+
|
1000
|
+
typedef struct ddog_prof_StackTraceId {
|
1001
|
+
struct ddog_prof_Generation generation;
|
1002
|
+
struct OpaqueStackTraceId id;
|
1003
|
+
} ddog_prof_StackTraceId;
|
1004
|
+
|
1005
|
+
/**
|
1006
|
+
* A generic result type for when an operation may fail,
|
1007
|
+
* or may return <T> in case of success.
|
1008
|
+
*/
|
1009
|
+
typedef enum ddog_prof_StackTraceId_Result_Tag {
|
1010
|
+
DDOG_PROF_STACK_TRACE_ID_RESULT_OK_GENERATIONAL_ID_STACK_TRACE_ID,
|
1011
|
+
DDOG_PROF_STACK_TRACE_ID_RESULT_ERR_GENERATIONAL_ID_STACK_TRACE_ID,
|
1012
|
+
} ddog_prof_StackTraceId_Result_Tag;
|
1013
|
+
|
1014
|
+
typedef struct ddog_prof_StackTraceId_Result {
|
1015
|
+
ddog_prof_StackTraceId_Result_Tag tag;
|
1016
|
+
union {
|
1017
|
+
struct {
|
1018
|
+
struct ddog_prof_StackTraceId ok;
|
1019
|
+
};
|
1020
|
+
struct {
|
1021
|
+
struct ddog_Error err;
|
1022
|
+
};
|
1023
|
+
};
|
1024
|
+
} ddog_prof_StackTraceId_Result;
|
1025
|
+
|
1026
|
+
typedef struct ddog_prof_Slice_LocationId {
|
1027
|
+
/**
|
1028
|
+
* Should be non-null and suitably aligned for the underlying type. It is
|
1029
|
+
* allowed but not recommended for the pointer to be null when the len is
|
1030
|
+
* zero.
|
1031
|
+
*/
|
1032
|
+
const struct ddog_prof_LocationId *ptr;
|
1033
|
+
/**
|
1034
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
1035
|
+
* than or equal to [isize::MAX].
|
1036
|
+
*/
|
1037
|
+
uintptr_t len;
|
1038
|
+
} ddog_prof_Slice_LocationId;
|
1039
|
+
|
1040
|
+
typedef struct ddog_prof_Slice_CharSlice {
|
1041
|
+
/**
|
1042
|
+
* Should be non-null and suitably aligned for the underlying type. It is
|
1043
|
+
* allowed but not recommended for the pointer to be null when the len is
|
1044
|
+
* zero.
|
1045
|
+
*/
|
1046
|
+
const ddog_CharSlice *ptr;
|
1047
|
+
/**
|
1048
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
1049
|
+
* than or equal to [isize::MAX].
|
1050
|
+
*/
|
1051
|
+
uintptr_t len;
|
1052
|
+
} ddog_prof_Slice_CharSlice;
|
1053
|
+
|
1054
|
+
/**
|
1055
|
+
* A generic result type for when an operation may fail,
|
1056
|
+
* or may return <T> in case of success.
|
1057
|
+
*/
|
1058
|
+
typedef enum ddog_prof_Result_Generation_Tag {
|
1059
|
+
DDOG_PROF_RESULT_GENERATION_OK_GENERATION,
|
1060
|
+
DDOG_PROF_RESULT_GENERATION_ERR_GENERATION,
|
1061
|
+
} ddog_prof_Result_Generation_Tag;
|
1062
|
+
|
1063
|
+
typedef struct ddog_prof_Result_Generation {
|
1064
|
+
ddog_prof_Result_Generation_Tag tag;
|
1065
|
+
union {
|
1066
|
+
struct {
|
1067
|
+
struct ddog_prof_Generation ok;
|
1068
|
+
};
|
1069
|
+
struct {
|
1070
|
+
struct ddog_Error err;
|
1071
|
+
};
|
1072
|
+
};
|
1073
|
+
} ddog_prof_Result_Generation;
|
1074
|
+
|
1075
|
+
typedef enum ddog_prof_ManagedStringStorageNewResult_Tag {
|
1076
|
+
DDOG_PROF_MANAGED_STRING_STORAGE_NEW_RESULT_OK,
|
1077
|
+
DDOG_PROF_MANAGED_STRING_STORAGE_NEW_RESULT_ERR,
|
1078
|
+
} ddog_prof_ManagedStringStorageNewResult_Tag;
|
1079
|
+
|
1080
|
+
typedef struct ddog_prof_ManagedStringStorageNewResult {
|
1081
|
+
ddog_prof_ManagedStringStorageNewResult_Tag tag;
|
1082
|
+
union {
|
1083
|
+
struct {
|
1084
|
+
struct ddog_prof_ManagedStringStorage ok;
|
1085
|
+
};
|
1086
|
+
struct {
|
1087
|
+
struct ddog_Error err;
|
1088
|
+
};
|
1089
|
+
};
|
1090
|
+
} ddog_prof_ManagedStringStorageNewResult;
|
1091
|
+
|
1092
|
+
typedef enum ddog_prof_ManagedStringStorageInternResult_Tag {
|
1093
|
+
DDOG_PROF_MANAGED_STRING_STORAGE_INTERN_RESULT_OK,
|
1094
|
+
DDOG_PROF_MANAGED_STRING_STORAGE_INTERN_RESULT_ERR,
|
1095
|
+
} ddog_prof_ManagedStringStorageInternResult_Tag;
|
1096
|
+
|
1097
|
+
typedef struct ddog_prof_ManagedStringStorageInternResult {
|
1098
|
+
ddog_prof_ManagedStringStorageInternResult_Tag tag;
|
1099
|
+
union {
|
1100
|
+
struct {
|
1101
|
+
struct ddog_prof_ManagedStringId ok;
|
1102
|
+
};
|
1103
|
+
struct {
|
1104
|
+
struct ddog_Error err;
|
1105
|
+
};
|
1106
|
+
};
|
1107
|
+
} ddog_prof_ManagedStringStorageInternResult;
|
1108
|
+
|
1109
|
+
typedef enum ddog_prof_Option_Error_Tag {
|
1110
|
+
DDOG_PROF_OPTION_ERROR_SOME_ERROR,
|
1111
|
+
DDOG_PROF_OPTION_ERROR_NONE_ERROR,
|
1112
|
+
} ddog_prof_Option_Error_Tag;
|
1113
|
+
|
1114
|
+
typedef struct ddog_prof_Option_Error {
|
1115
|
+
ddog_prof_Option_Error_Tag tag;
|
1116
|
+
union {
|
1117
|
+
struct {
|
1118
|
+
struct ddog_Error some;
|
1119
|
+
};
|
1120
|
+
};
|
1121
|
+
} ddog_prof_Option_Error;
|
1122
|
+
|
1123
|
+
typedef struct ddog_prof_Option_Error ddog_prof_MaybeError;
|
1124
|
+
|
748
1125
|
typedef enum ddog_StringWrapperResult_Tag {
|
749
1126
|
DDOG_STRING_WRAPPER_RESULT_OK,
|
750
1127
|
DDOG_STRING_WRAPPER_RESULT_ERR,
|
@@ -762,12 +1139,16 @@ typedef struct ddog_StringWrapperResult {
|
|
762
1139
|
};
|
763
1140
|
} ddog_StringWrapperResult;
|
764
1141
|
|
1142
|
+
typedef struct ddog_prof_StringId ddog_prof_StringId;
|
1143
|
+
|
765
1144
|
typedef enum ddog_ConfigurationOrigin {
|
766
1145
|
DDOG_CONFIGURATION_ORIGIN_ENV_VAR,
|
767
1146
|
DDOG_CONFIGURATION_ORIGIN_CODE,
|
768
1147
|
DDOG_CONFIGURATION_ORIGIN_DD_CONFIG,
|
769
1148
|
DDOG_CONFIGURATION_ORIGIN_REMOTE_CONFIG,
|
770
1149
|
DDOG_CONFIGURATION_ORIGIN_DEFAULT,
|
1150
|
+
DDOG_CONFIGURATION_ORIGIN_LOCAL_STABLE_CONFIG,
|
1151
|
+
DDOG_CONFIGURATION_ORIGIN_FLEET_STABLE_CONFIG,
|
771
1152
|
} ddog_ConfigurationOrigin;
|
772
1153
|
|
773
1154
|
typedef enum ddog_LogLevel {
|
@@ -899,6 +1280,7 @@ typedef enum ddog_crasht_OpTypes {
|
|
899
1280
|
|
900
1281
|
/**
|
901
1282
|
* See https://man7.org/linux/man-pages/man2/sigaction.2.html
|
1283
|
+
* MUST REMAIN IN SYNC WITH THE ENUM IN emit_sigcodes.c
|
902
1284
|
*/
|
903
1285
|
typedef enum ddog_crasht_SiCodes {
|
904
1286
|
DDOG_CRASHT_SI_CODES_BUS_ADRALN,
|
@@ -906,6 +1288,14 @@ typedef enum ddog_crasht_SiCodes {
|
|
906
1288
|
DDOG_CRASHT_SI_CODES_BUS_MCEERR_AO,
|
907
1289
|
DDOG_CRASHT_SI_CODES_BUS_MCEERR_AR,
|
908
1290
|
DDOG_CRASHT_SI_CODES_BUS_OBJERR,
|
1291
|
+
DDOG_CRASHT_SI_CODES_ILL_BADSTK,
|
1292
|
+
DDOG_CRASHT_SI_CODES_ILL_COPROC,
|
1293
|
+
DDOG_CRASHT_SI_CODES_ILL_ILLADR,
|
1294
|
+
DDOG_CRASHT_SI_CODES_ILL_ILLOPC,
|
1295
|
+
DDOG_CRASHT_SI_CODES_ILL_ILLOPN,
|
1296
|
+
DDOG_CRASHT_SI_CODES_ILL_ILLTRP,
|
1297
|
+
DDOG_CRASHT_SI_CODES_ILL_PRVOPC,
|
1298
|
+
DDOG_CRASHT_SI_CODES_ILL_PRVREG,
|
909
1299
|
DDOG_CRASHT_SI_CODES_SEGV_ACCERR,
|
910
1300
|
DDOG_CRASHT_SI_CODES_SEGV_BNDERR,
|
911
1301
|
DDOG_CRASHT_SI_CODES_SEGV_MAPERR,
|
@@ -926,10 +1316,37 @@ typedef enum ddog_crasht_SiCodes {
|
|
926
1316
|
* See https://man7.org/linux/man-pages/man7/signal.7.html
|
927
1317
|
*/
|
928
1318
|
typedef enum ddog_crasht_SignalNames {
|
1319
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGHUP,
|
1320
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGINT,
|
1321
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGQUIT,
|
1322
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGILL,
|
1323
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGTRAP,
|
929
1324
|
DDOG_CRASHT_SIGNAL_NAMES_SIGABRT,
|
930
1325
|
DDOG_CRASHT_SIGNAL_NAMES_SIGBUS,
|
1326
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGFPE,
|
1327
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGKILL,
|
1328
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGUSR1,
|
931
1329
|
DDOG_CRASHT_SIGNAL_NAMES_SIGSEGV,
|
1330
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGUSR2,
|
1331
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGPIPE,
|
1332
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGALRM,
|
1333
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGTERM,
|
1334
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGCHLD,
|
1335
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGCONT,
|
1336
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGSTOP,
|
1337
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGTSTP,
|
1338
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGTTIN,
|
1339
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGTTOU,
|
1340
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGURG,
|
1341
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGXCPU,
|
1342
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGXFSZ,
|
1343
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGVTALRM,
|
1344
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGPROF,
|
1345
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGWINCH,
|
1346
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGIO,
|
932
1347
|
DDOG_CRASHT_SIGNAL_NAMES_SIGSYS,
|
1348
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGEMT,
|
1349
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGINFO,
|
933
1350
|
DDOG_CRASHT_SIGNAL_NAMES_UNKNOWN,
|
934
1351
|
} ddog_crasht_SignalNames;
|
935
1352
|
|
@@ -958,31 +1375,6 @@ typedef struct ddog_crasht_StackFrame ddog_crasht_StackFrame;
|
|
958
1375
|
|
959
1376
|
typedef struct ddog_crasht_StackTrace ddog_crasht_StackTrace;
|
960
1377
|
|
961
|
-
/**
|
962
|
-
* A generic result type for when an operation may fail,
|
963
|
-
* but there's nothing to return in the case of success.
|
964
|
-
*/
|
965
|
-
typedef enum ddog_VoidResult_Tag {
|
966
|
-
DDOG_VOID_RESULT_OK,
|
967
|
-
DDOG_VOID_RESULT_ERR,
|
968
|
-
} ddog_VoidResult_Tag;
|
969
|
-
|
970
|
-
typedef struct ddog_VoidResult {
|
971
|
-
ddog_VoidResult_Tag tag;
|
972
|
-
union {
|
973
|
-
struct {
|
974
|
-
/**
|
975
|
-
* Do not use the value of Ok. This value only exists to overcome
|
976
|
-
* Rust -> C code generation.
|
977
|
-
*/
|
978
|
-
bool ok;
|
979
|
-
};
|
980
|
-
struct {
|
981
|
-
struct ddog_Error err;
|
982
|
-
};
|
983
|
-
};
|
984
|
-
} ddog_VoidResult;
|
985
|
-
|
986
1378
|
typedef struct ddog_crasht_Slice_CharSlice {
|
987
1379
|
/**
|
988
1380
|
* Should be non-null and suitably aligned for the underlying type. It is
|
@@ -997,26 +1389,46 @@ typedef struct ddog_crasht_Slice_CharSlice {
|
|
997
1389
|
uintptr_t len;
|
998
1390
|
} ddog_crasht_Slice_CharSlice;
|
999
1391
|
|
1392
|
+
typedef struct ddog_crasht_Slice_I32 {
|
1393
|
+
/**
|
1394
|
+
* Should be non-null and suitably aligned for the underlying type. It is
|
1395
|
+
* allowed but not recommended for the pointer to be null when the len is
|
1396
|
+
* zero.
|
1397
|
+
*/
|
1398
|
+
const int32_t *ptr;
|
1399
|
+
/**
|
1400
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
1401
|
+
* than or equal to [isize::MAX].
|
1402
|
+
*/
|
1403
|
+
uintptr_t len;
|
1404
|
+
} ddog_crasht_Slice_I32;
|
1405
|
+
|
1000
1406
|
typedef struct ddog_crasht_Config {
|
1001
1407
|
struct ddog_crasht_Slice_CharSlice additional_files;
|
1002
1408
|
bool create_alt_stack;
|
1003
|
-
bool
|
1409
|
+
bool demangle_names;
|
1004
1410
|
/**
|
1005
1411
|
* The endpoint to send the crash report to (can be a file://).
|
1006
1412
|
* If None, the crashtracker will infer the agent host from env variables.
|
1007
1413
|
*/
|
1008
1414
|
const struct ddog_Endpoint *endpoint;
|
1415
|
+
/**
|
1416
|
+
* Optional filename for a unix domain socket if the receiver is used asynchonously
|
1417
|
+
*/
|
1418
|
+
ddog_CharSlice optional_unix_socket_filename;
|
1009
1419
|
enum ddog_crasht_StacktraceCollection resolve_frames;
|
1420
|
+
/**
|
1421
|
+
* The set of signals we should be registered for.
|
1422
|
+
* If empty, use the default set.
|
1423
|
+
*/
|
1424
|
+
struct ddog_crasht_Slice_I32 signals;
|
1010
1425
|
/**
|
1011
1426
|
* Timeout in milliseconds before the signal handler starts tearing things down to return.
|
1012
1427
|
* This is given as a uint32_t, but the actual timeout needs to fit inside of an i32 (max
|
1013
1428
|
* 2^31-1). This is a limitation of the various interfaces used to guarantee the timeout.
|
1014
1429
|
*/
|
1015
1430
|
uint32_t timeout_ms;
|
1016
|
-
|
1017
|
-
* Optional filename for a unix domain socket if the receiver is used asynchonously
|
1018
|
-
*/
|
1019
|
-
ddog_CharSlice optional_unix_socket_filename;
|
1431
|
+
bool use_alt_stack;
|
1020
1432
|
} ddog_crasht_Config;
|
1021
1433
|
|
1022
1434
|
typedef struct ddog_crasht_EnvVar {
|
@@ -1062,6 +1474,20 @@ typedef struct ddog_crasht_Metadata {
|
|
1062
1474
|
const struct ddog_Vec_Tag *tags;
|
1063
1475
|
} ddog_crasht_Metadata;
|
1064
1476
|
|
1477
|
+
typedef struct ddog_crasht_Slice_CInt {
|
1478
|
+
/**
|
1479
|
+
* Should be non-null and suitably aligned for the underlying type. It is
|
1480
|
+
* allowed but not recommended for the pointer to be null when the len is
|
1481
|
+
* zero.
|
1482
|
+
*/
|
1483
|
+
const int *ptr;
|
1484
|
+
/**
|
1485
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
1486
|
+
* than or equal to [isize::MAX].
|
1487
|
+
*/
|
1488
|
+
uintptr_t len;
|
1489
|
+
} ddog_crasht_Slice_CInt;
|
1490
|
+
|
1065
1491
|
/**
|
1066
1492
|
* A generic result type for when an operation may fail,
|
1067
1493
|
* or may return <T> in case of success.
|
@@ -1206,6 +1632,12 @@ typedef enum ddog_TraceExporterErrorCode {
|
|
1206
1632
|
DDOG_TRACE_EXPORTER_ERROR_CODE_TIMED_OUT,
|
1207
1633
|
} ddog_TraceExporterErrorCode;
|
1208
1634
|
|
1635
|
+
/**
|
1636
|
+
* Structure containing the agent response to a trace payload
|
1637
|
+
* MUST be freed with `ddog_trace_exporter_response_free`
|
1638
|
+
*/
|
1639
|
+
typedef struct ddog_TraceExporterResponse ddog_TraceExporterResponse;
|
1640
|
+
|
1209
1641
|
/**
|
1210
1642
|
* The TraceExporter ingest traces from the tracers serialized as messagepack and forward them to
|
1211
1643
|
* the agent while applying some transformation.
|
@@ -1244,31 +1676,28 @@ typedef struct ddog_TraceExporterError {
|
|
1244
1676
|
} ddog_TraceExporterError;
|
1245
1677
|
|
1246
1678
|
/**
|
1247
|
-
*
|
1679
|
+
* FFI compatible configuration for the TelemetryClient.
|
1248
1680
|
*/
|
1249
|
-
typedef struct
|
1681
|
+
typedef struct ddog_TelemetryClientConfig {
|
1250
1682
|
/**
|
1251
|
-
*
|
1683
|
+
* How often telemetry should be sent, in milliseconds.
|
1252
1684
|
*/
|
1253
|
-
|
1254
|
-
|
1255
|
-
|
1256
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
|
1261
|
-
|
1262
|
-
|
1263
|
-
|
1264
|
-
|
1265
|
-
|
1266
|
-
|
1267
|
-
|
1268
|
-
|
1269
|
-
DDOG_LIBRARY_CONFIG_NAME_DD_ENV,
|
1270
|
-
DDOG_LIBRARY_CONFIG_NAME_DD_VERSION,
|
1271
|
-
} ddog_LibraryConfigName;
|
1685
|
+
uint64_t interval;
|
1686
|
+
/**
|
1687
|
+
* A V4 UUID that represents a tracer session. This ID should:
|
1688
|
+
* - Be generated when the tracer starts
|
1689
|
+
* - Be identical within the context of a host (i.e. multiple threads/processes that belong to
|
1690
|
+
* a single instrumented app should share the same runtime_id)
|
1691
|
+
* - Be associated with traces to allow correlation between traces and telemetry data
|
1692
|
+
*/
|
1693
|
+
ddog_CharSlice runtime_id;
|
1694
|
+
/**
|
1695
|
+
* Whether to enable debug mode for telemetry.
|
1696
|
+
* When enabled, sets the DD-Telemetry-Debug-Enabled header to true.
|
1697
|
+
* Defaults to false.
|
1698
|
+
*/
|
1699
|
+
bool debug_enabled;
|
1700
|
+
} ddog_TelemetryClientConfig;
|
1272
1701
|
|
1273
1702
|
typedef enum ddog_LibraryConfigSource {
|
1274
1703
|
DDOG_LIBRARY_CONFIG_SOURCE_LOCAL_STABLE_CONFIG = 0,
|
@@ -1328,8 +1757,10 @@ typedef struct ddog_CString {
|
|
1328
1757
|
} ddog_CString;
|
1329
1758
|
|
1330
1759
|
typedef struct ddog_LibraryConfig {
|
1331
|
-
|
1760
|
+
struct ddog_CString name;
|
1332
1761
|
struct ddog_CString value;
|
1762
|
+
enum ddog_LibraryConfigSource source;
|
1763
|
+
struct ddog_CString config_id;
|
1333
1764
|
} ddog_LibraryConfig;
|
1334
1765
|
|
1335
1766
|
/**
|
@@ -1363,6 +1794,37 @@ typedef struct ddog_Result_VecLibraryConfig {
|
|
1363
1794
|
};
|
1364
1795
|
} ddog_Result_VecLibraryConfig;
|
1365
1796
|
|
1797
|
+
/**
|
1798
|
+
* C-compatible representation of an anonymous file handle
|
1799
|
+
*/
|
1800
|
+
typedef struct ddog_TracerMemfdHandle {
|
1801
|
+
/**
|
1802
|
+
* File descriptor (relevant only on Linux)
|
1803
|
+
*/
|
1804
|
+
int fd;
|
1805
|
+
} ddog_TracerMemfdHandle;
|
1806
|
+
|
1807
|
+
/**
|
1808
|
+
* A generic result type for when an operation may fail,
|
1809
|
+
* or may return <T> in case of success.
|
1810
|
+
*/
|
1811
|
+
typedef enum ddog_Result_TracerMemfdHandle_Tag {
|
1812
|
+
DDOG_RESULT_TRACER_MEMFD_HANDLE_OK_TRACER_MEMFD_HANDLE,
|
1813
|
+
DDOG_RESULT_TRACER_MEMFD_HANDLE_ERR_TRACER_MEMFD_HANDLE,
|
1814
|
+
} ddog_Result_TracerMemfdHandle_Tag;
|
1815
|
+
|
1816
|
+
typedef struct ddog_Result_TracerMemfdHandle {
|
1817
|
+
ddog_Result_TracerMemfdHandle_Tag tag;
|
1818
|
+
union {
|
1819
|
+
struct {
|
1820
|
+
struct ddog_TracerMemfdHandle ok;
|
1821
|
+
};
|
1822
|
+
struct {
|
1823
|
+
struct ddog_Error err;
|
1824
|
+
};
|
1825
|
+
};
|
1826
|
+
} ddog_Result_TracerMemfdHandle;
|
1827
|
+
|
1366
1828
|
#ifdef __cplusplus
|
1367
1829
|
extern "C" {
|
1368
1830
|
#endif // __cplusplus
|