libdatadog 14.3.1.1.0 → 16.0.1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/vendor/{libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/LICENSE-3rdparty.yml +453 -21
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +403 -84
- data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h +811 -0
- data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +123 -0
- data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +61 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +73 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/LICENSE-3rdparty.yml +453 -21
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-14.3.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +403 -84
- data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h +811 -0
- data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +123 -0
- data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +61 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h +73 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-14.3.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/LICENSE-3rdparty.yml +453 -21
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +403 -84
- data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +811 -0
- data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +123 -0
- data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/library-config.h +61 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h +73 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-14.3.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/LICENSE-3rdparty.yml +453 -21
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/common.h +403 -84
- data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/crashtracker.h +811 -0
- data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +123 -0
- data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/library-config.h +61 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h +73 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- metadata +54 -50
- data/vendor/libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -444
- data/vendor/libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -209
- data/vendor/libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h +0 -444
- data/vendor/libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -209
- data/vendor/libdatadog-14.3.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -444
- data/vendor/libdatadog-14.3.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -209
- data/vendor/libdatadog-14.3.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/crashtracker.h +0 -444
- data/vendor/libdatadog-14.3.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -209
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
Binary file
|
@@ -458,6 +458,10 @@ typedef struct ddog_prof_Period {
|
|
458
458
|
int64_t value;
|
459
459
|
} ddog_prof_Period;
|
460
460
|
|
461
|
+
typedef struct ddog_prof_ManagedStringStorage {
|
462
|
+
const void *inner;
|
463
|
+
} ddog_prof_ManagedStringStorage;
|
464
|
+
|
461
465
|
/**
|
462
466
|
* A generic result type for when a profiling operation may fail, but there's
|
463
467
|
* nothing to return in the case of success.
|
@@ -483,6 +487,10 @@ typedef struct ddog_prof_Profile_Result {
|
|
483
487
|
};
|
484
488
|
} ddog_prof_Profile_Result;
|
485
489
|
|
490
|
+
typedef struct ddog_prof_ManagedStringId {
|
491
|
+
uint32_t value;
|
492
|
+
} ddog_prof_ManagedStringId;
|
493
|
+
|
486
494
|
typedef struct ddog_prof_Mapping {
|
487
495
|
/**
|
488
496
|
* Address at which the binary (or DLL) is loaded into memory.
|
@@ -502,12 +510,14 @@ typedef struct ddog_prof_Mapping {
|
|
502
510
|
* abstractions like "[vdso]".
|
503
511
|
*/
|
504
512
|
ddog_CharSlice filename;
|
513
|
+
struct ddog_prof_ManagedStringId filename_id;
|
505
514
|
/**
|
506
515
|
* A string that uniquely identifies a particular program version
|
507
516
|
* with high probability. E.g., for binaries generated by GNU tools,
|
508
517
|
* it could be the contents of the .note.gnu.build-id field.
|
509
518
|
*/
|
510
519
|
ddog_CharSlice build_id;
|
520
|
+
struct ddog_prof_ManagedStringId build_id_id;
|
511
521
|
} ddog_prof_Mapping;
|
512
522
|
|
513
523
|
typedef struct ddog_prof_Function {
|
@@ -515,15 +525,18 @@ typedef struct ddog_prof_Function {
|
|
515
525
|
* Name of the function, in human-readable form if available.
|
516
526
|
*/
|
517
527
|
ddog_CharSlice name;
|
528
|
+
struct ddog_prof_ManagedStringId name_id;
|
518
529
|
/**
|
519
530
|
* Name of the function, as identified by the system.
|
520
531
|
* For instance, it can be a C++ mangled name.
|
521
532
|
*/
|
522
533
|
ddog_CharSlice system_name;
|
534
|
+
struct ddog_prof_ManagedStringId system_name_id;
|
523
535
|
/**
|
524
536
|
* Source file containing the function.
|
525
537
|
*/
|
526
538
|
ddog_CharSlice filename;
|
539
|
+
struct ddog_prof_ManagedStringId filename_id;
|
527
540
|
/**
|
528
541
|
* Line number in source file.
|
529
542
|
*/
|
@@ -577,10 +590,12 @@ typedef struct ddog_Slice_I64 {
|
|
577
590
|
|
578
591
|
typedef struct ddog_prof_Label {
|
579
592
|
ddog_CharSlice key;
|
593
|
+
struct ddog_prof_ManagedStringId key_id;
|
580
594
|
/**
|
581
595
|
* At most one of the following must be present
|
582
596
|
*/
|
583
597
|
ddog_CharSlice str;
|
598
|
+
struct ddog_prof_ManagedStringId str_id;
|
584
599
|
int64_t num;
|
585
600
|
/**
|
586
601
|
* Should only be present when num is present.
|
@@ -592,6 +607,7 @@ typedef struct ddog_prof_Label {
|
|
592
607
|
* and apply appropriate unit conversions to these.
|
593
608
|
*/
|
594
609
|
ddog_CharSlice num_unit;
|
610
|
+
struct ddog_prof_ManagedStringId num_unit_id;
|
595
611
|
} ddog_prof_Label;
|
596
612
|
|
597
613
|
typedef struct ddog_prof_Slice_Label {
|
@@ -667,6 +683,85 @@ typedef struct ddog_prof_Profile_SerializeResult {
|
|
667
683
|
};
|
668
684
|
} ddog_prof_Profile_SerializeResult;
|
669
685
|
|
686
|
+
typedef enum ddog_prof_ManagedStringStorageNewResult_Tag {
|
687
|
+
DDOG_PROF_MANAGED_STRING_STORAGE_NEW_RESULT_OK,
|
688
|
+
DDOG_PROF_MANAGED_STRING_STORAGE_NEW_RESULT_ERR,
|
689
|
+
} ddog_prof_ManagedStringStorageNewResult_Tag;
|
690
|
+
|
691
|
+
typedef struct ddog_prof_ManagedStringStorageNewResult {
|
692
|
+
ddog_prof_ManagedStringStorageNewResult_Tag tag;
|
693
|
+
union {
|
694
|
+
struct {
|
695
|
+
struct ddog_prof_ManagedStringStorage ok;
|
696
|
+
};
|
697
|
+
struct {
|
698
|
+
struct ddog_Error err;
|
699
|
+
};
|
700
|
+
};
|
701
|
+
} ddog_prof_ManagedStringStorageNewResult;
|
702
|
+
|
703
|
+
typedef enum ddog_prof_ManagedStringStorageInternResult_Tag {
|
704
|
+
DDOG_PROF_MANAGED_STRING_STORAGE_INTERN_RESULT_OK,
|
705
|
+
DDOG_PROF_MANAGED_STRING_STORAGE_INTERN_RESULT_ERR,
|
706
|
+
} ddog_prof_ManagedStringStorageInternResult_Tag;
|
707
|
+
|
708
|
+
typedef struct ddog_prof_ManagedStringStorageInternResult {
|
709
|
+
ddog_prof_ManagedStringStorageInternResult_Tag tag;
|
710
|
+
union {
|
711
|
+
struct {
|
712
|
+
struct ddog_prof_ManagedStringId ok;
|
713
|
+
};
|
714
|
+
struct {
|
715
|
+
struct ddog_Error err;
|
716
|
+
};
|
717
|
+
};
|
718
|
+
} ddog_prof_ManagedStringStorageInternResult;
|
719
|
+
|
720
|
+
typedef struct ddog_prof_Slice_CharSlice {
|
721
|
+
/**
|
722
|
+
* Should be non-null and suitably aligned for the underlying type. It is
|
723
|
+
* allowed but not recommended for the pointer to be null when the len is
|
724
|
+
* zero.
|
725
|
+
*/
|
726
|
+
const ddog_CharSlice *ptr;
|
727
|
+
/**
|
728
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
729
|
+
* than or equal to [isize::MAX].
|
730
|
+
*/
|
731
|
+
uintptr_t len;
|
732
|
+
} ddog_prof_Slice_CharSlice;
|
733
|
+
|
734
|
+
typedef struct ddog_prof_Slice_ManagedStringId {
|
735
|
+
/**
|
736
|
+
* Should be non-null and suitably aligned for the underlying type. It is
|
737
|
+
* allowed but not recommended for the pointer to be null when the len is
|
738
|
+
* zero.
|
739
|
+
*/
|
740
|
+
const struct ddog_prof_ManagedStringId *ptr;
|
741
|
+
/**
|
742
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
743
|
+
* than or equal to [isize::MAX].
|
744
|
+
*/
|
745
|
+
uintptr_t len;
|
746
|
+
} ddog_prof_Slice_ManagedStringId;
|
747
|
+
|
748
|
+
typedef enum ddog_StringWrapperResult_Tag {
|
749
|
+
DDOG_STRING_WRAPPER_RESULT_OK,
|
750
|
+
DDOG_STRING_WRAPPER_RESULT_ERR,
|
751
|
+
} ddog_StringWrapperResult_Tag;
|
752
|
+
|
753
|
+
typedef struct ddog_StringWrapperResult {
|
754
|
+
ddog_StringWrapperResult_Tag tag;
|
755
|
+
union {
|
756
|
+
struct {
|
757
|
+
struct ddog_StringWrapper ok;
|
758
|
+
};
|
759
|
+
struct {
|
760
|
+
struct ddog_Error err;
|
761
|
+
};
|
762
|
+
};
|
763
|
+
} ddog_StringWrapperResult;
|
764
|
+
|
670
765
|
typedef enum ddog_ConfigurationOrigin {
|
671
766
|
DDOG_CONFIGURATION_ORIGIN_ENV_VAR,
|
672
767
|
DDOG_CONFIGURATION_ORIGIN_CODE,
|
@@ -755,16 +850,29 @@ typedef struct ddog_ContextKey {
|
|
755
850
|
enum ddog_MetricType _1;
|
756
851
|
} ddog_ContextKey;
|
757
852
|
|
853
|
+
typedef enum ddog_crasht_BuildIdType {
|
854
|
+
DDOG_CRASHT_BUILD_ID_TYPE_GNU,
|
855
|
+
DDOG_CRASHT_BUILD_ID_TYPE_GO,
|
856
|
+
DDOG_CRASHT_BUILD_ID_TYPE_PDB,
|
857
|
+
DDOG_CRASHT_BUILD_ID_TYPE_SHA1,
|
858
|
+
} ddog_crasht_BuildIdType;
|
859
|
+
|
758
860
|
typedef enum ddog_crasht_DemangleOptions {
|
759
861
|
DDOG_CRASHT_DEMANGLE_OPTIONS_COMPLETE,
|
760
862
|
DDOG_CRASHT_DEMANGLE_OPTIONS_NAME_ONLY,
|
761
863
|
} ddog_crasht_DemangleOptions;
|
762
864
|
|
763
|
-
typedef enum
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
}
|
865
|
+
typedef enum ddog_crasht_ErrorKind {
|
866
|
+
DDOG_CRASHT_ERROR_KIND_PANIC,
|
867
|
+
DDOG_CRASHT_ERROR_KIND_UNHANDLED_EXCEPTION,
|
868
|
+
DDOG_CRASHT_ERROR_KIND_UNIX_SIGNAL,
|
869
|
+
} ddog_crasht_ErrorKind;
|
870
|
+
|
871
|
+
typedef enum ddog_crasht_FileType {
|
872
|
+
DDOG_CRASHT_FILE_TYPE_APK,
|
873
|
+
DDOG_CRASHT_FILE_TYPE_ELF,
|
874
|
+
DDOG_CRASHT_FILE_TYPE_PE,
|
875
|
+
} ddog_crasht_FileType;
|
768
876
|
|
769
877
|
/**
|
770
878
|
* This enum represents operations a the tracked library might be engaged in.
|
@@ -789,6 +897,42 @@ typedef enum ddog_crasht_OpTypes {
|
|
789
897
|
DDOG_CRASHT_OP_TYPES_SIZE,
|
790
898
|
} ddog_crasht_OpTypes;
|
791
899
|
|
900
|
+
/**
|
901
|
+
* See https://man7.org/linux/man-pages/man2/sigaction.2.html
|
902
|
+
*/
|
903
|
+
typedef enum ddog_crasht_SiCodes {
|
904
|
+
DDOG_CRASHT_SI_CODES_BUS_ADRALN,
|
905
|
+
DDOG_CRASHT_SI_CODES_BUS_ADRERR,
|
906
|
+
DDOG_CRASHT_SI_CODES_BUS_MCEERR_AO,
|
907
|
+
DDOG_CRASHT_SI_CODES_BUS_MCEERR_AR,
|
908
|
+
DDOG_CRASHT_SI_CODES_BUS_OBJERR,
|
909
|
+
DDOG_CRASHT_SI_CODES_SEGV_ACCERR,
|
910
|
+
DDOG_CRASHT_SI_CODES_SEGV_BNDERR,
|
911
|
+
DDOG_CRASHT_SI_CODES_SEGV_MAPERR,
|
912
|
+
DDOG_CRASHT_SI_CODES_SEGV_PKUERR,
|
913
|
+
DDOG_CRASHT_SI_CODES_SI_ASYNCIO,
|
914
|
+
DDOG_CRASHT_SI_CODES_SI_KERNEL,
|
915
|
+
DDOG_CRASHT_SI_CODES_SI_MESGQ,
|
916
|
+
DDOG_CRASHT_SI_CODES_SI_QUEUE,
|
917
|
+
DDOG_CRASHT_SI_CODES_SI_SIGIO,
|
918
|
+
DDOG_CRASHT_SI_CODES_SI_TIMER,
|
919
|
+
DDOG_CRASHT_SI_CODES_SI_TKILL,
|
920
|
+
DDOG_CRASHT_SI_CODES_SI_USER,
|
921
|
+
DDOG_CRASHT_SI_CODES_SYS_SECCOMP,
|
922
|
+
DDOG_CRASHT_SI_CODES_UNKNOWN,
|
923
|
+
} ddog_crasht_SiCodes;
|
924
|
+
|
925
|
+
/**
|
926
|
+
* See https://man7.org/linux/man-pages/man7/signal.7.html
|
927
|
+
*/
|
928
|
+
typedef enum ddog_crasht_SignalNames {
|
929
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGABRT,
|
930
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGBUS,
|
931
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGSEGV,
|
932
|
+
DDOG_CRASHT_SIGNAL_NAMES_SIGSYS,
|
933
|
+
DDOG_CRASHT_SIGNAL_NAMES_UNKNOWN,
|
934
|
+
} ddog_crasht_SignalNames;
|
935
|
+
|
792
936
|
/**
|
793
937
|
* Stacktrace collection occurs in the context of a crashing process.
|
794
938
|
* If the stack is sufficiently corruputed, it is possible (but unlikely),
|
@@ -806,17 +950,25 @@ typedef enum ddog_crasht_StacktraceCollection {
|
|
806
950
|
DDOG_CRASHT_STACKTRACE_COLLECTION_ENABLED_WITH_SYMBOLS_IN_RECEIVER,
|
807
951
|
} ddog_crasht_StacktraceCollection;
|
808
952
|
|
953
|
+
typedef struct ddog_crasht_CrashInfo ddog_crasht_CrashInfo;
|
954
|
+
|
955
|
+
typedef struct ddog_crasht_CrashInfoBuilder ddog_crasht_CrashInfoBuilder;
|
956
|
+
|
957
|
+
typedef struct ddog_crasht_StackFrame ddog_crasht_StackFrame;
|
958
|
+
|
959
|
+
typedef struct ddog_crasht_StackTrace ddog_crasht_StackTrace;
|
960
|
+
|
809
961
|
/**
|
810
|
-
* A generic result type for when
|
962
|
+
* A generic result type for when an operation may fail,
|
811
963
|
* but there's nothing to return in the case of success.
|
812
964
|
*/
|
813
|
-
typedef enum
|
814
|
-
|
815
|
-
|
816
|
-
}
|
965
|
+
typedef enum ddog_VoidResult_Tag {
|
966
|
+
DDOG_VOID_RESULT_OK,
|
967
|
+
DDOG_VOID_RESULT_ERR,
|
968
|
+
} ddog_VoidResult_Tag;
|
817
969
|
|
818
|
-
typedef struct
|
819
|
-
|
970
|
+
typedef struct ddog_VoidResult {
|
971
|
+
ddog_VoidResult_Tag tag;
|
820
972
|
union {
|
821
973
|
struct {
|
822
974
|
/**
|
@@ -829,7 +981,7 @@ typedef struct ddog_crasht_Result {
|
|
829
981
|
struct ddog_Error err;
|
830
982
|
};
|
831
983
|
};
|
832
|
-
}
|
984
|
+
} ddog_VoidResult;
|
833
985
|
|
834
986
|
typedef struct ddog_crasht_Slice_CharSlice {
|
835
987
|
/**
|
@@ -910,13 +1062,17 @@ typedef struct ddog_crasht_Metadata {
|
|
910
1062
|
const struct ddog_Vec_Tag *tags;
|
911
1063
|
} ddog_crasht_Metadata;
|
912
1064
|
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
1065
|
+
/**
|
1066
|
+
* A generic result type for when an operation may fail,
|
1067
|
+
* or may return <T> in case of success.
|
1068
|
+
*/
|
1069
|
+
typedef enum ddog_crasht_Result_Usize_Tag {
|
1070
|
+
DDOG_CRASHT_RESULT_USIZE_OK_USIZE,
|
1071
|
+
DDOG_CRASHT_RESULT_USIZE_ERR_USIZE,
|
1072
|
+
} ddog_crasht_Result_Usize_Tag;
|
917
1073
|
|
918
|
-
typedef struct
|
919
|
-
|
1074
|
+
typedef struct ddog_crasht_Result_Usize {
|
1075
|
+
ddog_crasht_Result_Usize_Tag tag;
|
920
1076
|
union {
|
921
1077
|
struct {
|
922
1078
|
uintptr_t ok;
|
@@ -925,124 +1081,287 @@ typedef struct ddog_crasht_UsizeResult {
|
|
925
1081
|
struct ddog_Error err;
|
926
1082
|
};
|
927
1083
|
};
|
928
|
-
}
|
1084
|
+
} ddog_crasht_Result_Usize;
|
929
1085
|
|
930
1086
|
/**
|
931
|
-
* Represents
|
932
|
-
* the C API functions on this struct.
|
1087
|
+
* Represents an object that should only be referred to by its handle.
|
1088
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
933
1089
|
*/
|
934
|
-
typedef struct
|
1090
|
+
typedef struct ddog_crasht_Handle_CrashInfo {
|
935
1091
|
struct ddog_crasht_CrashInfo *inner;
|
936
|
-
}
|
1092
|
+
} ddog_crasht_Handle_CrashInfo;
|
937
1093
|
|
938
1094
|
/**
|
939
|
-
*
|
1095
|
+
* Represents an object that should only be referred to by its handle.
|
1096
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
940
1097
|
*/
|
941
|
-
typedef
|
1098
|
+
typedef struct ddog_crasht_Handle_CrashInfoBuilder {
|
1099
|
+
struct ddog_crasht_CrashInfoBuilder *inner;
|
1100
|
+
} ddog_crasht_Handle_CrashInfoBuilder;
|
1101
|
+
|
1102
|
+
typedef enum ddog_crasht_CrashInfo_NewResult_Tag {
|
942
1103
|
DDOG_CRASHT_CRASH_INFO_NEW_RESULT_OK,
|
943
1104
|
DDOG_CRASHT_CRASH_INFO_NEW_RESULT_ERR,
|
944
|
-
}
|
1105
|
+
} ddog_crasht_CrashInfo_NewResult_Tag;
|
945
1106
|
|
946
|
-
typedef struct
|
947
|
-
|
1107
|
+
typedef struct ddog_crasht_CrashInfo_NewResult {
|
1108
|
+
ddog_crasht_CrashInfo_NewResult_Tag tag;
|
948
1109
|
union {
|
949
1110
|
struct {
|
950
|
-
struct
|
1111
|
+
struct ddog_crasht_Handle_CrashInfo ok;
|
951
1112
|
};
|
952
1113
|
struct {
|
953
1114
|
struct ddog_Error err;
|
954
1115
|
};
|
955
1116
|
};
|
956
|
-
}
|
1117
|
+
} ddog_crasht_CrashInfo_NewResult;
|
1118
|
+
|
1119
|
+
typedef struct ddog_crasht_OsInfo {
|
1120
|
+
ddog_CharSlice architecture;
|
1121
|
+
ddog_CharSlice bitness;
|
1122
|
+
ddog_CharSlice os_type;
|
1123
|
+
ddog_CharSlice version;
|
1124
|
+
} ddog_crasht_OsInfo;
|
1125
|
+
|
1126
|
+
typedef struct ddog_crasht_ProcInfo {
|
1127
|
+
uint32_t pid;
|
1128
|
+
} ddog_crasht_ProcInfo;
|
957
1129
|
|
958
1130
|
typedef struct ddog_crasht_SigInfo {
|
959
|
-
|
960
|
-
|
1131
|
+
ddog_CharSlice addr;
|
1132
|
+
int code;
|
1133
|
+
enum ddog_crasht_SiCodes code_human_readable;
|
1134
|
+
int signo;
|
1135
|
+
enum ddog_crasht_SignalNames signo_human_readable;
|
961
1136
|
} ddog_crasht_SigInfo;
|
962
1137
|
|
963
|
-
typedef struct
|
964
|
-
|
965
|
-
ddog_CharSlice
|
966
|
-
|
1138
|
+
typedef struct ddog_crasht_Span {
|
1139
|
+
ddog_CharSlice id;
|
1140
|
+
ddog_CharSlice thread_name;
|
1141
|
+
} ddog_crasht_Span;
|
1142
|
+
|
1143
|
+
/**
|
1144
|
+
* Represents an object that should only be referred to by its handle.
|
1145
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
1146
|
+
*/
|
1147
|
+
typedef struct ddog_crasht_Handle_StackTrace {
|
1148
|
+
struct ddog_crasht_StackTrace *inner;
|
1149
|
+
} ddog_crasht_Handle_StackTrace;
|
1150
|
+
|
1151
|
+
typedef struct ddog_crasht_ThreadData {
|
1152
|
+
bool crashed;
|
967
1153
|
ddog_CharSlice name;
|
968
|
-
|
1154
|
+
struct ddog_crasht_Handle_StackTrace stack;
|
1155
|
+
ddog_CharSlice state;
|
1156
|
+
} ddog_crasht_ThreadData;
|
1157
|
+
|
1158
|
+
/**
|
1159
|
+
* Represents an object that should only be referred to by its handle.
|
1160
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
1161
|
+
*/
|
1162
|
+
typedef struct ddog_crasht_Handle_StackFrame {
|
1163
|
+
struct ddog_crasht_StackFrame *inner;
|
1164
|
+
} ddog_crasht_Handle_StackFrame;
|
1165
|
+
|
1166
|
+
typedef enum ddog_crasht_StackFrame_NewResult_Tag {
|
1167
|
+
DDOG_CRASHT_STACK_FRAME_NEW_RESULT_OK,
|
1168
|
+
DDOG_CRASHT_STACK_FRAME_NEW_RESULT_ERR,
|
1169
|
+
} ddog_crasht_StackFrame_NewResult_Tag;
|
1170
|
+
|
1171
|
+
typedef struct ddog_crasht_StackFrame_NewResult {
|
1172
|
+
ddog_crasht_StackFrame_NewResult_Tag tag;
|
1173
|
+
union {
|
1174
|
+
struct {
|
1175
|
+
struct ddog_crasht_Handle_StackFrame ok;
|
1176
|
+
};
|
1177
|
+
struct {
|
1178
|
+
struct ddog_Error err;
|
1179
|
+
};
|
1180
|
+
};
|
1181
|
+
} ddog_crasht_StackFrame_NewResult;
|
1182
|
+
|
1183
|
+
/**
|
1184
|
+
* Represent error codes that `Error` struct can hold
|
1185
|
+
*/
|
1186
|
+
typedef enum ddog_TraceExporterErrorCode {
|
1187
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_ADDRESS_IN_USE,
|
1188
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_CONNECTION_ABORTED,
|
1189
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_CONNECTION_REFUSED,
|
1190
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_CONNECTION_RESET,
|
1191
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_BODY_FORMAT,
|
1192
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_BODY_TOO_LONG,
|
1193
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_CLIENT,
|
1194
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_EMPTY_BODY,
|
1195
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_PARSE,
|
1196
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_SERVER,
|
1197
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_UNKNOWN,
|
1198
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_WRONG_STATUS,
|
1199
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_INVALID_ARGUMENT,
|
1200
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_INVALID_DATA,
|
1201
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_INVALID_INPUT,
|
1202
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_INVALID_URL,
|
1203
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_IO_ERROR,
|
1204
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_NETWORK_UNKNOWN,
|
1205
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_SERDE,
|
1206
|
+
DDOG_TRACE_EXPORTER_ERROR_CODE_TIMED_OUT,
|
1207
|
+
} ddog_TraceExporterErrorCode;
|
1208
|
+
|
1209
|
+
/**
|
1210
|
+
* The TraceExporter ingest traces from the tracers serialized as messagepack and forward them to
|
1211
|
+
* the agent while applying some transformation.
|
1212
|
+
*
|
1213
|
+
* # Proxy
|
1214
|
+
* If the input format is set as `Proxy`, the exporter will forward traces to the agent without
|
1215
|
+
* deserializing them.
|
1216
|
+
*
|
1217
|
+
* # Features
|
1218
|
+
* When the input format is set to `V04` the TraceExporter will deserialize the traces and perform
|
1219
|
+
* some operation before sending them to the agent. The available operations are described below.
|
1220
|
+
*
|
1221
|
+
* ## V07 Serialization
|
1222
|
+
* The Trace exporter can serialize the traces to V07 before sending them to the agent.
|
1223
|
+
*
|
1224
|
+
* ## Stats computation
|
1225
|
+
* The Trace Exporter can compute stats on traces. In this case the trace exporter will start
|
1226
|
+
* another task to send stats when a time bucket expire. When this feature is enabled the
|
1227
|
+
* TraceExporter drops all spans that may not be sampled by the agent.
|
1228
|
+
*/
|
1229
|
+
typedef struct ddog_TraceExporter ddog_TraceExporter;
|
1230
|
+
|
1231
|
+
/**
|
1232
|
+
* The TraceExporterConfig object will hold the configuration properties for the TraceExporter.
|
1233
|
+
* Once the configuration is passed to the TraceExporter constructor the config is no longer
|
1234
|
+
* needed by the handle and it can be freed.
|
1235
|
+
*/
|
1236
|
+
typedef struct ddog_TraceExporterConfig ddog_TraceExporterConfig;
|
1237
|
+
|
1238
|
+
/**
|
1239
|
+
* Stucture that contains error information that `TraceExporter` API can return.
|
1240
|
+
*/
|
1241
|
+
typedef struct ddog_TraceExporterError {
|
1242
|
+
enum ddog_TraceExporterErrorCode code;
|
1243
|
+
char *msg;
|
1244
|
+
} ddog_TraceExporterError;
|
969
1245
|
|
970
|
-
|
1246
|
+
/**
|
1247
|
+
* `AgentResponse` structure holds agent response information upon successful request.
|
1248
|
+
*/
|
1249
|
+
typedef struct ddog_AgentResponse {
|
971
1250
|
/**
|
972
|
-
*
|
973
|
-
* allowed but not recommended for the pointer to be null when the len is
|
974
|
-
* zero.
|
1251
|
+
* Sampling rate for the current service.
|
975
1252
|
*/
|
976
|
-
|
1253
|
+
double rate;
|
1254
|
+
} ddog_AgentResponse;
|
1255
|
+
|
1256
|
+
typedef enum ddog_LibraryConfigName {
|
1257
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_APM_TRACING_ENABLED,
|
1258
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_RUNTIME_METRICS_ENABLED,
|
1259
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_LOGS_INJECTION,
|
1260
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_PROFILING_ENABLED,
|
1261
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_DATA_STREAMS_ENABLED,
|
1262
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_APPSEC_ENABLED,
|
1263
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_IAST_ENABLED,
|
1264
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_DYNAMIC_INSTRUMENTATION_ENABLED,
|
1265
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_DATA_JOBS_ENABLED,
|
1266
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_APPSEC_SCA_ENABLED,
|
1267
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_TRACE_DEBUG,
|
1268
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_SERVICE,
|
1269
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_ENV,
|
1270
|
+
DDOG_LIBRARY_CONFIG_NAME_DD_VERSION,
|
1271
|
+
} ddog_LibraryConfigName;
|
1272
|
+
|
1273
|
+
typedef enum ddog_LibraryConfigSource {
|
1274
|
+
DDOG_LIBRARY_CONFIG_SOURCE_LOCAL_STABLE_CONFIG = 0,
|
1275
|
+
DDOG_LIBRARY_CONFIG_SOURCE_FLEET_STABLE_CONFIG = 1,
|
1276
|
+
} ddog_LibraryConfigSource;
|
1277
|
+
|
1278
|
+
typedef struct ddog_Configurator ddog_Configurator;
|
1279
|
+
|
1280
|
+
/**
|
1281
|
+
* Ffi safe type representing a borrowed null-terminated C array
|
1282
|
+
* Equivalent to a std::ffi::CStr
|
1283
|
+
*/
|
1284
|
+
typedef struct ddog_CStr {
|
977
1285
|
/**
|
978
|
-
*
|
979
|
-
* than or equal to [isize::MAX].
|
1286
|
+
* Null terminated char array
|
980
1287
|
*/
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
uint64_t age;
|
988
|
-
ddog_CharSlice path;
|
989
|
-
enum ddog_crasht_NormalizedAddressTypes typ;
|
990
|
-
} ddog_crasht_NormalizedAddress;
|
1288
|
+
char *ptr;
|
1289
|
+
/**
|
1290
|
+
* Length of the array, not counting the null-terminator
|
1291
|
+
*/
|
1292
|
+
uintptr_t length;
|
1293
|
+
} ddog_CStr;
|
991
1294
|
|
992
|
-
typedef struct
|
993
|
-
ddog_CharSlice build_id;
|
994
|
-
uintptr_t ip;
|
995
|
-
uintptr_t module_base_address;
|
996
|
-
struct ddog_crasht_Slice_StackFrameNames names;
|
997
|
-
struct ddog_crasht_NormalizedAddress normalized_ip;
|
998
|
-
uintptr_t sp;
|
999
|
-
uintptr_t symbol_address;
|
1000
|
-
} ddog_crasht_StackFrame;
|
1001
|
-
|
1002
|
-
typedef struct ddog_crasht_Slice_StackFrame {
|
1295
|
+
typedef struct ddog_Slice_CharSlice {
|
1003
1296
|
/**
|
1004
1297
|
* Should be non-null and suitably aligned for the underlying type. It is
|
1005
1298
|
* allowed but not recommended for the pointer to be null when the len is
|
1006
1299
|
* zero.
|
1007
1300
|
*/
|
1008
|
-
const
|
1301
|
+
const ddog_CharSlice *ptr;
|
1009
1302
|
/**
|
1010
1303
|
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
1011
1304
|
* than or equal to [isize::MAX].
|
1012
1305
|
*/
|
1013
1306
|
uintptr_t len;
|
1014
|
-
}
|
1307
|
+
} ddog_Slice_CharSlice;
|
1015
1308
|
|
1016
|
-
typedef struct
|
1017
|
-
|
1018
|
-
|
1309
|
+
typedef struct ddog_ProcessInfo {
|
1310
|
+
struct ddog_Slice_CharSlice args;
|
1311
|
+
struct ddog_Slice_CharSlice envp;
|
1312
|
+
ddog_CharSlice language;
|
1313
|
+
} ddog_ProcessInfo;
|
1019
1314
|
|
1020
1315
|
/**
|
1021
|
-
*
|
1316
|
+
* Ffi safe type representing an owned null-terminated C array
|
1317
|
+
* Equivalent to a std::ffi::CString
|
1022
1318
|
*/
|
1023
|
-
typedef struct
|
1319
|
+
typedef struct ddog_CString {
|
1024
1320
|
/**
|
1025
|
-
*
|
1321
|
+
* Null terminated char array
|
1026
1322
|
*/
|
1027
|
-
|
1028
|
-
|
1323
|
+
char *ptr;
|
1324
|
+
/**
|
1325
|
+
* Length of the array, not counting the null-terminator
|
1326
|
+
*/
|
1327
|
+
uintptr_t length;
|
1328
|
+
} ddog_CString;
|
1029
1329
|
|
1030
|
-
typedef
|
1031
|
-
|
1032
|
-
|
1033
|
-
}
|
1330
|
+
typedef struct ddog_LibraryConfig {
|
1331
|
+
enum ddog_LibraryConfigName name;
|
1332
|
+
struct ddog_CString value;
|
1333
|
+
} ddog_LibraryConfig;
|
1334
|
+
|
1335
|
+
/**
|
1336
|
+
* Holds the raw parts of a Rust Vec; it should only be created from Rust,
|
1337
|
+
* never from C.
|
1338
|
+
*/
|
1339
|
+
typedef struct ddog_Vec_LibraryConfig {
|
1340
|
+
const struct ddog_LibraryConfig *ptr;
|
1341
|
+
uintptr_t len;
|
1342
|
+
uintptr_t capacity;
|
1343
|
+
} ddog_Vec_LibraryConfig;
|
1344
|
+
|
1345
|
+
/**
|
1346
|
+
* A generic result type for when an operation may fail,
|
1347
|
+
* or may return <T> in case of success.
|
1348
|
+
*/
|
1349
|
+
typedef enum ddog_Result_VecLibraryConfig_Tag {
|
1350
|
+
DDOG_RESULT_VEC_LIBRARY_CONFIG_OK_VEC_LIBRARY_CONFIG,
|
1351
|
+
DDOG_RESULT_VEC_LIBRARY_CONFIG_ERR_VEC_LIBRARY_CONFIG,
|
1352
|
+
} ddog_Result_VecLibraryConfig_Tag;
|
1034
1353
|
|
1035
|
-
typedef struct
|
1036
|
-
|
1354
|
+
typedef struct ddog_Result_VecLibraryConfig {
|
1355
|
+
ddog_Result_VecLibraryConfig_Tag tag;
|
1037
1356
|
union {
|
1038
1357
|
struct {
|
1039
|
-
struct
|
1358
|
+
struct ddog_Vec_LibraryConfig ok;
|
1040
1359
|
};
|
1041
1360
|
struct {
|
1042
1361
|
struct ddog_Error err;
|
1043
1362
|
};
|
1044
1363
|
};
|
1045
|
-
}
|
1364
|
+
} ddog_Result_VecLibraryConfig;
|
1046
1365
|
|
1047
1366
|
#ifdef __cplusplus
|
1048
1367
|
extern "C" {
|