libdatadog 19.1.0.1.0 → 22.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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/vendor/{libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-22.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/LICENSE-3rdparty.yml +11709 -16104
  4. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  5. data/vendor/{libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-22.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +587 -525
  6. data/vendor/{libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-22.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +0 -34
  7. data/vendor/{libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-22.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/data-pipeline.h +9 -11
  8. data/vendor/libdatadog-22.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h +89 -0
  9. data/vendor/libdatadog-22.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +113 -0
  10. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +2 -1
  11. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  12. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  13. data/vendor/{libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-22.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/LICENSE-3rdparty.yml +11709 -16104
  14. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  15. data/vendor/{libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-22.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +587 -525
  16. data/vendor/{libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-22.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +0 -34
  17. data/vendor/{libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-22.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/data-pipeline.h +9 -11
  18. data/vendor/libdatadog-22.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h +89 -0
  19. data/vendor/libdatadog-22.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +113 -0
  20. data/vendor/{libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-22.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +2 -1
  21. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  22. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  23. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +11709 -16104
  24. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  25. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +587 -525
  26. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -34
  27. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +9 -11
  28. data/vendor/libdatadog-22.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/ddsketch.h +89 -0
  29. data/vendor/libdatadog-22.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/library-config.h +113 -0
  30. data/vendor/{libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-22.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/profiling.h +2 -1
  31. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  32. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  33. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +11709 -16104
  34. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  35. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h +587 -525
  36. data/vendor/{libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-22.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/crashtracker.h +0 -34
  37. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +9 -11
  38. data/vendor/libdatadog-22.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/ddsketch.h +89 -0
  39. data/vendor/libdatadog-22.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/library-config.h +113 -0
  40. data/vendor/{libdatadog-19.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-22.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/profiling.h +2 -1
  41. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  42. data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  43. metadata +61 -57
  44. data/vendor/libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +0 -73
  45. data/vendor/libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +0 -73
  46. data/vendor/libdatadog-19.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/library-config.h +0 -73
  47. data/vendor/libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/library-config.h +0 -73
  48. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  49. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  50. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
  51. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h +0 -0
  52. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
  53. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  54. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
  55. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
  56. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h +0 -0
  57. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
  58. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
  59. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
  60. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
  61. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/log.h +0 -0
  62. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
  63. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
  64. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
  65. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
  66. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/log.h +0 -0
  67. /data/vendor/{libdatadog-19.1.0 → libdatadog-22.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
@@ -19,40 +19,6 @@
19
19
 
20
20
 
21
21
 
22
- typedef enum ddog_crasht_CrashInfoBuilder_NewResult_Tag {
23
- DDOG_CRASHT_CRASH_INFO_BUILDER_NEW_RESULT_OK,
24
- DDOG_CRASHT_CRASH_INFO_BUILDER_NEW_RESULT_ERR,
25
- } ddog_crasht_CrashInfoBuilder_NewResult_Tag;
26
-
27
- typedef struct ddog_crasht_CrashInfoBuilder_NewResult {
28
- ddog_crasht_CrashInfoBuilder_NewResult_Tag tag;
29
- union {
30
- struct {
31
- struct ddog_crasht_Handle_CrashInfoBuilder ok;
32
- };
33
- struct {
34
- struct ddog_Error err;
35
- };
36
- };
37
- } ddog_crasht_CrashInfoBuilder_NewResult;
38
-
39
- typedef enum ddog_crasht_StackTrace_NewResult_Tag {
40
- DDOG_CRASHT_STACK_TRACE_NEW_RESULT_OK,
41
- DDOG_CRASHT_STACK_TRACE_NEW_RESULT_ERR,
42
- } ddog_crasht_StackTrace_NewResult_Tag;
43
-
44
- typedef struct ddog_crasht_StackTrace_NewResult {
45
- ddog_crasht_StackTrace_NewResult_Tag tag;
46
- union {
47
- struct {
48
- struct ddog_crasht_Handle_StackTrace ok;
49
- };
50
- struct {
51
- struct ddog_Error err;
52
- };
53
- };
54
- } ddog_crasht_StackTrace_NewResult;
55
-
56
22
  #ifdef __cplusplus
57
23
  extern "C" {
58
24
  #endif // __cplusplus
@@ -25,7 +25,8 @@ void ddog_trace_exporter_error_free(struct ddog_TraceExporterError *error);
25
25
  * Return a read-only pointer to the response body. This pointer is only valid as long as
26
26
  * `response` is valid.
27
27
  */
28
- const char *ddog_trace_exporter_response_get_body(const struct ddog_TraceExporterResponse *response);
28
+ const uint8_t *ddog_trace_exporter_response_get_body(const struct ddog_TraceExporterResponse *response,
29
+ uintptr_t *out_len);
29
30
 
30
31
  /**
31
32
  * Free `response` and all its contents. After being called response will not point to a valid
@@ -92,7 +93,13 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_service(struct dd
92
93
  ddog_CharSlice service);
93
94
 
94
95
  /**
95
- * Enables metrics.
96
+ * Enables health metrics emission.
97
+ */
98
+ struct ddog_TraceExporterError *ddog_trace_exporter_config_enable_health_metrics(struct ddog_TraceExporterConfig *config,
99
+ bool is_enabled);
100
+
101
+ /**
102
+ * Enables telemetry metrics.
96
103
  */
97
104
  struct ddog_TraceExporterError *ddog_trace_exporter_config_enable_telemetry(struct ddog_TraceExporterConfig *config,
98
105
  const struct ddog_TelemetryClientConfig *telemetry_cfg);
@@ -126,15 +133,6 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_client_computed_s
126
133
  struct ddog_TraceExporterError *ddog_trace_exporter_config_set_test_session_token(struct ddog_TraceExporterConfig *config,
127
134
  ddog_CharSlice token);
128
135
 
129
- /**
130
- * Enables or disables the rates payload version feature.
131
- * When enabled, the trace exporter checks the payload version in the agent's response.
132
- * If the version hasn't changed since the last payload, the exporter will return an empty
133
- * response.
134
- */
135
- struct ddog_TraceExporterError *ddog_trace_exporter_config_set_rates_payload_version(struct ddog_TraceExporterConfig *config,
136
- bool rates_payload_version);
137
-
138
136
  /**
139
137
  * Sets the timeout in ms for all agent's connections.
140
138
  */
@@ -0,0 +1,89 @@
1
+ // Copyright 2025-Present Datadog, Inc. https://www.datadoghq.com/
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+
5
+ #ifndef DDOG_DDSKETCH_H
6
+ #define DDOG_DDSKETCH_H
7
+
8
+ #pragma once
9
+
10
+ #include <stdbool.h>
11
+ #include <stddef.h>
12
+ #include <stdint.h>
13
+ #include "common.h"
14
+
15
+ #ifdef __cplusplus
16
+ extern "C" {
17
+ #endif // __cplusplus
18
+
19
+ /**
20
+ * Creates a new DDSketch instance with default configuration.
21
+ */
22
+ struct ddsketch_Handle_DDSketch ddog_ddsketch_new(void);
23
+
24
+ /**
25
+ * Drops a DDSketch instance.
26
+ *
27
+ * # Safety
28
+ *
29
+ * The sketch handle must have been created by this library and not already dropped.
30
+ */
31
+ void ddog_ddsketch_drop(struct ddsketch_Handle_DDSketch *sketch);
32
+
33
+ /**
34
+ * Adds a point to the DDSketch.
35
+ *
36
+ * # Safety
37
+ *
38
+ * The `sketch` parameter must be a valid pointer to a DDSketch handle.
39
+ */
40
+ struct ddog_VoidResult ddog_ddsketch_add(struct ddsketch_Handle_DDSketch *sketch, double point);
41
+
42
+ /**
43
+ * Adds a point with a specific count to the DDSketch.
44
+ *
45
+ * # Safety
46
+ *
47
+ * The `sketch` parameter must be a valid pointer to a DDSketch handle.
48
+ */
49
+ struct ddog_VoidResult ddog_ddsketch_add_with_count(struct ddsketch_Handle_DDSketch *sketch,
50
+ double point,
51
+ double count);
52
+
53
+ /**
54
+ * Returns the count of points in the DDSketch via the output parameter.
55
+ *
56
+ * # Safety
57
+ *
58
+ * The `sketch` parameter must be a valid pointer to a DDSketch handle.
59
+ * The `count_out` parameter must be a valid pointer to uninitialized f64 memory.
60
+ */
61
+ struct ddog_VoidResult ddog_ddsketch_count(struct ddsketch_Handle_DDSketch *sketch,
62
+ double *count_out);
63
+
64
+ /**
65
+ * Returns the protobuf-encoded bytes of the DDSketch.
66
+ * The sketch handle is consumed by this operation.
67
+ *
68
+ * # Safety
69
+ *
70
+ * The `sketch` parameter must be a valid pointer to a DDSketch handle.
71
+ * The returned vector must be freed with `ddog_Vec_U8_drop`.
72
+ */
73
+ struct ddog_Vec_U8 ddog_ddsketch_encode(struct ddsketch_Handle_DDSketch *sketch);
74
+
75
+ /**
76
+ * Frees the memory allocated for a Vec<u8> returned by ddsketch functions.
77
+ *
78
+ * # Safety
79
+ *
80
+ * The vec parameter must be a valid Vec<u8> returned by this library.
81
+ * After being called, the vec will not point to valid memory.
82
+ */
83
+ void ddog_Vec_U8_drop(struct ddog_Vec_U8 _vec);
84
+
85
+ #ifdef __cplusplus
86
+ } // extern "C"
87
+ #endif // __cplusplus
88
+
89
+ #endif /* DDOG_DDSKETCH_H */
@@ -0,0 +1,113 @@
1
+ // Copyright 2021-Present Datadog, Inc. https://www.datadoghq.com/
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+
5
+ #ifndef DDOG_LIBRARY_CONFIG_H
6
+ #define DDOG_LIBRARY_CONFIG_H
7
+
8
+ #pragma once
9
+
10
+ #include "common.h"
11
+
12
+ #ifdef __cplusplus
13
+ extern "C" {
14
+ #endif // __cplusplus
15
+
16
+ struct ddog_Configurator *ddog_library_configurator_new(bool debug_logs, ddog_CharSlice language);
17
+
18
+ void ddog_library_configurator_with_local_path(struct ddog_Configurator *c,
19
+ struct ddog_CStr local_path);
20
+
21
+ void ddog_library_configurator_with_fleet_path(struct ddog_Configurator *c,
22
+ struct ddog_CStr local_path);
23
+
24
+ void ddog_library_configurator_with_process_info(struct ddog_Configurator *c,
25
+ struct ddog_ProcessInfo p);
26
+
27
+ void ddog_library_configurator_with_detect_process_info(struct ddog_Configurator *c);
28
+
29
+ void ddog_library_configurator_drop(struct ddog_Configurator*);
30
+
31
+ struct ddog_LibraryConfigLoggedResult ddog_library_configurator_get(const struct ddog_Configurator *configurator);
32
+
33
+ /**
34
+ * Returns a static null-terminated string, containing the name of the environment variable
35
+ * associated with the library configuration
36
+ */
37
+ struct ddog_CStr ddog_library_config_source_to_string(enum ddog_LibraryConfigSource name);
38
+
39
+ /**
40
+ * Returns a static null-terminated string with the path to the managed stable config yaml config
41
+ * file
42
+ */
43
+ struct ddog_CStr ddog_library_config_fleet_stable_config_path(void);
44
+
45
+ /**
46
+ * Returns a static null-terminated string with the path to the local stable config yaml config
47
+ * file
48
+ */
49
+ struct ddog_CStr ddog_library_config_local_stable_config_path(void);
50
+
51
+ void ddog_library_config_drop(struct ddog_LibraryConfigLoggedResult config_result);
52
+
53
+ /**
54
+ * Allocates and returns a pointer to a new `TracerMetadata` object on the heap.
55
+ *
56
+ * # Safety
57
+ * This function returns a raw pointer. The caller is responsible for calling
58
+ * `ddog_tracer_metadata_free` to deallocate the memory.
59
+ *
60
+ * # Returns
61
+ * A non-null pointer to a newly allocated `TracerMetadata` instance.
62
+ */
63
+ struct ddog_TracerMetadata *ddog_tracer_metadata_new(void);
64
+
65
+ /**
66
+ * Frees a `TracerMetadata` instance previously allocated with `ddog_tracer_metadata_new`.
67
+ *
68
+ * # Safety
69
+ * - `ptr` must be a pointer previously returned by `ddog_tracer_metadata_new`.
70
+ * - Double-freeing or passing an invalid pointer results in undefined behavior.
71
+ * - Passing a null pointer is safe and does nothing.
72
+ */
73
+ void ddog_tracer_metadata_free(struct ddog_TracerMetadata *ptr);
74
+
75
+ /**
76
+ * Sets a field of the `TracerMetadata` object pointed to by `ptr`.
77
+ *
78
+ * # Arguments
79
+ * - `ptr`: Pointer to a `TracerMetadata` instance.
80
+ * - `kind`: The metadata field to set (as defined in `MetadataKind`).
81
+ * - `value`: A null-terminated C string representing the value to set.
82
+ *
83
+ * # Safety
84
+ * - Both `ptr` and `value` must be non-null.
85
+ * - `value` must point to a valid UTF-8 null-terminated string.
86
+ * - If the string is not valid UTF-8, the function does nothing.
87
+ */
88
+ void ddog_tracer_metadata_set(struct ddog_TracerMetadata *ptr,
89
+ enum ddog_MetadataKind kind,
90
+ const char *value);
91
+
92
+ /**
93
+ * Serializes the `TracerMetadata` into a platform-specific memory handle (e.g., memfd on Linux).
94
+ *
95
+ * # Safety
96
+ * - `ptr` must be a valid, non-null pointer to a `TracerMetadata`.
97
+ *
98
+ * # Returns
99
+ * - On Linux: a `TracerMemfdHandle` containing a raw file descriptor to a memory file.
100
+ * - On unsupported platforms: an error.
101
+ * - On failure: propagates any internal errors from the metadata storage process.
102
+ *
103
+ * # Platform Support
104
+ * This function currently only supports Linux via `memfd`. On other platforms,
105
+ * it will return an error.
106
+ */
107
+ struct ddog_Result_TracerMemfdHandle ddog_tracer_metadata_store(struct ddog_TracerMetadata *ptr);
108
+
109
+ #ifdef __cplusplus
110
+ } // extern "C"
111
+ #endif // __cplusplus
112
+
113
+ #endif /* DDOG_LIBRARY_CONFIG_H */
@@ -369,7 +369,8 @@ struct ddog_prof_Result_ByteSlice ddog_prof_EncodedProfile_bytes(struct ddog_pro
369
369
  *
370
370
  * # Arguments
371
371
  * * `profile` - a reference to the profile being serialized.
372
- * * `start_time` - start time for the serialized profile.
372
+ * * `start_time` - optional start time for the serialized profile. If None/null is passed, the
373
+ * time of profile creation will be used.
373
374
  * * `end_time` - optional end time of the profile. If None/null is passed, the current time will
374
375
  * be used.
375
376
  *
@@ -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:
11
+ Version: 22.0.0
12
12
  Requires:
13
13
  Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
14
14
  Libs.private: