libdatadog 45.0.0.1.0 → 46.0.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.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/bin/libdatadog-crashtracking-receiver +0 -0
  4. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/include/datadog/common.h +68 -22
  5. data/vendor/{libdatadog-45.0.0/arm64-darwin → libdatadog-46.0.0/aarch64-linux}/include/datadog/crashtracker.h +4 -4
  6. data/vendor/{libdatadog-45.0.0/arm64-darwin → libdatadog-46.0.0/aarch64-linux}/include/datadog/data-pipeline.h +52 -2
  7. data/vendor/{libdatadog-45.0.0/arm64-darwin → libdatadog-46.0.0/aarch64-linux}/include/datadog/ddsketch.h +2 -2
  8. data/vendor/{libdatadog-45.0.0/x86_64-linux-musl → libdatadog-46.0.0/aarch64-linux}/include/datadog/profiling.h +1 -1
  9. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/lib/libdatadog_profiling.so +0 -0
  10. data/vendor/{libdatadog-45.0.0/arm64-darwin → libdatadog-46.0.0/aarch64-linux}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  11. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  12. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/common.h +68 -22
  13. data/vendor/{libdatadog-45.0.0/aarch64-linux → libdatadog-46.0.0/aarch64-linux-musl}/include/datadog/crashtracker.h +4 -4
  14. data/vendor/{libdatadog-45.0.0/aarch64-linux → libdatadog-46.0.0/aarch64-linux-musl}/include/datadog/data-pipeline.h +52 -2
  15. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/ddsketch.h +2 -2
  16. data/vendor/{libdatadog-45.0.0/arm64-darwin → libdatadog-46.0.0/aarch64-linux-musl}/include/datadog/profiling.h +1 -1
  17. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/lib/libdatadog_profiling.so +0 -0
  18. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  19. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/include/datadog/common.h +68 -22
  20. data/vendor/{libdatadog-45.0.0/aarch64-linux-musl → libdatadog-46.0.0/arm64-darwin}/include/datadog/crashtracker.h +4 -4
  21. data/vendor/{libdatadog-45.0.0/x86_64-linux-musl → libdatadog-46.0.0/arm64-darwin}/include/datadog/data-pipeline.h +52 -2
  22. data/vendor/{libdatadog-45.0.0/aarch64-linux → libdatadog-46.0.0/arm64-darwin}/include/datadog/ddsketch.h +2 -2
  23. data/vendor/{libdatadog-45.0.0/aarch64-linux-musl → libdatadog-46.0.0/arm64-darwin}/include/datadog/profiling.h +1 -1
  24. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/lib/libdatadog_profiling.dylib +0 -0
  25. data/vendor/{libdatadog-45.0.0/x86_64-linux-musl → libdatadog-46.0.0/arm64-darwin}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  26. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/bin/libdatadog-crashtracking-receiver +0 -0
  27. data/vendor/libdatadog-46.0.0/x86_64-linux/include/datadog/common.h +3215 -0
  28. data/vendor/libdatadog-46.0.0/x86_64-linux/include/datadog/crashtracker.h +1026 -0
  29. data/vendor/libdatadog-46.0.0/x86_64-linux/include/datadog/data-pipeline.h +732 -0
  30. data/vendor/libdatadog-46.0.0/x86_64-linux/include/datadog/ddsketch.h +89 -0
  31. data/vendor/libdatadog-46.0.0/x86_64-linux/include/datadog/profiling.h +1167 -0
  32. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/lib/libdatadog_profiling.so +0 -0
  33. data/vendor/libdatadog-46.0.0/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +15 -0
  34. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  35. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/common.h +68 -22
  36. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/crashtracker.h +4 -4
  37. data/vendor/{libdatadog-45.0.0/aarch64-linux-musl → libdatadog-46.0.0/x86_64-linux-musl}/include/datadog/data-pipeline.h +52 -2
  38. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/ddsketch.h +2 -2
  39. data/vendor/{libdatadog-45.0.0/aarch64-linux → libdatadog-46.0.0/x86_64-linux-musl}/include/datadog/profiling.h +1 -1
  40. data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/lib/libdatadog_profiling.so +0 -0
  41. data/vendor/{libdatadog-45.0.0/aarch64-linux → libdatadog-46.0.0/x86_64-linux-musl}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  42. metadata +91 -91
  43. data/vendor/libdatadog-45.0.0/x86_64-linux/include/datadog/common.h +0 -3169
  44. data/vendor/libdatadog-45.0.0/x86_64-linux/include/datadog/crashtracker.h +0 -1026
  45. data/vendor/libdatadog-45.0.0/x86_64-linux/include/datadog/data-pipeline.h +0 -682
  46. data/vendor/libdatadog-45.0.0/x86_64-linux/include/datadog/ddsketch.h +0 -89
  47. data/vendor/libdatadog-45.0.0/x86_64-linux/include/datadog/profiling.h +0 -1167
  48. data/vendor/libdatadog-45.0.0/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -15
  49. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/LICENSE +0 -0
  50. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/LICENSE-3rdparty.csv +0 -0
  51. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/NOTICE +0 -0
  52. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/include/datadog/blazesym.h +0 -0
  53. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/include/datadog/ffe.h +0 -0
  54. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/include/datadog/library-config.h +0 -0
  55. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/include/datadog/log.h +0 -0
  56. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/include/datadog/otel-thread-ctx.h +0 -0
  57. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/include/datadog/shared-runtime.h +0 -0
  58. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux/include/datadog/telemetry.h +0 -0
  59. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/LICENSE +0 -0
  60. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/LICENSE-3rdparty.csv +0 -0
  61. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/NOTICE +0 -0
  62. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/blazesym.h +0 -0
  63. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/ffe.h +0 -0
  64. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/library-config.h +0 -0
  65. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/log.h +0 -0
  66. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/otel-thread-ctx.h +0 -0
  67. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/shared-runtime.h +0 -0
  68. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/aarch64-linux-musl/include/datadog/telemetry.h +0 -0
  69. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/LICENSE +0 -0
  70. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/LICENSE-3rdparty.csv +0 -0
  71. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/NOTICE +0 -0
  72. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/bin/libdatadog-crashtracking-receiver +0 -0
  73. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/include/datadog/blazesym.h +0 -0
  74. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/include/datadog/ffe.h +0 -0
  75. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/include/datadog/library-config.h +0 -0
  76. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/include/datadog/log.h +0 -0
  77. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/include/datadog/otel-thread-ctx.h +0 -0
  78. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/include/datadog/shared-runtime.h +0 -0
  79. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/arm64-darwin/include/datadog/telemetry.h +0 -0
  80. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/LICENSE +0 -0
  81. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/LICENSE-3rdparty.csv +0 -0
  82. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/NOTICE +0 -0
  83. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/include/datadog/blazesym.h +0 -0
  84. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/include/datadog/ffe.h +0 -0
  85. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/include/datadog/library-config.h +0 -0
  86. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/include/datadog/log.h +0 -0
  87. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/include/datadog/otel-thread-ctx.h +0 -0
  88. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/include/datadog/shared-runtime.h +0 -0
  89. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux/include/datadog/telemetry.h +0 -0
  90. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/LICENSE +0 -0
  91. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/LICENSE-3rdparty.csv +0 -0
  92. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/NOTICE +0 -0
  93. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/blazesym.h +0 -0
  94. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/ffe.h +0 -0
  95. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/library-config.h +0 -0
  96. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/log.h +0 -0
  97. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/otel-thread-ctx.h +0 -0
  98. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/shared-runtime.h +0 -0
  99. /data/vendor/{libdatadog-45.0.0 → libdatadog-46.0.0}/x86_64-linux-musl/include/datadog/telemetry.h +0 -0
@@ -533,7 +533,7 @@ typedef struct ddog_prof_ProfileExporter {
533
533
 
534
534
  /**
535
535
  * A generic result type for when an operation may fail,
536
- * or may return <T> in case of success.
536
+ * or may return `<T>` in case of success.
537
537
  */
538
538
  typedef enum ddog_prof_ProfileExporter_Result_Tag {
539
539
  DDOG_PROF_PROFILE_EXPORTER_RESULT_OK_HANDLE_PROFILE_EXPORTER,
@@ -558,7 +558,7 @@ typedef struct ddog_HttpStatus {
558
558
 
559
559
  /**
560
560
  * A generic result type for when an operation may fail,
561
- * or may return <T> in case of success.
561
+ * or may return `<T>` in case of success.
562
562
  */
563
563
  typedef enum ddog_prof_Result_HttpStatus_Tag {
564
564
  DDOG_PROF_RESULT_HTTP_STATUS_OK_HTTP_STATUS,
@@ -605,7 +605,7 @@ typedef struct ddog_prof_Handle_ExporterManager {
605
605
 
606
606
  /**
607
607
  * A generic result type for when an operation may fail,
608
- * or may return <T> in case of success.
608
+ * or may return `<T>` in case of success.
609
609
  */
610
610
  typedef enum ddog_prof_Result_HandleExporterManager_Tag {
611
611
  DDOG_PROF_RESULT_HANDLE_EXPORTER_MANAGER_OK_HANDLE_EXPORTER_MANAGER,
@@ -790,7 +790,7 @@ typedef struct ddog_prof_Mapping {
790
790
  /**
791
791
  * The object this entry is loaded from. This can be a filename on
792
792
  * disk for the main binary and shared libraries, or virtual
793
- * abstractions like "[vdso]".
793
+ * abstractions like "\[vdso\]".
794
794
  */
795
795
  ddog_CharSlice filename;
796
796
  struct ddog_prof_ManagedStringId filename_id;
@@ -905,7 +905,7 @@ typedef struct ddog_prof_Slice_Label {
905
905
 
906
906
  typedef struct ddog_prof_Sample {
907
907
  /**
908
- * The leaf is at locations[0].
908
+ * The leaf is at locations\[0\].
909
909
  */
910
910
  struct ddog_prof_Slice_Location locations;
911
911
  /**
@@ -1031,7 +1031,7 @@ typedef struct ddog_prof_Slice_Label2 {
1031
1031
 
1032
1032
  typedef struct ddog_prof_Sample2 {
1033
1033
  /**
1034
- * The leaf is at locations[0].
1034
+ * The leaf is at locations\[0\].
1035
1035
  */
1036
1036
  struct ddog_prof_Slice_Location2 locations;
1037
1037
  /**
@@ -1066,7 +1066,7 @@ typedef struct ddog_prof_Slice_Usize {
1066
1066
 
1067
1067
  /**
1068
1068
  * A generic result type for when an operation may fail,
1069
- * or may return <T> in case of success.
1069
+ * or may return `<T>` in case of success.
1070
1070
  */
1071
1071
  typedef enum ddog_prof_Result_ByteSlice_Tag {
1072
1072
  DDOG_PROF_RESULT_BYTE_SLICE_OK_BYTE_SLICE,
@@ -1128,7 +1128,7 @@ typedef struct ddog_prof_FunctionId {
1128
1128
 
1129
1129
  /**
1130
1130
  * A generic result type for when an operation may fail,
1131
- * or may return <T> in case of success.
1131
+ * or may return `<T>` in case of success.
1132
1132
  */
1133
1133
  typedef enum ddog_prof_FunctionId_Result_Tag {
1134
1134
  DDOG_PROF_FUNCTION_ID_RESULT_OK_GENERATIONAL_ID_FUNCTION_ID,
@@ -1177,7 +1177,7 @@ typedef struct ddog_prof_LabelId {
1177
1177
 
1178
1178
  /**
1179
1179
  * A generic result type for when an operation may fail,
1180
- * or may return <T> in case of success.
1180
+ * or may return `<T>` in case of success.
1181
1181
  */
1182
1182
  typedef enum ddog_prof_LabelId_Result_Tag {
1183
1183
  DDOG_PROF_LABEL_ID_RESULT_OK_GENERATIONAL_ID_LABEL_ID,
@@ -1207,7 +1207,7 @@ typedef struct ddog_prof_LabelSetId {
1207
1207
 
1208
1208
  /**
1209
1209
  * A generic result type for when an operation may fail,
1210
- * or may return <T> in case of success.
1210
+ * or may return `<T>` in case of success.
1211
1211
  */
1212
1212
  typedef enum ddog_prof_LabelSetId_Result_Tag {
1213
1213
  DDOG_PROF_LABEL_SET_ID_RESULT_OK_GENERATIONAL_ID_LABEL_SET_ID,
@@ -1251,7 +1251,7 @@ typedef struct ddog_prof_LocationId {
1251
1251
 
1252
1252
  /**
1253
1253
  * A generic result type for when an operation may fail,
1254
- * or may return <T> in case of success.
1254
+ * or may return `<T>` in case of success.
1255
1255
  */
1256
1256
  typedef enum ddog_prof_LocationId_Result_Tag {
1257
1257
  DDOG_PROF_LOCATION_ID_RESULT_OK_GENERATIONAL_ID_LOCATION_ID,
@@ -1281,7 +1281,7 @@ typedef struct ddog_prof_MappingId {
1281
1281
 
1282
1282
  /**
1283
1283
  * A generic result type for when an operation may fail,
1284
- * or may return <T> in case of success.
1284
+ * or may return `<T>` in case of success.
1285
1285
  */
1286
1286
  typedef enum ddog_prof_StringId_Result_Tag {
1287
1287
  DDOG_PROF_STRING_ID_RESULT_OK_GENERATIONAL_ID_STRING_ID,
@@ -1330,7 +1330,7 @@ typedef struct ddog_prof_MutSlice_GenerationalIdStringId {
1330
1330
 
1331
1331
  /**
1332
1332
  * A generic result type for when an operation may fail,
1333
- * or may return <T> in case of success.
1333
+ * or may return `<T>` in case of success.
1334
1334
  */
1335
1335
  typedef enum ddog_prof_MappingId_Result_Tag {
1336
1336
  DDOG_PROF_MAPPING_ID_RESULT_OK_GENERATIONAL_ID_MAPPING_ID,
@@ -1360,7 +1360,7 @@ typedef struct ddog_prof_StackTraceId {
1360
1360
 
1361
1361
  /**
1362
1362
  * A generic result type for when an operation may fail,
1363
- * or may return <T> in case of success.
1363
+ * or may return `<T>` in case of success.
1364
1364
  */
1365
1365
  typedef enum ddog_prof_StackTraceId_Result_Tag {
1366
1366
  DDOG_PROF_STACK_TRACE_ID_RESULT_OK_GENERATIONAL_ID_STACK_TRACE_ID,
@@ -1409,7 +1409,7 @@ typedef struct ddog_prof_Slice_CharSlice {
1409
1409
 
1410
1410
  /**
1411
1411
  * A generic result type for when an operation may fail,
1412
- * or may return <T> in case of success.
1412
+ * or may return `<T>` in case of success.
1413
1413
  */
1414
1414
  typedef enum ddog_prof_Result_Generation_Tag {
1415
1415
  DDOG_PROF_RESULT_GENERATION_OK_GENERATION,
@@ -1535,6 +1535,9 @@ typedef enum ddog_MetricNamespace {
1535
1535
  DDOG_METRIC_NAMESPACE_RUM,
1536
1536
  DDOG_METRIC_NAMESPACE_APPSEC,
1537
1537
  DDOG_METRIC_NAMESPACE_IDE_PLUGINS,
1538
+ /**
1539
+ * Superseded by [`MetricNamespace::Debugger`]. Kept so existing FFI discriminants stay stable.
1540
+ */
1538
1541
  DDOG_METRIC_NAMESPACE_LIVE_DEBUGGER,
1539
1542
  DDOG_METRIC_NAMESPACE_IAST,
1540
1543
  DDOG_METRIC_NAMESPACE_GENERAL,
@@ -1545,6 +1548,7 @@ typedef enum ddog_MetricNamespace {
1545
1548
  DDOG_METRIC_NAMESPACE_MLOBS,
1546
1549
  DDOG_METRIC_NAMESPACE_DDTRACEAPI,
1547
1550
  DDOG_METRIC_NAMESPACE_AI_GUARD,
1551
+ DDOG_METRIC_NAMESPACE_DEBUGGER,
1548
1552
  } ddog_MetricNamespace;
1549
1553
 
1550
1554
  typedef enum ddog_MetricType {
@@ -1707,7 +1711,7 @@ typedef enum ddog_TraceExporterErrorCode {
1707
1711
  typedef struct ddog_TraceExporterResponse ddog_TraceExporterResponse;
1708
1712
 
1709
1713
  /**
1710
- * Owns a tokio runtime and manages [`PausableWorker`]s on it.
1714
+ * Owns a tokio runtime and manages `PausableWorker`s on it.
1711
1715
  *
1712
1716
  * Supports the full fork protocol ([`before_fork`](Self::before_fork) /
1713
1717
  * [`after_fork_parent`](Self::after_fork_parent) /
@@ -1735,6 +1739,29 @@ typedef struct ddog_TraceExporterError {
1735
1739
  char *msg;
1736
1740
  } ddog_TraceExporterError;
1737
1741
 
1742
+ /**
1743
+ * Caller-owned observations from one send. All counts are unsigned and zero-suppressed.
1744
+ * `bytes_sent` is one successful payload-size distribution sample. Status zero means no
1745
+ * terminal HTTP response; otherwise `responses_count` belongs to `status_code`.
1746
+ * The struct contains no owned pointers and requires no destructor. Each exporter send currently
1747
+ * prepares at most one payload, including V1 fallback.
1748
+ */
1749
+ typedef struct ddog_TraceExporterObservations {
1750
+ uint64_t requests_count;
1751
+ uint64_t errors_network;
1752
+ uint64_t errors_timeout;
1753
+ uint64_t errors_status_code;
1754
+ uint64_t bytes_sent;
1755
+ uint64_t chunks_sent;
1756
+ uint64_t chunks_dropped_serialization_error;
1757
+ uint64_t chunks_dropped_send_failure;
1758
+ uint64_t spans_enqueued_for_serialization;
1759
+ uint64_t spans_dropped_serialization_error;
1760
+ uint64_t spans_dropped_api_error;
1761
+ uint64_t responses_count;
1762
+ uint16_t status_code;
1763
+ } ddog_TraceExporterObservations;
1764
+
1738
1765
  /**
1739
1766
  * One value in a flat preorder representation of a structured value.
1740
1767
  *
@@ -1992,7 +2019,7 @@ typedef struct ddog_TracerMemfdHandle {
1992
2019
 
1993
2020
  /**
1994
2021
  * A generic result type for when an operation may fail,
1995
- * or may return <T> in case of success.
2022
+ * or may return `<T>` in case of success.
1996
2023
  */
1997
2024
  typedef enum ddog_Result_TracerMemfdHandle_Tag {
1998
2025
  DDOG_RESULT_TRACER_MEMFD_HANDLE_OK_TRACER_MEMFD_HANDLE,
@@ -2340,7 +2367,7 @@ typedef struct ddog_ffe_ArrayMap_BorrowedStr {
2340
2367
 
2341
2368
  /**
2342
2369
  * A generic result type for when an operation may fail,
2343
- * or may return <T> in case of success.
2370
+ * or may return `<T>` in case of success.
2344
2371
  */
2345
2372
  typedef enum ddog_ffe_Result_HandleConfiguration_Tag {
2346
2373
  DDOG_FFE_RESULT_HANDLE_CONFIGURATION_OK_HANDLE_CONFIGURATION,
@@ -2511,7 +2538,7 @@ typedef enum ddog_crasht_OpTypes {
2511
2538
  } ddog_crasht_OpTypes;
2512
2539
 
2513
2540
  /**
2514
- * See https://man7.org/linux/man-pages/man2/sigaction.2.html
2541
+ * See <https://man7.org/linux/man-pages/man2/sigaction.2.html>
2515
2542
  * MUST REMAIN IN SYNC WITH THE ENUM IN emit_sigcodes.c
2516
2543
  */
2517
2544
  typedef enum ddog_crasht_SiCodes {
@@ -2545,7 +2572,7 @@ typedef enum ddog_crasht_SiCodes {
2545
2572
  } ddog_crasht_SiCodes;
2546
2573
 
2547
2574
  /**
2548
- * See https://man7.org/linux/man-pages/man7/signal.7.html
2575
+ * See <https://man7.org/linux/man-pages/man7/signal.7.html>
2549
2576
  */
2550
2577
  typedef enum ddog_crasht_SignalNames {
2551
2578
  DDOG_CRASHT_SIGNAL_NAMES_SIGHUP,
@@ -2754,7 +2781,7 @@ typedef struct ddog_crasht_Handle_StackTrace {
2754
2781
 
2755
2782
  /**
2756
2783
  * A generic result type for when an operation may fail,
2757
- * or may return <T> in case of success.
2784
+ * or may return `<T>` in case of success.
2758
2785
  */
2759
2786
  typedef enum ddog_crasht_Result_Usize_Tag {
2760
2787
  DDOG_CRASHT_RESULT_USIZE_OK_USIZE,
@@ -2808,7 +2835,7 @@ typedef struct ddog_crasht_CrashInfoBuilder_NewResult {
2808
2835
 
2809
2836
  /**
2810
2837
  * A generic result type for when an operation may fail,
2811
- * or may return <T> in case of success.
2838
+ * or may return `<T>` in case of success.
2812
2839
  */
2813
2840
  typedef enum ddog_crasht_Result_HandleCrashInfo_Tag {
2814
2841
  DDOG_CRASHT_RESULT_HANDLE_CRASH_INFO_OK_HANDLE_CRASH_INFO,
@@ -3111,6 +3138,25 @@ DDOG_CHECK_RETURN
3111
3138
  struct ddog_VoidResult ddog_mutable_metadata_set_process_tags(const struct ddog_MutableMetadataHandle *handle,
3112
3139
  ddog_CharSlice process_tags);
3113
3140
 
3141
+ /**
3142
+ * Atomically replaces runtime identity and instrumentation session ancestry.
3143
+ * Empty session strings omit the corresponding headers, overriding static configuration.
3144
+ * Strings are copied before returning; process tags are preserved.
3145
+ *
3146
+ * For a fork child, call after all native workers and sends have paused and before
3147
+ * `ddog_shared_runtime_after_fork_child`. This does not reset pending data or sequences.
3148
+ *
3149
+ * # Safety
3150
+ *
3151
+ * `handle` must be valid and all slices must remain valid for the duration of the call.
3152
+ */
3153
+ DDOG_CHECK_RETURN
3154
+ struct ddog_VoidResult ddog_mutable_metadata_set_identity(const struct ddog_MutableMetadataHandle *handle,
3155
+ ddog_CharSlice runtime_id,
3156
+ ddog_CharSlice session_id,
3157
+ ddog_CharSlice root_session_id,
3158
+ ddog_CharSlice parent_session_id);
3159
+
3114
3160
  struct ddog_Option_U32 ddog_Option_U32_some(uint32_t v);
3115
3161
 
3116
3162
  struct ddog_Option_U32 ddog_Option_U32_none(void);
@@ -298,7 +298,7 @@ DDOG_CHECK_RETURN struct ddog_VoidResult ddog_crasht_clear_trace_ids(void);
298
298
  * Err() on failure. The most likely cause of failure is that the underlying set is full.
299
299
  *
300
300
  * Note: 128 bit ints in FFI were not stabilized until Rust 1.77
301
- * https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
301
+ * <https://blog.rust-lang.org/2024/03/30/i128-layout-update.html>
302
302
  * We're currently locked into 1.76.0, have to do an ugly workaround involving 2 64 bit ints
303
303
  * until we can upgrade.
304
304
  *
@@ -323,7 +323,7 @@ struct ddog_crasht_Result_Usize ddog_crasht_insert_trace_id(uint64_t id_high,
323
323
  * Err() on failure. The most likely cause of failure is that the underlying set is full.
324
324
  *
325
325
  * Note: 128 bit ints in FFI were not stabilized until Rust 1.77
326
- * https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
326
+ * <https://blog.rust-lang.org/2024/03/30/i128-layout-update.html>
327
327
  * We're currently locked into 1.76.0, have to do an ugly workaround involving 2 64 bit ints
328
328
  * until we can upgrade.
329
329
  *
@@ -349,7 +349,7 @@ struct ddog_crasht_Result_Usize ddog_crasht_insert_span_id(uint64_t id_high,
349
349
  * be modified.
350
350
  *
351
351
  * Note: 128 bit ints in FFI were not stabilized until Rust 1.77
352
- * https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
352
+ * <https://blog.rust-lang.org/2024/03/30/i128-layout-update.html>
353
353
  * We're currently locked into 1.76.0, have to do an ugly workaround involving 2 64 bit ints
354
354
  * until we can upgrade.
355
355
  *
@@ -376,7 +376,7 @@ struct ddog_VoidResult ddog_crasht_remove_span_id(uint64_t id_high,
376
376
  * be modified.
377
377
  *
378
378
  * Note: 128 bit ints in FFI were not stabilized until Rust 1.77
379
- * https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
379
+ * <https://blog.rust-lang.org/2024/03/30/i128-layout-update.html>
380
380
  * We're currently locked into 1.76.0, have to do an ugly workaround involving 2 64 bit ints
381
381
  * until we can upgrade.
382
382
  *
@@ -20,6 +20,31 @@ extern "C" {
20
20
  */
21
21
  void ddog_trace_exporter_error_free(struct ddog_TraceExporterError *error);
22
22
 
23
+ /**
24
+ * Select external observation delivery and disable native telemetry delivery.
25
+ *
26
+ * # Safety
27
+ * `config`, when non-null, must be a live, exclusively borrowed configuration.
28
+ */
29
+ struct ddog_TraceExporterError *ddog_trace_exporter_config_enable_observations(struct ddog_TraceExporterConfig *config);
30
+
31
+ /**
32
+ * Send chunks with caller-owned observations on success, failure, or cancellation.
33
+ * Native telemetry is not submitted for this operation. Both outputs are initialised
34
+ * before validation; invalid input and contained panics leave zero observations.
35
+ * `chunks` is consumed on every return, including invalid arguments and panics.
36
+ *
37
+ * # Safety
38
+ * Non-null pointers must be valid for their types. Output slots must be writable,
39
+ * unaliased, and contain no live owned response. Free a returned response with
40
+ * `ddog_trace_exporter_response_free`; observations require no cleanup.
41
+ */
42
+ struct ddog_TraceExporterError *ddog_trace_exporter_send_trace_chunks_observed(const ddog_TraceExporter *exporter,
43
+ ddog_TracerTraceChunks *chunks,
44
+ struct ddog_TraceExporterResponse **response_out,
45
+ struct ddog_TraceExporterObservations *observations_out,
46
+ const ddog_TraceExporterCancelToken *cancel);
47
+
23
48
  /**
24
49
  * Return a borrowed view of the response body. The returned slice is
25
50
  * only valid as long as `response` is alive. Returns an empty slice
@@ -201,13 +226,13 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_connection_timeou
201
226
  /**
202
227
  * Sets a shared runtime for the TraceExporter to use for background workers.
203
228
  *
204
- * `handle` must have been initialized with [`ddog_shared_runtime_new`].
229
+ * `handle` must have been initialized with `ddog_shared_runtime_new`.
205
230
  *
206
231
  * When set, the exporter will use the provided runtime instead of creating its own.
207
232
  * This allows multiple exporters (or other components) to share a single runtime.
208
233
  * The config holds a clone of the `Arc` (increments the strong count), so the
209
234
  * original handle remains valid and must still be freed with
210
- * [`ddog_shared_runtime_free`].
235
+ * `ddog_shared_runtime_free`.
211
236
  */
212
237
  struct ddog_TraceExporterError *ddog_trace_exporter_config_set_shared_runtime(struct ddog_TraceExporterConfig *config,
213
238
  struct ddog_ForkSafeRuntime *handle);
@@ -354,6 +379,31 @@ struct ddog_TraceExporterError *ddog_trace_exporter_new(ddog_TraceExporter **out
354
379
  */
355
380
  void ddog_trace_exporter_free(ddog_TraceExporter *handle);
356
381
 
382
+ /**
383
+ * Consumes the exporter and waits at most `timeout_ms` for its workers to flush.
384
+ * The handle is consumed on success and error. Other workers on a shared runtime
385
+ * are unaffected. The deadline bounds worker flushing, not runtime destruction:
386
+ * dropping the last runtime owner can additionally wait for blocking tasks such
387
+ * as system DNS resolution. Hosts must account for that separately.
388
+ *
389
+ * # Safety
390
+ *
391
+ * `handle` must be valid and must not be used concurrently or after this call.
392
+ */
393
+ struct ddog_TraceExporterError *ddog_trace_exporter_shutdown(ddog_TraceExporter *handle,
394
+ uint64_t timeout_ms);
395
+
396
+ /**
397
+ * Releases the exporter without flushing or stopping its workers.
398
+ * The caller must also dispose of the runtime that owns those workers. This is
399
+ * intended for finalisation and failed fork recovery with an exclusively owned runtime.
400
+ *
401
+ * # Safety
402
+ *
403
+ * `handle` must be valid and must not be used concurrently or after this call.
404
+ */
405
+ void ddog_trace_exporter_discard(ddog_TraceExporter *handle);
406
+
357
407
  /**
358
408
  * Send traces to the Datadog Agent.
359
409
  *
@@ -73,11 +73,11 @@ struct ddog_VoidResult ddog_ddsketch_count(struct ddsketch_Handle_DDSketch *sket
73
73
  struct ddog_Vec_U8 ddog_ddsketch_encode(struct ddsketch_Handle_DDSketch *sketch);
74
74
 
75
75
  /**
76
- * Frees the memory allocated for a Vec<u8> returned by ddsketch functions.
76
+ * Frees the memory allocated for a `Vec<u8>` returned by ddsketch functions.
77
77
  *
78
78
  * # Safety
79
79
  *
80
- * The vec parameter must be a valid Vec<u8> returned by this library.
80
+ * The vec parameter must be a valid `Vec<u8>` returned by this library.
81
81
  * After being called, the vec will not point to valid memory.
82
82
  */
83
83
  void ddog_Vec_U8_drop(struct ddog_Vec_U8 _vec);
@@ -112,7 +112,7 @@ struct ddog_prof_Endpoint ddog_Endpoint_file(ddog_CharSlice filename);
112
112
  * # Arguments
113
113
  * * `profiling_library_name` - Profiling library name, usually dd-trace-something, e.g.
114
114
  * "dd-trace-rb". See
115
- * https://datadoghq.atlassian.net/wiki/spaces/PROF/pages/1538884229/Client#Header-values
115
+ * <https://datadoghq.atlassian.net/wiki/spaces/PROF/pages/1538884229/Client#Header-values>
116
116
  * (Datadog internal link)
117
117
  * for a list of common values.
118
118
  * * `profliling_library_version` - Version used when publishing the profiling library to a package
@@ -8,7 +8,7 @@ includedir=${prefix}/include
8
8
 
9
9
  Name: datadog_profiling
10
10
  Description: Contains common code used to implement Datadog's Continuous Profilers. (Dynamic linking variant, sets rpath)
11
- Version: 45.0.0
11
+ Version: 46.0.0
12
12
  Requires:
13
13
  Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
14
14
  Libs.private:
@@ -533,7 +533,7 @@ typedef struct ddog_prof_ProfileExporter {
533
533
 
534
534
  /**
535
535
  * A generic result type for when an operation may fail,
536
- * or may return <T> in case of success.
536
+ * or may return `<T>` in case of success.
537
537
  */
538
538
  typedef enum ddog_prof_ProfileExporter_Result_Tag {
539
539
  DDOG_PROF_PROFILE_EXPORTER_RESULT_OK_HANDLE_PROFILE_EXPORTER,
@@ -558,7 +558,7 @@ typedef struct ddog_HttpStatus {
558
558
 
559
559
  /**
560
560
  * A generic result type for when an operation may fail,
561
- * or may return <T> in case of success.
561
+ * or may return `<T>` in case of success.
562
562
  */
563
563
  typedef enum ddog_prof_Result_HttpStatus_Tag {
564
564
  DDOG_PROF_RESULT_HTTP_STATUS_OK_HTTP_STATUS,
@@ -605,7 +605,7 @@ typedef struct ddog_prof_Handle_ExporterManager {
605
605
 
606
606
  /**
607
607
  * A generic result type for when an operation may fail,
608
- * or may return <T> in case of success.
608
+ * or may return `<T>` in case of success.
609
609
  */
610
610
  typedef enum ddog_prof_Result_HandleExporterManager_Tag {
611
611
  DDOG_PROF_RESULT_HANDLE_EXPORTER_MANAGER_OK_HANDLE_EXPORTER_MANAGER,
@@ -790,7 +790,7 @@ typedef struct ddog_prof_Mapping {
790
790
  /**
791
791
  * The object this entry is loaded from. This can be a filename on
792
792
  * disk for the main binary and shared libraries, or virtual
793
- * abstractions like "[vdso]".
793
+ * abstractions like "\[vdso\]".
794
794
  */
795
795
  ddog_CharSlice filename;
796
796
  struct ddog_prof_ManagedStringId filename_id;
@@ -905,7 +905,7 @@ typedef struct ddog_prof_Slice_Label {
905
905
 
906
906
  typedef struct ddog_prof_Sample {
907
907
  /**
908
- * The leaf is at locations[0].
908
+ * The leaf is at locations\[0\].
909
909
  */
910
910
  struct ddog_prof_Slice_Location locations;
911
911
  /**
@@ -1031,7 +1031,7 @@ typedef struct ddog_prof_Slice_Label2 {
1031
1031
 
1032
1032
  typedef struct ddog_prof_Sample2 {
1033
1033
  /**
1034
- * The leaf is at locations[0].
1034
+ * The leaf is at locations\[0\].
1035
1035
  */
1036
1036
  struct ddog_prof_Slice_Location2 locations;
1037
1037
  /**
@@ -1066,7 +1066,7 @@ typedef struct ddog_prof_Slice_Usize {
1066
1066
 
1067
1067
  /**
1068
1068
  * A generic result type for when an operation may fail,
1069
- * or may return <T> in case of success.
1069
+ * or may return `<T>` in case of success.
1070
1070
  */
1071
1071
  typedef enum ddog_prof_Result_ByteSlice_Tag {
1072
1072
  DDOG_PROF_RESULT_BYTE_SLICE_OK_BYTE_SLICE,
@@ -1128,7 +1128,7 @@ typedef struct ddog_prof_FunctionId {
1128
1128
 
1129
1129
  /**
1130
1130
  * A generic result type for when an operation may fail,
1131
- * or may return <T> in case of success.
1131
+ * or may return `<T>` in case of success.
1132
1132
  */
1133
1133
  typedef enum ddog_prof_FunctionId_Result_Tag {
1134
1134
  DDOG_PROF_FUNCTION_ID_RESULT_OK_GENERATIONAL_ID_FUNCTION_ID,
@@ -1177,7 +1177,7 @@ typedef struct ddog_prof_LabelId {
1177
1177
 
1178
1178
  /**
1179
1179
  * A generic result type for when an operation may fail,
1180
- * or may return <T> in case of success.
1180
+ * or may return `<T>` in case of success.
1181
1181
  */
1182
1182
  typedef enum ddog_prof_LabelId_Result_Tag {
1183
1183
  DDOG_PROF_LABEL_ID_RESULT_OK_GENERATIONAL_ID_LABEL_ID,
@@ -1207,7 +1207,7 @@ typedef struct ddog_prof_LabelSetId {
1207
1207
 
1208
1208
  /**
1209
1209
  * A generic result type for when an operation may fail,
1210
- * or may return <T> in case of success.
1210
+ * or may return `<T>` in case of success.
1211
1211
  */
1212
1212
  typedef enum ddog_prof_LabelSetId_Result_Tag {
1213
1213
  DDOG_PROF_LABEL_SET_ID_RESULT_OK_GENERATIONAL_ID_LABEL_SET_ID,
@@ -1251,7 +1251,7 @@ typedef struct ddog_prof_LocationId {
1251
1251
 
1252
1252
  /**
1253
1253
  * A generic result type for when an operation may fail,
1254
- * or may return <T> in case of success.
1254
+ * or may return `<T>` in case of success.
1255
1255
  */
1256
1256
  typedef enum ddog_prof_LocationId_Result_Tag {
1257
1257
  DDOG_PROF_LOCATION_ID_RESULT_OK_GENERATIONAL_ID_LOCATION_ID,
@@ -1281,7 +1281,7 @@ typedef struct ddog_prof_MappingId {
1281
1281
 
1282
1282
  /**
1283
1283
  * A generic result type for when an operation may fail,
1284
- * or may return <T> in case of success.
1284
+ * or may return `<T>` in case of success.
1285
1285
  */
1286
1286
  typedef enum ddog_prof_StringId_Result_Tag {
1287
1287
  DDOG_PROF_STRING_ID_RESULT_OK_GENERATIONAL_ID_STRING_ID,
@@ -1330,7 +1330,7 @@ typedef struct ddog_prof_MutSlice_GenerationalIdStringId {
1330
1330
 
1331
1331
  /**
1332
1332
  * A generic result type for when an operation may fail,
1333
- * or may return <T> in case of success.
1333
+ * or may return `<T>` in case of success.
1334
1334
  */
1335
1335
  typedef enum ddog_prof_MappingId_Result_Tag {
1336
1336
  DDOG_PROF_MAPPING_ID_RESULT_OK_GENERATIONAL_ID_MAPPING_ID,
@@ -1360,7 +1360,7 @@ typedef struct ddog_prof_StackTraceId {
1360
1360
 
1361
1361
  /**
1362
1362
  * A generic result type for when an operation may fail,
1363
- * or may return <T> in case of success.
1363
+ * or may return `<T>` in case of success.
1364
1364
  */
1365
1365
  typedef enum ddog_prof_StackTraceId_Result_Tag {
1366
1366
  DDOG_PROF_STACK_TRACE_ID_RESULT_OK_GENERATIONAL_ID_STACK_TRACE_ID,
@@ -1409,7 +1409,7 @@ typedef struct ddog_prof_Slice_CharSlice {
1409
1409
 
1410
1410
  /**
1411
1411
  * A generic result type for when an operation may fail,
1412
- * or may return <T> in case of success.
1412
+ * or may return `<T>` in case of success.
1413
1413
  */
1414
1414
  typedef enum ddog_prof_Result_Generation_Tag {
1415
1415
  DDOG_PROF_RESULT_GENERATION_OK_GENERATION,
@@ -1535,6 +1535,9 @@ typedef enum ddog_MetricNamespace {
1535
1535
  DDOG_METRIC_NAMESPACE_RUM,
1536
1536
  DDOG_METRIC_NAMESPACE_APPSEC,
1537
1537
  DDOG_METRIC_NAMESPACE_IDE_PLUGINS,
1538
+ /**
1539
+ * Superseded by [`MetricNamespace::Debugger`]. Kept so existing FFI discriminants stay stable.
1540
+ */
1538
1541
  DDOG_METRIC_NAMESPACE_LIVE_DEBUGGER,
1539
1542
  DDOG_METRIC_NAMESPACE_IAST,
1540
1543
  DDOG_METRIC_NAMESPACE_GENERAL,
@@ -1545,6 +1548,7 @@ typedef enum ddog_MetricNamespace {
1545
1548
  DDOG_METRIC_NAMESPACE_MLOBS,
1546
1549
  DDOG_METRIC_NAMESPACE_DDTRACEAPI,
1547
1550
  DDOG_METRIC_NAMESPACE_AI_GUARD,
1551
+ DDOG_METRIC_NAMESPACE_DEBUGGER,
1548
1552
  } ddog_MetricNamespace;
1549
1553
 
1550
1554
  typedef enum ddog_MetricType {
@@ -1707,7 +1711,7 @@ typedef enum ddog_TraceExporterErrorCode {
1707
1711
  typedef struct ddog_TraceExporterResponse ddog_TraceExporterResponse;
1708
1712
 
1709
1713
  /**
1710
- * Owns a tokio runtime and manages [`PausableWorker`]s on it.
1714
+ * Owns a tokio runtime and manages `PausableWorker`s on it.
1711
1715
  *
1712
1716
  * Supports the full fork protocol ([`before_fork`](Self::before_fork) /
1713
1717
  * [`after_fork_parent`](Self::after_fork_parent) /
@@ -1735,6 +1739,29 @@ typedef struct ddog_TraceExporterError {
1735
1739
  char *msg;
1736
1740
  } ddog_TraceExporterError;
1737
1741
 
1742
+ /**
1743
+ * Caller-owned observations from one send. All counts are unsigned and zero-suppressed.
1744
+ * `bytes_sent` is one successful payload-size distribution sample. Status zero means no
1745
+ * terminal HTTP response; otherwise `responses_count` belongs to `status_code`.
1746
+ * The struct contains no owned pointers and requires no destructor. Each exporter send currently
1747
+ * prepares at most one payload, including V1 fallback.
1748
+ */
1749
+ typedef struct ddog_TraceExporterObservations {
1750
+ uint64_t requests_count;
1751
+ uint64_t errors_network;
1752
+ uint64_t errors_timeout;
1753
+ uint64_t errors_status_code;
1754
+ uint64_t bytes_sent;
1755
+ uint64_t chunks_sent;
1756
+ uint64_t chunks_dropped_serialization_error;
1757
+ uint64_t chunks_dropped_send_failure;
1758
+ uint64_t spans_enqueued_for_serialization;
1759
+ uint64_t spans_dropped_serialization_error;
1760
+ uint64_t spans_dropped_api_error;
1761
+ uint64_t responses_count;
1762
+ uint16_t status_code;
1763
+ } ddog_TraceExporterObservations;
1764
+
1738
1765
  /**
1739
1766
  * One value in a flat preorder representation of a structured value.
1740
1767
  *
@@ -1992,7 +2019,7 @@ typedef struct ddog_TracerMemfdHandle {
1992
2019
 
1993
2020
  /**
1994
2021
  * A generic result type for when an operation may fail,
1995
- * or may return <T> in case of success.
2022
+ * or may return `<T>` in case of success.
1996
2023
  */
1997
2024
  typedef enum ddog_Result_TracerMemfdHandle_Tag {
1998
2025
  DDOG_RESULT_TRACER_MEMFD_HANDLE_OK_TRACER_MEMFD_HANDLE,
@@ -2340,7 +2367,7 @@ typedef struct ddog_ffe_ArrayMap_BorrowedStr {
2340
2367
 
2341
2368
  /**
2342
2369
  * A generic result type for when an operation may fail,
2343
- * or may return <T> in case of success.
2370
+ * or may return `<T>` in case of success.
2344
2371
  */
2345
2372
  typedef enum ddog_ffe_Result_HandleConfiguration_Tag {
2346
2373
  DDOG_FFE_RESULT_HANDLE_CONFIGURATION_OK_HANDLE_CONFIGURATION,
@@ -2511,7 +2538,7 @@ typedef enum ddog_crasht_OpTypes {
2511
2538
  } ddog_crasht_OpTypes;
2512
2539
 
2513
2540
  /**
2514
- * See https://man7.org/linux/man-pages/man2/sigaction.2.html
2541
+ * See <https://man7.org/linux/man-pages/man2/sigaction.2.html>
2515
2542
  * MUST REMAIN IN SYNC WITH THE ENUM IN emit_sigcodes.c
2516
2543
  */
2517
2544
  typedef enum ddog_crasht_SiCodes {
@@ -2545,7 +2572,7 @@ typedef enum ddog_crasht_SiCodes {
2545
2572
  } ddog_crasht_SiCodes;
2546
2573
 
2547
2574
  /**
2548
- * See https://man7.org/linux/man-pages/man7/signal.7.html
2575
+ * See <https://man7.org/linux/man-pages/man7/signal.7.html>
2549
2576
  */
2550
2577
  typedef enum ddog_crasht_SignalNames {
2551
2578
  DDOG_CRASHT_SIGNAL_NAMES_SIGHUP,
@@ -2754,7 +2781,7 @@ typedef struct ddog_crasht_Handle_StackTrace {
2754
2781
 
2755
2782
  /**
2756
2783
  * A generic result type for when an operation may fail,
2757
- * or may return <T> in case of success.
2784
+ * or may return `<T>` in case of success.
2758
2785
  */
2759
2786
  typedef enum ddog_crasht_Result_Usize_Tag {
2760
2787
  DDOG_CRASHT_RESULT_USIZE_OK_USIZE,
@@ -2808,7 +2835,7 @@ typedef struct ddog_crasht_CrashInfoBuilder_NewResult {
2808
2835
 
2809
2836
  /**
2810
2837
  * A generic result type for when an operation may fail,
2811
- * or may return <T> in case of success.
2838
+ * or may return `<T>` in case of success.
2812
2839
  */
2813
2840
  typedef enum ddog_crasht_Result_HandleCrashInfo_Tag {
2814
2841
  DDOG_CRASHT_RESULT_HANDLE_CRASH_INFO_OK_HANDLE_CRASH_INFO,
@@ -3111,6 +3138,25 @@ DDOG_CHECK_RETURN
3111
3138
  struct ddog_VoidResult ddog_mutable_metadata_set_process_tags(const struct ddog_MutableMetadataHandle *handle,
3112
3139
  ddog_CharSlice process_tags);
3113
3140
 
3141
+ /**
3142
+ * Atomically replaces runtime identity and instrumentation session ancestry.
3143
+ * Empty session strings omit the corresponding headers, overriding static configuration.
3144
+ * Strings are copied before returning; process tags are preserved.
3145
+ *
3146
+ * For a fork child, call after all native workers and sends have paused and before
3147
+ * `ddog_shared_runtime_after_fork_child`. This does not reset pending data or sequences.
3148
+ *
3149
+ * # Safety
3150
+ *
3151
+ * `handle` must be valid and all slices must remain valid for the duration of the call.
3152
+ */
3153
+ DDOG_CHECK_RETURN
3154
+ struct ddog_VoidResult ddog_mutable_metadata_set_identity(const struct ddog_MutableMetadataHandle *handle,
3155
+ ddog_CharSlice runtime_id,
3156
+ ddog_CharSlice session_id,
3157
+ ddog_CharSlice root_session_id,
3158
+ ddog_CharSlice parent_session_id);
3159
+
3114
3160
  struct ddog_Option_U32 ddog_Option_U32_some(uint32_t v);
3115
3161
 
3116
3162
  struct ddog_Option_U32 ddog_Option_U32_none(void);