libdatadog 36.0.0.1.0 → 38.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.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/tasks/build.rake +27 -1
- data/tasks/gem.rake +0 -4
- data/tasks/release.rake +28 -0
- data/tasks/spec.rake +11 -0
- data/vendor/{libdatadog-36.0.0/aarch64-linux-musl → libdatadog-38.0.0/aarch64-linux}/LICENSE-3rdparty.csv +3 -0
- data/vendor/libdatadog-38.0.0/aarch64-linux/NOTICE +12 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-36.0.0/x86_64-linux-musl → libdatadog-38.0.0/aarch64-linux}/include/datadog/common.h +49 -72
- data/vendor/{libdatadog-36.0.0/aarch64-linux-musl → libdatadog-38.0.0/aarch64-linux}/include/datadog/data-pipeline.h +63 -5
- data/vendor/{libdatadog-36.0.0/aarch64-linux-musl → libdatadog-38.0.0/aarch64-linux}/include/datadog/profiling.h +19 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/include/datadog/shared-runtime.h +8 -8
- data/vendor/{libdatadog-36.0.0/x86_64-linux-musl → libdatadog-38.0.0/aarch64-linux}/include/datadog/telemetry.h +37 -19
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/{libdatadog-36.0.0/aarch64-linux → libdatadog-38.0.0/aarch64-linux-musl}/LICENSE-3rdparty.csv +3 -0
- data/vendor/libdatadog-38.0.0/aarch64-linux-musl/NOTICE +12 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-36.0.0/arm64-darwin → libdatadog-38.0.0/aarch64-linux-musl}/include/datadog/common.h +49 -72
- data/vendor/{libdatadog-36.0.0/aarch64-linux → libdatadog-38.0.0/aarch64-linux-musl}/include/datadog/data-pipeline.h +63 -5
- data/vendor/{libdatadog-36.0.0/arm64-darwin → libdatadog-38.0.0/aarch64-linux-musl}/include/datadog/profiling.h +19 -0
- data/vendor/{libdatadog-36.0.0/arm64-darwin → libdatadog-38.0.0/aarch64-linux-musl}/include/datadog/shared-runtime.h +8 -8
- data/vendor/{libdatadog-36.0.0/arm64-darwin → libdatadog-38.0.0/aarch64-linux-musl}/include/datadog/telemetry.h +37 -19
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/LICENSE-3rdparty.csv +3 -0
- data/vendor/libdatadog-38.0.0/arm64-darwin/NOTICE +12 -0
- data/vendor/{libdatadog-36.0.0/aarch64-linux-musl → libdatadog-38.0.0/arm64-darwin}/include/datadog/common.h +49 -72
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/include/datadog/data-pipeline.h +63 -5
- data/vendor/{libdatadog-36.0.0/aarch64-linux → libdatadog-38.0.0/arm64-darwin}/include/datadog/profiling.h +19 -0
- data/vendor/{libdatadog-36.0.0/x86_64-linux-musl → libdatadog-38.0.0/arm64-darwin}/include/datadog/shared-runtime.h +8 -8
- data/vendor/{libdatadog-36.0.0/aarch64-linux-musl → libdatadog-38.0.0/arm64-darwin}/include/datadog/telemetry.h +37 -19
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/lib/libdatadog_profiling.dylib +0 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/libdatadog-38.0.0/x86_64-linux/LICENSE-3rdparty.csv +554 -0
- data/vendor/libdatadog-38.0.0/x86_64-linux/NOTICE +12 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/libdatadog-38.0.0/x86_64-linux/include/datadog/common.h +2924 -0
- data/vendor/libdatadog-38.0.0/x86_64-linux/include/datadog/data-pipeline.h +449 -0
- data/vendor/libdatadog-38.0.0/x86_64-linux/include/datadog/profiling.h +1167 -0
- data/vendor/libdatadog-38.0.0/x86_64-linux/include/datadog/shared-runtime.h +91 -0
- data/vendor/libdatadog-38.0.0/x86_64-linux/include/datadog/telemetry.h +325 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-38.0.0/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +15 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/LICENSE-3rdparty.csv +3 -0
- data/vendor/libdatadog-38.0.0/x86_64-linux-musl/NOTICE +12 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-36.0.0/aarch64-linux → libdatadog-38.0.0/x86_64-linux-musl}/include/datadog/common.h +49 -72
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/include/datadog/data-pipeline.h +63 -5
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/include/datadog/profiling.h +19 -0
- data/vendor/{libdatadog-36.0.0/aarch64-linux-musl → libdatadog-38.0.0/x86_64-linux-musl}/include/datadog/shared-runtime.h +8 -8
- data/vendor/{libdatadog-36.0.0/aarch64-linux → libdatadog-38.0.0/x86_64-linux-musl}/include/datadog/telemetry.h +37 -19
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +88 -86
- data/vendor/libdatadog-36.0.0/aarch64-linux/NOTICE +0 -4
- data/vendor/libdatadog-36.0.0/aarch64-linux-musl/NOTICE +0 -4
- data/vendor/libdatadog-36.0.0/arm64-darwin/NOTICE +0 -4
- data/vendor/libdatadog-36.0.0/x86_64-linux/LICENSE-3rdparty.csv +0 -551
- data/vendor/libdatadog-36.0.0/x86_64-linux/NOTICE +0 -4
- data/vendor/libdatadog-36.0.0/x86_64-linux/include/datadog/common.h +0 -2947
- data/vendor/libdatadog-36.0.0/x86_64-linux/include/datadog/data-pipeline.h +0 -391
- data/vendor/libdatadog-36.0.0/x86_64-linux/include/datadog/profiling.h +0 -1148
- data/vendor/libdatadog-36.0.0/x86_64-linux/include/datadog/shared-runtime.h +0 -91
- data/vendor/libdatadog-36.0.0/x86_64-linux/include/datadog/telemetry.h +0 -307
- data/vendor/libdatadog-36.0.0/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -15
- data/vendor/libdatadog-36.0.0/x86_64-linux-musl/NOTICE +0 -4
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/LICENSE +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/LICENSE +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/LICENSE +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/x86_64-linux-musl/include/datadog/log.h +0 -0
|
@@ -52,7 +52,7 @@ ddog_MaybeError ddog_telemetry_builder_with_config(struct ddog_TelemetryWorkerBu
|
|
|
52
52
|
* * handle should be a non null pointer to a null pointer
|
|
53
53
|
*/
|
|
54
54
|
ddog_MaybeError ddog_telemetry_builder_run(struct ddog_TelemetryWorkerBuilder *builder,
|
|
55
|
-
|
|
55
|
+
ddog_TelemetryWorkerHandle **out_handle);
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* Builds the telemetry worker and return a handle to it. The worker will only process and send
|
|
@@ -63,13 +63,23 @@ ddog_MaybeError ddog_telemetry_builder_run(struct ddog_TelemetryWorkerBuilder *b
|
|
|
63
63
|
* * handle should be a non null pointer to a null pointer
|
|
64
64
|
*/
|
|
65
65
|
ddog_MaybeError ddog_telemetry_builder_run_metric_logs(struct ddog_TelemetryWorkerBuilder *builder,
|
|
66
|
-
|
|
66
|
+
ddog_TelemetryWorkerHandle **out_handle);
|
|
67
67
|
|
|
68
|
+
/**
|
|
69
|
+
* Sets the telemetry endpoint from its component parts.
|
|
70
|
+
*
|
|
71
|
+
* * `api_key` / `test_token`: ignored when empty.
|
|
72
|
+
* * `timeout_ms`: pass 0 to keep the existing/default timeout.
|
|
73
|
+
*/
|
|
68
74
|
ddog_MaybeError ddog_telemetry_builder_with_endpoint_config_endpoint(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
|
|
69
|
-
|
|
75
|
+
ddog_CharSlice url,
|
|
76
|
+
ddog_CharSlice api_key,
|
|
77
|
+
uint64_t timeout_ms,
|
|
78
|
+
ddog_CharSlice test_token,
|
|
79
|
+
bool use_system_resolver);
|
|
70
80
|
|
|
71
81
|
/**
|
|
72
|
-
* Sets
|
|
82
|
+
* Sets the endpoint property from its component parts.
|
|
73
83
|
*
|
|
74
84
|
* Available properties:
|
|
75
85
|
*
|
|
@@ -77,10 +87,14 @@ ddog_MaybeError ddog_telemetry_builder_with_endpoint_config_endpoint(struct ddog
|
|
|
77
87
|
*/
|
|
78
88
|
ddog_MaybeError ddog_telemetry_builder_with_property_endpoint(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
|
|
79
89
|
enum ddog_TelemetryWorkerBuilderEndpointProperty _property,
|
|
80
|
-
|
|
90
|
+
ddog_CharSlice url,
|
|
91
|
+
ddog_CharSlice api_key,
|
|
92
|
+
uint64_t timeout_ms,
|
|
93
|
+
ddog_CharSlice test_token,
|
|
94
|
+
bool use_system_resolver);
|
|
81
95
|
|
|
82
96
|
/**
|
|
83
|
-
* Sets a property from
|
|
97
|
+
* Sets a named endpoint property from its component parts.
|
|
84
98
|
*
|
|
85
99
|
* Available properties:
|
|
86
100
|
*
|
|
@@ -88,7 +102,11 @@ ddog_MaybeError ddog_telemetry_builder_with_property_endpoint(struct ddog_Teleme
|
|
|
88
102
|
*/
|
|
89
103
|
ddog_MaybeError ddog_telemetry_builder_with_endpoint_named_property(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
|
|
90
104
|
ddog_CharSlice property,
|
|
91
|
-
|
|
105
|
+
ddog_CharSlice url,
|
|
106
|
+
ddog_CharSlice api_key,
|
|
107
|
+
uint64_t timeout_ms,
|
|
108
|
+
ddog_CharSlice test_token,
|
|
109
|
+
bool use_system_resolver);
|
|
92
110
|
|
|
93
111
|
ddog_MaybeError ddog_telemetry_builder_with_str_application_service_version(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
|
|
94
112
|
ddog_CharSlice param);
|
|
@@ -239,11 +257,11 @@ ddog_MaybeError ddog_telemetry_builder_with_bool_named_property(struct ddog_Tele
|
|
|
239
257
|
ddog_CharSlice property,
|
|
240
258
|
bool param);
|
|
241
259
|
|
|
242
|
-
ddog_MaybeError ddog_telemetry_handle_add_dependency(const
|
|
260
|
+
ddog_MaybeError ddog_telemetry_handle_add_dependency(const ddog_TelemetryWorkerHandle *handle,
|
|
243
261
|
ddog_CharSlice dependency_name,
|
|
244
262
|
ddog_CharSlice dependency_version);
|
|
245
263
|
|
|
246
|
-
ddog_MaybeError ddog_telemetry_handle_add_integration(const
|
|
264
|
+
ddog_MaybeError ddog_telemetry_handle_add_integration(const ddog_TelemetryWorkerHandle *handle,
|
|
247
265
|
ddog_CharSlice dependency_name,
|
|
248
266
|
ddog_CharSlice dependency_version,
|
|
249
267
|
bool enabled,
|
|
@@ -256,33 +274,33 @@ ddog_MaybeError ddog_telemetry_handle_add_integration(const struct ddog_Telemetr
|
|
|
256
274
|
* * stack_trace: stack trace associated with the log. If no stack trace is available, an empty
|
|
257
275
|
* string should be passed
|
|
258
276
|
*/
|
|
259
|
-
ddog_MaybeError ddog_telemetry_handle_add_log(const
|
|
277
|
+
ddog_MaybeError ddog_telemetry_handle_add_log(const ddog_TelemetryWorkerHandle *handle,
|
|
260
278
|
ddog_CharSlice indentifier,
|
|
261
279
|
ddog_CharSlice message,
|
|
262
280
|
enum ddog_LogLevel level,
|
|
263
281
|
ddog_CharSlice stack_trace);
|
|
264
282
|
|
|
265
|
-
ddog_MaybeError ddog_telemetry_handle_start(const
|
|
283
|
+
ddog_MaybeError ddog_telemetry_handle_start(const ddog_TelemetryWorkerHandle *handle);
|
|
266
284
|
|
|
267
|
-
|
|
285
|
+
ddog_TelemetryWorkerHandle *ddog_telemetry_handle_clone(const ddog_TelemetryWorkerHandle *handle);
|
|
268
286
|
|
|
269
|
-
ddog_MaybeError ddog_telemetry_handle_stop(const
|
|
287
|
+
ddog_MaybeError ddog_telemetry_handle_stop(const ddog_TelemetryWorkerHandle *handle);
|
|
270
288
|
|
|
271
289
|
/**
|
|
272
290
|
* * compatible: should be false if the metric is language specific, true otherwise
|
|
273
291
|
*/
|
|
274
|
-
struct ddog_ContextKey ddog_telemetry_handle_register_metric_context(const
|
|
292
|
+
struct ddog_ContextKey ddog_telemetry_handle_register_metric_context(const ddog_TelemetryWorkerHandle *handle,
|
|
275
293
|
ddog_CharSlice name,
|
|
276
294
|
enum ddog_MetricType metric_type,
|
|
277
295
|
struct ddog_Vec_Tag tags,
|
|
278
296
|
bool common,
|
|
279
297
|
enum ddog_MetricNamespace namespace_);
|
|
280
298
|
|
|
281
|
-
ddog_MaybeError ddog_telemetry_handle_add_point(const
|
|
299
|
+
ddog_MaybeError ddog_telemetry_handle_add_point(const ddog_TelemetryWorkerHandle *handle,
|
|
282
300
|
const struct ddog_ContextKey *context_key,
|
|
283
301
|
double value);
|
|
284
302
|
|
|
285
|
-
ddog_MaybeError ddog_telemetry_handle_add_point_with_tags(const
|
|
303
|
+
ddog_MaybeError ddog_telemetry_handle_add_point_with_tags(const ddog_TelemetryWorkerHandle *handle,
|
|
286
304
|
const struct ddog_ContextKey *context_key,
|
|
287
305
|
double value,
|
|
288
306
|
struct ddog_Vec_Tag extra_tags);
|
|
@@ -290,18 +308,18 @@ ddog_MaybeError ddog_telemetry_handle_add_point_with_tags(const struct ddog_Tele
|
|
|
290
308
|
/**
|
|
291
309
|
* This function takes ownership of the handle. It should not be used after calling it
|
|
292
310
|
*/
|
|
293
|
-
void ddog_telemetry_handle_wait_for_shutdown(
|
|
311
|
+
void ddog_telemetry_handle_wait_for_shutdown(ddog_TelemetryWorkerHandle *handle);
|
|
294
312
|
|
|
295
313
|
/**
|
|
296
314
|
* This function takes ownership of the handle. It should not be used after calling it
|
|
297
315
|
*/
|
|
298
|
-
void ddog_telemetry_handle_wait_for_shutdown_ms(
|
|
316
|
+
void ddog_telemetry_handle_wait_for_shutdown_ms(ddog_TelemetryWorkerHandle *handle,
|
|
299
317
|
uint64_t wait_for_ms);
|
|
300
318
|
|
|
301
319
|
/**
|
|
302
320
|
* Drops the handle without waiting for shutdown. The worker will continue running in the
|
|
303
321
|
* background until it exits by itself
|
|
304
322
|
*/
|
|
305
|
-
void ddog_telemetry_handle_drop(
|
|
323
|
+
void ddog_telemetry_handle_drop(ddog_TelemetryWorkerHandle *handle);
|
|
306
324
|
|
|
307
325
|
#endif /* DDOG_TELEMETRY_H */
|
data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/aarch64-linux-musl/lib/libdatadog_profiling.so
RENAMED
|
Binary file
|
|
@@ -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: 38.0.0
|
|
12
12
|
Requires:
|
|
13
13
|
Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
|
|
14
14
|
Libs.private:
|
|
@@ -125,6 +125,7 @@ dispatch2,https://github.com/madsmtm/objc2,Zlib OR Apache-2.0 OR MIT,"Mads Marqu
|
|
|
125
125
|
displaydoc,https://github.com/yaahc/displaydoc,MIT OR Apache-2.0,Jane Lusby <jlusby@yaah.dev>
|
|
126
126
|
dyn-clone,https://github.com/dtolnay/dyn-clone,MIT OR Apache-2.0,David Tolnay <dtolnay@gmail.com>
|
|
127
127
|
either,https://github.com/rayon-rs/either,MIT OR Apache-2.0,bluss
|
|
128
|
+
elf,https://github.com/cole14/rust-elf,MIT OR Apache-2.0,Christopher Cole <chris.cole.09@gmail.com>
|
|
128
129
|
encoding_rs,https://github.com/hsivonen/encoding_rs,(Apache-2.0 OR MIT) AND BSD-3-Clause,Henri Sivonen <hsivonen@hsivonen.fi>
|
|
129
130
|
enum-as-inner,https://github.com/bluejekyll/enum-as-inner,MIT OR Apache-2.0,Benjamin Fry <benjaminfry@me.com>
|
|
130
131
|
equivalent,https://github.com/cuviper/equivalent,Apache-2.0 OR MIT,The equivalent Authors
|
|
@@ -374,6 +375,7 @@ semver,https://github.com/dtolnay/semver,MIT OR Apache-2.0,David Tolnay <dtolnay
|
|
|
374
375
|
sendfd,https://github.com/standard-ai/sendfd,Apache-2.0 OR BSD-3-Clause,"Simonas Kazlauskas <simonas@standard.ai>, Bernardo Meurer <bernardo@standard.ai>, Léo Gaspard <leo@standard.ai>"
|
|
375
376
|
serde,https://github.com/serde-rs/serde,MIT OR Apache-2.0,"Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>"
|
|
376
377
|
serde-bool,https://github.com/x52dev/serde-utils,MIT OR Apache-2.0,Rob Ede <robjtede@icloud.com>
|
|
378
|
+
serde-transcode,https://github.com/sfackler/serde-transcode,MIT OR Apache-2.0,Steven Fackler <sfackler@palantir.com>
|
|
377
379
|
serde_bytes,https://github.com/serde-rs/bytes,MIT OR Apache-2.0,David Tolnay <dtolnay@gmail.com>
|
|
378
380
|
serde_core,https://github.com/serde-rs/serde,MIT OR Apache-2.0,"Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>"
|
|
379
381
|
serde_derive,https://github.com/serde-rs/serde,MIT OR Apache-2.0,"Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>"
|
|
@@ -496,6 +498,7 @@ wasm-bindgen-macro,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/m
|
|
|
496
498
|
wasm-bindgen-macro-support,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/macro-support,MIT OR Apache-2.0,The wasm-bindgen Developers
|
|
497
499
|
wasm-bindgen-shared,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/shared,MIT OR Apache-2.0,The wasm-bindgen Developers
|
|
498
500
|
web-sys,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/web-sys,MIT OR Apache-2.0,The wasm-bindgen Developers
|
|
501
|
+
web-time,https://github.com/daxpedda/web-time,MIT OR Apache-2.0,The web-time Authors
|
|
499
502
|
webpki-root-certs,https://github.com/rustls/webpki-roots,CDLA-Permissive-2.0,The webpki-root-certs Authors
|
|
500
503
|
webpki-roots,https://github.com/rustls/webpki-roots,CDLA-Permissive-2.0,The webpki-roots Authors
|
|
501
504
|
widestring,https://github.com/VoidStarKat/widestring-rs,MIT OR Apache-2.0,The widestring Authors
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Datadog libdatadog
|
|
2
|
+
Copyright 2021-2022 Datadog, Inc.
|
|
3
|
+
|
|
4
|
+
This product includes software developed at Datadog (<https://www.datadoghq.com/>).
|
|
5
|
+
|
|
6
|
+
--
|
|
7
|
+
|
|
8
|
+
This product bundles a copy of the libbpf/usdt single-header USDT
|
|
9
|
+
library in `libdd-profiling-heap-sampler/vendor/usdt.h`. That file is licensed
|
|
10
|
+
under the BSD 2-Clause License, Copyright (c) 2024 Meta Platforms, Inc.
|
|
11
|
+
and affiliates. The SPDX identifier and copyright notice are retained
|
|
12
|
+
verbatim in the file header. Upstream: <https://github.com/libbpf/usdt>.
|
|
@@ -279,6 +279,14 @@ typedef struct ddog_prof_Function2 *ddog_prof_FunctionId2;
|
|
|
279
279
|
* - **dd-trace-dotnet**: Sample type definitions for allocations, locks, CPU, walltime,
|
|
280
280
|
* exceptions, live objects, HTTP requests
|
|
281
281
|
* - **pprof-nodejs**: `profile-serializer.ts` (value type functions)
|
|
282
|
+
*
|
|
283
|
+
* # Adding new types
|
|
284
|
+
*
|
|
285
|
+
* To prototype a new profile type without a libdatadog release, use one of
|
|
286
|
+
* the `Custom1` through `Custom5` slots and configure its concrete `(type,
|
|
287
|
+
* unit)` string pair on the profile before serialization. Once the type is
|
|
288
|
+
* stable and agreed upon across profiler teams, add a dedicated variant here
|
|
289
|
+
* so callers can use the type-safe path.
|
|
282
290
|
*/
|
|
283
291
|
typedef enum ddog_prof_SampleType {
|
|
284
292
|
DDOG_PROF_SAMPLE_TYPE_ALLOC_SAMPLES,
|
|
@@ -351,9 +359,31 @@ typedef enum ddog_prof_SampleType {
|
|
|
351
359
|
* Legacy: Use `WallTime` instead for consistency with naming scheme
|
|
352
360
|
*/
|
|
353
361
|
DDOG_PROF_SAMPLE_TYPE_WALL_LEGACY,
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
362
|
+
/**
|
|
363
|
+
* Custom profile type slot. Configure its concrete `(type, unit)` on the profile before
|
|
364
|
+
* serialization.
|
|
365
|
+
*/
|
|
366
|
+
DDOG_PROF_SAMPLE_TYPE_CUSTOM1,
|
|
367
|
+
/**
|
|
368
|
+
* Custom profile type slot. Configure its concrete `(type, unit)` on the profile before
|
|
369
|
+
* serialization.
|
|
370
|
+
*/
|
|
371
|
+
DDOG_PROF_SAMPLE_TYPE_CUSTOM2,
|
|
372
|
+
/**
|
|
373
|
+
* Custom profile type slot. Configure its concrete `(type, unit)` on the profile before
|
|
374
|
+
* serialization.
|
|
375
|
+
*/
|
|
376
|
+
DDOG_PROF_SAMPLE_TYPE_CUSTOM3,
|
|
377
|
+
/**
|
|
378
|
+
* Custom profile type slot. Configure its concrete `(type, unit)` on the profile before
|
|
379
|
+
* serialization.
|
|
380
|
+
*/
|
|
381
|
+
DDOG_PROF_SAMPLE_TYPE_CUSTOM4,
|
|
382
|
+
/**
|
|
383
|
+
* Custom profile type slot. Configure its concrete `(type, unit)` on the profile before
|
|
384
|
+
* serialization.
|
|
385
|
+
*/
|
|
386
|
+
DDOG_PROF_SAMPLE_TYPE_CUSTOM5,
|
|
357
387
|
} ddog_prof_SampleType;
|
|
358
388
|
|
|
359
389
|
typedef enum ddog_prof_Utf8Option {
|
|
@@ -375,8 +405,6 @@ typedef enum ddog_prof_Utf8Option {
|
|
|
375
405
|
|
|
376
406
|
typedef struct ddog_OpaqueCancellationToken ddog_OpaqueCancellationToken;
|
|
377
407
|
|
|
378
|
-
typedef struct ddog_prof_EncodedProfile ddog_prof_EncodedProfile;
|
|
379
|
-
|
|
380
408
|
typedef struct ddog_prof_ExporterManager ddog_prof_ExporterManager;
|
|
381
409
|
|
|
382
410
|
typedef struct ddog_prof_Exporter ddog_prof_Exporter;
|
|
@@ -891,23 +919,6 @@ typedef struct ddog_prof_StringHeader {
|
|
|
891
919
|
uint8_t _0;
|
|
892
920
|
} ddog_prof_StringHeader;
|
|
893
921
|
|
|
894
|
-
/**
|
|
895
|
-
* An FFI-safe string ID where a null StringId2 maps to `StringRef::EMPTY`.
|
|
896
|
-
* The representation is ensured to be a pointer for ABI stability, but
|
|
897
|
-
* callers should not generally dereference this pointer. When using the id,
|
|
898
|
-
* the caller needs to be sure that the `ProfilesDictionary` or string set it
|
|
899
|
-
* refers to is the same one that the operations are performed on; it is not
|
|
900
|
-
* generally guaranteed that ids from one dictionary/set can be used in
|
|
901
|
-
* another, even if it happens to work by implementation detail. There is an
|
|
902
|
-
* exception is for well-known strings, which are considered present in every
|
|
903
|
-
* string set.
|
|
904
|
-
*
|
|
905
|
-
* Equality and hashing are defined by pointer identity, so they are only
|
|
906
|
-
* meaningful when comparing ids that originate from the same
|
|
907
|
-
* `ProfilesDictionary`.
|
|
908
|
-
*/
|
|
909
|
-
typedef struct ddog_prof_StringHeader *ddog_prof_StringId2;
|
|
910
|
-
|
|
911
922
|
/**
|
|
912
923
|
* An FFI-safe version of the Mapping which allows null. Be sure to maintain
|
|
913
924
|
* layout-compatibility with it, except that StringId2 may be null.
|
|
@@ -920,21 +931,6 @@ typedef struct ddog_prof_Mapping2 {
|
|
|
920
931
|
ddog_prof_StringId2 build_id;
|
|
921
932
|
} ddog_prof_Mapping2;
|
|
922
933
|
|
|
923
|
-
/**
|
|
924
|
-
* An FFI-safe representation of a "handle" to a mapping which has been
|
|
925
|
-
* stored in the `ProfilesDictionary`. The representation is ensured to be a
|
|
926
|
-
* pointer for ABI stability, but callers should not generally dereference
|
|
927
|
-
* this pointer. When using the id, the caller needs to be sure that the
|
|
928
|
-
* `ProfilesDictionary` it refers to is the same one that the operations are
|
|
929
|
-
* performed on; it is not generally guaranteed that ids from one dictionary
|
|
930
|
-
* can be used in another dictionary, even if it happens to work by
|
|
931
|
-
* implementation detail.
|
|
932
|
-
*
|
|
933
|
-
* `Eq`/`Hash` and other comparisons are based on this handle value, and are
|
|
934
|
-
* only intended for ids produced by the same `ProfilesDictionary`.
|
|
935
|
-
*/
|
|
936
|
-
typedef struct ddog_prof_Mapping2 *ddog_prof_MappingId2;
|
|
937
|
-
|
|
938
934
|
/**
|
|
939
935
|
* An FFI-safe version of the Function which allows null. Be sure to maintain
|
|
940
936
|
* layout-compatibility with it, except that StringId2 may be null.
|
|
@@ -949,21 +945,6 @@ typedef struct ddog_prof_Function2 {
|
|
|
949
945
|
ddog_prof_StringId2 file_name;
|
|
950
946
|
} ddog_prof_Function2;
|
|
951
947
|
|
|
952
|
-
/**
|
|
953
|
-
* An FFI-safe representation of a "handle" to a function which has been
|
|
954
|
-
* stored in the `ProfilesDictionary`. The representation is ensured to be a
|
|
955
|
-
* pointer for ABI stability, but callers should not generally dereference
|
|
956
|
-
* this pointer. When using the id, the caller needs to be sure that the
|
|
957
|
-
* `ProfilesDictionary` it refers to is the same one that the operations are
|
|
958
|
-
* performed on; it is not generally guaranteed that ids from one dictionary
|
|
959
|
-
* can be used in another dictionary, even if it happens to work by
|
|
960
|
-
* implementation detail.
|
|
961
|
-
*
|
|
962
|
-
* `Eq`/`Hash` and other comparisons are based on this handle value, and are
|
|
963
|
-
* only intended for ids produced by the same `ProfilesDictionary`.
|
|
964
|
-
*/
|
|
965
|
-
typedef struct ddog_prof_Function2 *ddog_prof_FunctionId2;
|
|
966
|
-
|
|
967
948
|
/**
|
|
968
949
|
* A location keyed by `MappingId2`/`FunctionId2` handles.
|
|
969
950
|
*
|
|
@@ -1163,8 +1144,6 @@ typedef struct OpaqueStringId {
|
|
|
1163
1144
|
} OpaqueStringId;
|
|
1164
1145
|
#define OpaqueStringId_ZERO (OpaqueStringId){ }
|
|
1165
1146
|
|
|
1166
|
-
typedef struct OpaqueStringId OpaqueStringId;
|
|
1167
|
-
|
|
1168
1147
|
typedef struct ddog_prof_StringId {
|
|
1169
1148
|
struct ddog_prof_Generation generation;
|
|
1170
1149
|
OpaqueStringId id;
|
|
@@ -1513,8 +1492,6 @@ typedef struct ddog_StringWrapperResult {
|
|
|
1513
1492
|
};
|
|
1514
1493
|
} ddog_StringWrapperResult;
|
|
1515
1494
|
|
|
1516
|
-
typedef struct ddog_prof_StringId ddog_prof_StringId;
|
|
1517
|
-
|
|
1518
1495
|
typedef enum ddog_ConfigurationOrigin {
|
|
1519
1496
|
DDOG_CONFIGURATION_ORIGIN_ENV_VAR,
|
|
1520
1497
|
DDOG_CONFIGURATION_ORIGIN_CODE,
|
|
@@ -1586,9 +1563,10 @@ typedef struct ddog_TelemetryWorkerBuilder ddog_TelemetryWorkerBuilder;
|
|
|
1586
1563
|
* The worker won't send data to the agent until you call `TelemetryWorkerHandle::send_start`
|
|
1587
1564
|
*
|
|
1588
1565
|
* To stop the worker, call `TelemetryWorkerHandle::send_stop` which trigger flush asynchronously
|
|
1589
|
-
* then `TelemetryWorkerHandle::wait_for_shutdown`
|
|
1566
|
+
* then `TelemetryWorkerHandle::wait_for_shutdown` (native only — wasm callers rely on the
|
|
1567
|
+
* SharedRuntime worker JoinHandle instead).
|
|
1590
1568
|
*/
|
|
1591
|
-
typedef struct
|
|
1569
|
+
typedef struct ddog_TelemetryWorkerHandle_NativeCapabilities ddog_TelemetryWorkerHandle_NativeCapabilities;
|
|
1592
1570
|
|
|
1593
1571
|
typedef enum ddog_Option_U64_Tag {
|
|
1594
1572
|
DDOG_OPTION_U64_SOME_U64,
|
|
@@ -1604,6 +1582,12 @@ typedef struct ddog_Option_U64 {
|
|
|
1604
1582
|
};
|
|
1605
1583
|
} ddog_Option_U64;
|
|
1606
1584
|
|
|
1585
|
+
/**
|
|
1586
|
+
* FFI-facing alias: the C ABI surface is native-only, so the worker handle is
|
|
1587
|
+
* always pinned to [`NativeCapabilities`].
|
|
1588
|
+
*/
|
|
1589
|
+
typedef struct ddog_TelemetryWorkerHandle_NativeCapabilities ddog_TelemetryWorkerHandle;
|
|
1590
|
+
|
|
1607
1591
|
typedef enum ddog_Option_Bool_Tag {
|
|
1608
1592
|
DDOG_OPTION_BOOL_SOME_BOOL,
|
|
1609
1593
|
DDOG_OPTION_BOOL_NONE_BOOL,
|
|
@@ -1670,20 +1654,13 @@ typedef enum ddog_TraceExporterErrorCode {
|
|
|
1670
1654
|
typedef struct ddog_TraceExporterResponse ddog_TraceExporterResponse;
|
|
1671
1655
|
|
|
1672
1656
|
/**
|
|
1673
|
-
*
|
|
1674
|
-
*
|
|
1675
|
-
* The SharedRuntime owns a tokio runtime (on native) and tracks PausableWorkers
|
|
1676
|
-
* spawned on it. It provides methods to safely pause workers before forking and
|
|
1677
|
-
* restart them after fork in both parent and child processes.
|
|
1678
|
-
*
|
|
1679
|
-
* On wasm32, no tokio runtime is created. Workers are spawned via `spawn_local`
|
|
1680
|
-
* on the JS event loop.
|
|
1657
|
+
* Owns a tokio runtime and manages [`PausableWorker`]s on it.
|
|
1681
1658
|
*
|
|
1682
|
-
*
|
|
1683
|
-
*
|
|
1684
|
-
*
|
|
1659
|
+
* Supports the full fork protocol ([`before_fork`](Self::before_fork) /
|
|
1660
|
+
* [`after_fork_parent`](Self::after_fork_parent) /
|
|
1661
|
+
* [`after_fork_child`](Self::after_fork_child)) and synchronous [`shutdown`](Self::shutdown).
|
|
1685
1662
|
*/
|
|
1686
|
-
typedef struct
|
|
1663
|
+
typedef struct ddog_ForkSafeRuntime ddog_ForkSafeRuntime;
|
|
1687
1664
|
|
|
1688
1665
|
/**
|
|
1689
1666
|
* The TraceExporterConfig object will hold the configuration properties for the TraceExporter.
|
|
@@ -2234,7 +2211,7 @@ typedef struct ddog_ffe_AttributePair {
|
|
|
2234
2211
|
} ddog_ffe_AttributePair;
|
|
2235
2212
|
|
|
2236
2213
|
/**
|
|
2237
|
-
* Error codes for
|
|
2214
|
+
* Error codes for ForkSafeRuntime FFI operations.
|
|
2238
2215
|
*/
|
|
2239
2216
|
typedef enum ddog_SharedRuntimeErrorCode {
|
|
2240
2217
|
/**
|
|
@@ -2268,7 +2245,7 @@ typedef enum ddog_SharedRuntimeErrorCode {
|
|
|
2268
2245
|
} ddog_SharedRuntimeErrorCode;
|
|
2269
2246
|
|
|
2270
2247
|
/**
|
|
2271
|
-
* Error returned by
|
|
2248
|
+
* Error returned by ForkSafeRuntime FFI functions.
|
|
2272
2249
|
*/
|
|
2273
2250
|
typedef struct ddog_SharedRuntimeFFIError {
|
|
2274
2251
|
enum ddog_SharedRuntimeErrorCode code;
|
data/vendor/{libdatadog-36.0.0 → libdatadog-38.0.0}/arm64-darwin/include/datadog/data-pipeline.h
RENAMED
|
@@ -156,7 +156,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_connection_timeou
|
|
|
156
156
|
* [`ddog_shared_runtime_free`].
|
|
157
157
|
*/
|
|
158
158
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_shared_runtime(struct ddog_TraceExporterConfig *config,
|
|
159
|
-
struct
|
|
159
|
+
struct ddog_ForkSafeRuntime *handle);
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
162
|
* Enables OTLP HTTP/JSON export and sets the endpoint URL.
|
|
@@ -168,13 +168,71 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_shared_runtime(st
|
|
|
168
168
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_endpoint(struct ddog_TraceExporterConfig *config,
|
|
169
169
|
ddog_CharSlice url);
|
|
170
170
|
|
|
171
|
+
/**
|
|
172
|
+
* Sets the OTLP export protocol. Accepts the OTel-standard values `http/json` (default) or
|
|
173
|
+
* `http/protobuf`; `grpc` is rejected as not yet supported. The host language resolves the value
|
|
174
|
+
* (e.g. from `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`).
|
|
175
|
+
*
|
|
176
|
+
* Has no effect unless an OTLP endpoint is also configured via
|
|
177
|
+
* `ddog_trace_exporter_config_set_otlp_endpoint`; without one, traces are sent to the
|
|
178
|
+
* Datadog agent and this protocol selection is ignored.
|
|
179
|
+
*
|
|
180
|
+
* Returns `None` on success, `ErrorCode::InvalidArgument` for a null config or an unaccepted
|
|
181
|
+
* value, and `ErrorCode::InvalidInput` for a non-UTF-8 string.
|
|
182
|
+
*/
|
|
183
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_protocol(struct ddog_TraceExporterConfig *config,
|
|
184
|
+
ddog_CharSlice protocol);
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Sets OTLP trace instrumentation scope metadata.
|
|
188
|
+
*
|
|
189
|
+
* Has no effect unless an OTLP endpoint is also configured via
|
|
190
|
+
* `ddog_trace_exporter_config_set_otlp_endpoint`; without one, traces are sent to the
|
|
191
|
+
* Datadog agent and this scope metadata is ignored.
|
|
192
|
+
*/
|
|
193
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_instrumentation_scope(struct ddog_TraceExporterConfig *config,
|
|
194
|
+
ddog_CharSlice name,
|
|
195
|
+
ddog_CharSlice version);
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Sets the cardinality limit for client-side stats computation.
|
|
199
|
+
*
|
|
200
|
+
* When the number of distinct stats groups exceeds `limit`, additional groups are
|
|
201
|
+
* aggregated into a sentinel key instead of being tracked individually.
|
|
202
|
+
* This bounds memory usage when the trace population has very high cardinality.
|
|
203
|
+
*
|
|
204
|
+
* Has no effect unless stats computation is enabled via
|
|
205
|
+
* `ddog_trace_exporter_config_set_compute_stats`.
|
|
206
|
+
*/
|
|
207
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_stats_cardinality_limit(struct ddog_TraceExporterConfig *config,
|
|
208
|
+
uintptr_t limit);
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Configure the exporter to write traces as newline-delimited JSON to stdout (the Datadog
|
|
212
|
+
* Forwarder "log exporter" path) instead of sending them to a Datadog agent. Used in serverless
|
|
213
|
+
* environments (e.g. AWS Lambda) when no agent is reachable.
|
|
214
|
+
*
|
|
215
|
+
* `max_line_size` overrides the per-line byte cap; pass `0` to use the default (256 KiB, the AWS
|
|
216
|
+
* CloudWatch Logs limit). When enabled, agent-specific behavior (agent-info polling, client-side
|
|
217
|
+
* stats, V1 negotiation) is bypassed.
|
|
218
|
+
*
|
|
219
|
+
* In this mode each span's `meta` is serialized to process stdout (and thus captured by CloudWatch
|
|
220
|
+
* Logs in Lambda); `meta_struct` is excluded because it holds raw msgpack the log intake cannot
|
|
221
|
+
* interpret.
|
|
222
|
+
*
|
|
223
|
+
* Writes are synchronous/blocking on stdout, so this mode targets single-threaded / current-thread
|
|
224
|
+
* serverless runtimes (e.g. AWS Lambda) where a blocking write won't stall a shared async reactor.
|
|
225
|
+
*/
|
|
226
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_output_to_log(struct ddog_TraceExporterConfig *config,
|
|
227
|
+
uintptr_t max_line_size);
|
|
228
|
+
|
|
171
229
|
/**
|
|
172
230
|
* Create a new TraceExporter instance.
|
|
173
231
|
*
|
|
174
|
-
* When an OTLP endpoint is configured via `TraceExporterConfig`, the exporter sends traces
|
|
175
|
-
* OTLP HTTP
|
|
176
|
-
*
|
|
177
|
-
* OTLP when OTLP is enabled.
|
|
232
|
+
* When an OTLP endpoint is configured via `TraceExporterConfig`, the exporter sends traces to
|
|
233
|
+
* that endpoint in OTLP over HTTP — JSON or protobuf per the configured protocol — instead of
|
|
234
|
+
* to the Datadog agent. The same payload (e.g. MessagePack) is passed to
|
|
235
|
+
* `ddog_trace_exporter_send`; the library decodes and converts it to OTLP when OTLP is enabled.
|
|
178
236
|
*
|
|
179
237
|
* # Arguments
|
|
180
238
|
*
|
|
@@ -406,6 +406,25 @@ struct ddog_prof_Profile_NewResult ddog_prof_Profile_with_string_storage(struct
|
|
|
406
406
|
const struct ddog_prof_Period *period,
|
|
407
407
|
struct ddog_prof_ManagedStringStorage string_storage);
|
|
408
408
|
|
|
409
|
+
/**
|
|
410
|
+
* Configure one of the custom sample type slots (`Custom1` through `Custom5`)
|
|
411
|
+
* with its concrete `(type, unit)` string pair.
|
|
412
|
+
*
|
|
413
|
+
* Use this after creating a profile with a custom slot in its `sample_types`
|
|
414
|
+
* or `period`. The strings are copied during this call. A profile that uses a
|
|
415
|
+
* custom slot must configure it before serialization.
|
|
416
|
+
*
|
|
417
|
+
* # Safety
|
|
418
|
+
* The `profile` ptr must point to a valid Profile object created by this
|
|
419
|
+
* module. The `type_str` and `unit` slices must point to valid UTF-8 memory for
|
|
420
|
+
* the duration of this call.
|
|
421
|
+
*/
|
|
422
|
+
DDOG_CHECK_RETURN
|
|
423
|
+
struct ddog_prof_Profile_Result ddog_prof_Profile_set_custom_sample_type(struct ddog_prof_Profile *profile,
|
|
424
|
+
enum ddog_prof_SampleType slot,
|
|
425
|
+
ddog_CharSlice type_str,
|
|
426
|
+
ddog_CharSlice unit);
|
|
427
|
+
|
|
409
428
|
/**
|
|
410
429
|
* # Safety
|
|
411
430
|
* The `profile` can be null, but if non-null it must point to a Profile
|
|
@@ -20,7 +20,7 @@ extern "C" {
|
|
|
20
20
|
void ddog_shared_runtime_error_free(struct ddog_SharedRuntimeFFIError *error);
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Create a new `
|
|
23
|
+
* Create a new `ForkSafeRuntime`.
|
|
24
24
|
*
|
|
25
25
|
* On success writes a raw handle into `*out_handle` and returns `None`.
|
|
26
26
|
* On failure leaves `*out_handle` unchanged and returns an error.
|
|
@@ -28,7 +28,7 @@ void ddog_shared_runtime_error_free(struct ddog_SharedRuntimeFFIError *error);
|
|
|
28
28
|
* The caller owns the handle and must eventually pass it to
|
|
29
29
|
* [`ddog_shared_runtime_free`] (or another consumer that takes ownership).
|
|
30
30
|
*/
|
|
31
|
-
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_new(const struct
|
|
31
|
+
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_new(const struct ddog_ForkSafeRuntime **out_handle);
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Free a handle, decrementing the `Arc` strong count.
|
|
@@ -36,7 +36,7 @@ struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_new(const struct ddog_Sha
|
|
|
36
36
|
* The underlying runtime may not be dropped if other components are still using it.
|
|
37
37
|
* Use [`ddog_shared_runtime_shutdown`] to cleanly stop workers.
|
|
38
38
|
*/
|
|
39
|
-
void ddog_shared_runtime_free(const struct
|
|
39
|
+
void ddog_shared_runtime_free(const struct ddog_ForkSafeRuntime *handle);
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* Must be called in the parent process before `fork()`.
|
|
@@ -47,7 +47,7 @@ void ddog_shared_runtime_free(const struct ddog_SharedRuntime *handle);
|
|
|
47
47
|
* Returns an error if `handle` is null.
|
|
48
48
|
* The handle must have been initialized with `ddog_shared_runtime_new`.
|
|
49
49
|
*/
|
|
50
|
-
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_before_fork(const struct
|
|
50
|
+
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_before_fork(const struct ddog_ForkSafeRuntime *handle);
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* Must be called in the parent process after `fork()`.
|
|
@@ -57,7 +57,7 @@ struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_before_fork(const struct
|
|
|
57
57
|
* Returns `None` on success, or an error if workers could not be restarted.
|
|
58
58
|
* The handle must have been initialized with `ddog_shared_runtime_new`.
|
|
59
59
|
*/
|
|
60
|
-
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_after_fork_parent(const struct
|
|
60
|
+
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_after_fork_parent(const struct ddog_ForkSafeRuntime *handle);
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
63
|
* Must be called in the child process after `fork()`.
|
|
@@ -69,10 +69,10 @@ struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_after_fork_parent(const s
|
|
|
69
69
|
* reinitialized.
|
|
70
70
|
* The handle must have been initialized with `ddog_shared_runtime_new`.
|
|
71
71
|
*/
|
|
72
|
-
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_after_fork_child(const struct
|
|
72
|
+
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_after_fork_child(const struct ddog_ForkSafeRuntime *handle);
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
-
* Shut down the `
|
|
75
|
+
* Shut down the `ForkSafeRuntime`, stopping all workers.
|
|
76
76
|
*
|
|
77
77
|
* `timeout_ms` is the maximum time to wait for workers to stop, in
|
|
78
78
|
* milliseconds. Pass `0` for no timeout.
|
|
@@ -81,7 +81,7 @@ struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_after_fork_child(const st
|
|
|
81
81
|
* if the timeout was reached.
|
|
82
82
|
* The handle must have been initialized with `ddog_shared_runtime_new`.
|
|
83
83
|
*/
|
|
84
|
-
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_shutdown(const struct
|
|
84
|
+
struct ddog_SharedRuntimeFFIError *ddog_shared_runtime_shutdown(const struct ddog_ForkSafeRuntime *handle,
|
|
85
85
|
uint64_t timeout_ms);
|
|
86
86
|
|
|
87
87
|
#ifdef __cplusplus
|