libdatadog 14.3.1.1.0-x86_64-linux → 16.0.1.1.0-x86_64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/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 → 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 +28 -26
- 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}/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" {
|