libdatadog 48.0.0.1.1 → 49.0.0.1.1
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 +2 -1
- data/vendor/{libdatadog-48.0.0/aarch64-linux-musl → libdatadog-49.0.0/aarch64-linux}/LICENSE-3rdparty.csv +11 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/common.h +119 -0
- data/vendor/{libdatadog-48.0.0/aarch64-linux-musl → libdatadog-49.0.0/aarch64-linux}/include/datadog/data-pipeline.h +449 -0
- data/vendor/{libdatadog-48.0.0/x86_64-linux-musl → libdatadog-49.0.0/aarch64-linux}/include/datadog/profiling.h +4 -5
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/shared-runtime.h +17 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-48.0.0/arm64-darwin → libdatadog-49.0.0/aarch64-linux}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/{libdatadog-48.0.0/aarch64-linux → libdatadog-49.0.0/aarch64-linux-musl}/LICENSE-3rdparty.csv +11 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/common.h +119 -0
- data/vendor/{libdatadog-48.0.0/aarch64-linux → libdatadog-49.0.0/aarch64-linux-musl}/include/datadog/data-pipeline.h +449 -0
- data/vendor/{libdatadog-48.0.0/arm64-darwin → libdatadog-49.0.0/aarch64-linux-musl}/include/datadog/profiling.h +4 -5
- data/vendor/{libdatadog-48.0.0/arm64-darwin → libdatadog-49.0.0/aarch64-linux-musl}/include/datadog/shared-runtime.h +17 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/LICENSE-3rdparty.csv +11 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/common.h +119 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/data-pipeline.h +449 -0
- data/vendor/{libdatadog-48.0.0/aarch64-linux-musl → libdatadog-49.0.0/arm64-darwin}/include/datadog/profiling.h +4 -5
- data/vendor/{libdatadog-48.0.0/aarch64-linux-musl → libdatadog-49.0.0/arm64-darwin}/include/datadog/shared-runtime.h +17 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/lib/libdatadog_profiling.dylib +0 -0
- data/vendor/{libdatadog-48.0.0/x86_64-linux-musl → libdatadog-49.0.0/arm64-darwin}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/libdatadog-49.0.0/x86_64-linux/LICENSE-3rdparty.csv +572 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/libdatadog-49.0.0/x86_64-linux/include/datadog/common.h +3411 -0
- data/vendor/libdatadog-49.0.0/x86_64-linux/include/datadog/data-pipeline.h +1181 -0
- data/vendor/libdatadog-49.0.0/x86_64-linux/include/datadog/profiling.h +1166 -0
- data/vendor/libdatadog-49.0.0/x86_64-linux/include/datadog/shared-runtime.h +108 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-49.0.0/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +15 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/LICENSE-3rdparty.csv +11 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/common.h +119 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/data-pipeline.h +449 -0
- data/vendor/{libdatadog-48.0.0/aarch64-linux → libdatadog-49.0.0/x86_64-linux-musl}/include/datadog/profiling.h +4 -5
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/shared-runtime.h +17 -0
- data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-48.0.0/aarch64-linux → libdatadog-49.0.0/x86_64-linux-musl}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +91 -91
- data/vendor/libdatadog-48.0.0/x86_64-linux/LICENSE-3rdparty.csv +0 -561
- data/vendor/libdatadog-48.0.0/x86_64-linux/include/datadog/common.h +0 -3292
- data/vendor/libdatadog-48.0.0/x86_64-linux/include/datadog/data-pipeline.h +0 -732
- data/vendor/libdatadog-48.0.0/x86_64-linux/include/datadog/profiling.h +0 -1167
- data/vendor/libdatadog-48.0.0/x86_64-linux/include/datadog/shared-runtime.h +0 -91
- data/vendor/libdatadog-48.0.0/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -15
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/LICENSE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/NOTICE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/otel-thread-ctx.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/otel-thread-ctx.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/aarch64-linux-musl/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/LICENSE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/NOTICE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/otel-thread-ctx.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/arm64-darwin/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/LICENSE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/NOTICE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/include/datadog/otel-thread-ctx.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/otel-thread-ctx.h +0 -0
- /data/vendor/{libdatadog-48.0.0 → libdatadog-49.0.0}/x86_64-linux-musl/include/datadog/telemetry.h +0 -0
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
#include <stdint.h>
|
|
11
11
|
#include <stdlib.h>
|
|
12
12
|
#include "common.h"
|
|
13
|
+
#ifndef DDOG_TRACE_EXPORTER_DEPRECATED
|
|
14
|
+
#if defined(_MSC_VER)
|
|
15
|
+
#define DDOG_TRACE_EXPORTER_DEPRECATED(message) __declspec(deprecated(message))
|
|
16
|
+
#elif defined(__GNUC__) || defined(__clang__)
|
|
17
|
+
#define DDOG_TRACE_EXPORTER_DEPRECATED(message) __attribute__((deprecated(message)))
|
|
18
|
+
#else
|
|
19
|
+
#define DDOG_TRACE_EXPORTER_DEPRECATED(message)
|
|
20
|
+
#endif
|
|
21
|
+
#endif
|
|
22
|
+
|
|
13
23
|
#ifdef __cplusplus
|
|
14
24
|
extern "C" {
|
|
15
25
|
#endif // __cplusplus
|
|
@@ -86,79 +96,93 @@ ddog_ByteSlice ddog_tracer_encoded_value_as_slice(const struct ddog_TracerEncode
|
|
|
86
96
|
*/
|
|
87
97
|
void ddog_tracer_encoded_value_free(struct ddog_TracerEncodedValue *value);
|
|
88
98
|
|
|
99
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_new instead")
|
|
89
100
|
void ddog_trace_exporter_config_new(struct ddog_TraceExporterConfig **out_handle);
|
|
90
101
|
|
|
91
102
|
/**
|
|
92
103
|
* Frees TraceExporterConfig handle internal resources.
|
|
93
104
|
*/
|
|
105
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_free instead")
|
|
94
106
|
void ddog_trace_exporter_config_free(struct ddog_TraceExporterConfig *handle);
|
|
95
107
|
|
|
96
108
|
/**
|
|
97
109
|
* Sets traces destination.
|
|
98
110
|
*/
|
|
111
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_url instead")
|
|
99
112
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_url(struct ddog_TraceExporterConfig *config,
|
|
100
113
|
ddog_CharSlice url);
|
|
101
114
|
|
|
102
115
|
/**
|
|
103
116
|
* Sets tracer's version to be included in the headers request.
|
|
104
117
|
*/
|
|
118
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_tracer_version instead")
|
|
105
119
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_tracer_version(struct ddog_TraceExporterConfig *config,
|
|
106
120
|
ddog_CharSlice version);
|
|
107
121
|
|
|
108
122
|
/**
|
|
109
123
|
* Sets tracer's language to be included in the headers request.
|
|
110
124
|
*/
|
|
125
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_language instead")
|
|
111
126
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_language(struct ddog_TraceExporterConfig *config,
|
|
112
127
|
ddog_CharSlice lang);
|
|
113
128
|
|
|
114
129
|
/**
|
|
115
130
|
* Sets tracer's language version to be included in the headers request.
|
|
116
131
|
*/
|
|
132
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_language_version instead")
|
|
117
133
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_lang_version(struct ddog_TraceExporterConfig *config,
|
|
118
134
|
ddog_CharSlice version);
|
|
119
135
|
|
|
120
136
|
/**
|
|
121
137
|
* Sets tracer's language interpreter to be included in the headers request.
|
|
122
138
|
*/
|
|
139
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_language_interpreter instead")
|
|
123
140
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_lang_interpreter(struct ddog_TraceExporterConfig *config,
|
|
124
141
|
ddog_CharSlice interpreter);
|
|
125
142
|
|
|
126
143
|
/**
|
|
127
144
|
* Sets hostname information to be included in the headers request.
|
|
128
145
|
*/
|
|
146
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_hostname instead")
|
|
129
147
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_hostname(struct ddog_TraceExporterConfig *config,
|
|
130
148
|
ddog_CharSlice hostname);
|
|
131
149
|
|
|
132
150
|
/**
|
|
133
151
|
* Sets environment information to be included in the headers request.
|
|
134
152
|
*/
|
|
153
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_env instead")
|
|
135
154
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_env(struct ddog_TraceExporterConfig *config,
|
|
136
155
|
ddog_CharSlice env);
|
|
137
156
|
|
|
157
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_app_version instead")
|
|
138
158
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_version(struct ddog_TraceExporterConfig *config,
|
|
139
159
|
ddog_CharSlice version);
|
|
140
160
|
|
|
141
161
|
/**
|
|
142
162
|
* Sets service name to be included in the headers request.
|
|
143
163
|
*/
|
|
164
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_service instead")
|
|
144
165
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_service(struct ddog_TraceExporterConfig *config,
|
|
145
166
|
ddog_CharSlice service);
|
|
146
167
|
|
|
147
168
|
/**
|
|
148
169
|
* Enables health metrics emission.
|
|
149
170
|
*/
|
|
171
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_enable_health_metrics instead")
|
|
150
172
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_enable_health_metrics(struct ddog_TraceExporterConfig *config,
|
|
151
173
|
bool is_enabled);
|
|
152
174
|
|
|
153
175
|
/**
|
|
154
176
|
* Enables telemetry metrics.
|
|
155
177
|
*/
|
|
178
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_enable_telemetry instead")
|
|
156
179
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_enable_telemetry(struct ddog_TraceExporterConfig *config,
|
|
157
180
|
const struct ddog_TelemetryClientConfig *telemetry_cfg);
|
|
158
181
|
|
|
159
182
|
/**
|
|
160
183
|
* Set client-side stats computation status.
|
|
161
184
|
*/
|
|
185
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_enable_stats instead")
|
|
162
186
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_compute_stats(struct ddog_TraceExporterConfig *config,
|
|
163
187
|
bool is_enabled);
|
|
164
188
|
|
|
@@ -166,6 +190,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_compute_stats(str
|
|
|
166
190
|
* Indicates that the tracer has already marked top-level spans with `_dd.top_level`.
|
|
167
191
|
* Sets the `Datadog-Client-Computed-Top-Level` header without enabling stats computation.
|
|
168
192
|
*/
|
|
193
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_client_computed_top_level instead")
|
|
169
194
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_client_computed_top_level(struct ddog_TraceExporterConfig *config,
|
|
170
195
|
bool client_computed_top_level);
|
|
171
196
|
|
|
@@ -183,6 +208,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_client_computed_t
|
|
|
183
208
|
* when APM is disabled but ASM is enabled, setting this header to `true`
|
|
184
209
|
* ensures that no stats are computed at any level (exporter or agent).
|
|
185
210
|
*/
|
|
211
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_client_computed_stats instead")
|
|
186
212
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_client_computed_stats(struct ddog_TraceExporterConfig *config,
|
|
187
213
|
bool client_computed_stats);
|
|
188
214
|
|
|
@@ -192,6 +218,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_client_computed_s
|
|
|
192
218
|
* When set, this supersedes `ddog_trace_exporter_config_set_process_tags` and
|
|
193
219
|
* `ddog_trace_exporter_config_set_runtime_id`.
|
|
194
220
|
*/
|
|
221
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_mutable_metadata instead")
|
|
195
222
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_mutable_metadata(struct ddog_TraceExporterConfig *config,
|
|
196
223
|
const ddog_MutableMetadataHandle *metadata);
|
|
197
224
|
|
|
@@ -200,6 +227,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_mutable_metadata(
|
|
|
200
227
|
*
|
|
201
228
|
* This should not be used when `ddog_trace_exporter_config_set_mutable_metadata` is used.
|
|
202
229
|
*/
|
|
230
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_process_tags instead")
|
|
203
231
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_process_tags(struct ddog_TraceExporterConfig *config,
|
|
204
232
|
ddog_CharSlice process_tags);
|
|
205
233
|
|
|
@@ -208,18 +236,21 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_process_tags(stru
|
|
|
208
236
|
*
|
|
209
237
|
* This should not be used when `ddog_trace_exporter_config_set_mutable_metadata` is used.
|
|
210
238
|
*/
|
|
239
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_runtime_id instead")
|
|
211
240
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_runtime_id(struct ddog_TraceExporterConfig *config,
|
|
212
241
|
ddog_CharSlice runtime_id);
|
|
213
242
|
|
|
214
243
|
/**
|
|
215
244
|
* Sets the `X-Datadog-Test-Session-Token` header. Only used for testing with the test agent.
|
|
216
245
|
*/
|
|
246
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_test_session_token instead")
|
|
217
247
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_test_session_token(struct ddog_TraceExporterConfig *config,
|
|
218
248
|
ddog_CharSlice token);
|
|
219
249
|
|
|
220
250
|
/**
|
|
221
251
|
* Sets the timeout in ms for all agent's connections.
|
|
222
252
|
*/
|
|
253
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_connection_timeout instead")
|
|
223
254
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_connection_timeout(struct ddog_TraceExporterConfig *config,
|
|
224
255
|
uint64_t timeout_ms);
|
|
225
256
|
|
|
@@ -234,6 +265,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_connection_timeou
|
|
|
234
265
|
* original handle remains valid and must still be freed with
|
|
235
266
|
* `ddog_shared_runtime_free`.
|
|
236
267
|
*/
|
|
268
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_shared_runtime instead")
|
|
237
269
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_shared_runtime(struct ddog_TraceExporterConfig *config,
|
|
238
270
|
struct ddog_ForkSafeRuntime *handle);
|
|
239
271
|
|
|
@@ -245,6 +277,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_shared_runtime(st
|
|
|
245
277
|
* is responsible for resolving the endpoint from its configuration (e.g.
|
|
246
278
|
* `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`) before calling this function.
|
|
247
279
|
*/
|
|
280
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_otlp_endpoint instead")
|
|
248
281
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_endpoint(struct ddog_TraceExporterConfig *config,
|
|
249
282
|
ddog_CharSlice url);
|
|
250
283
|
|
|
@@ -261,6 +294,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_endpoint(str
|
|
|
261
294
|
* Returns `None` on success, `ErrorCode::InvalidArgument` for a null config or an unaccepted
|
|
262
295
|
* value, and `ErrorCode::InvalidInput` for a non-UTF-8 string.
|
|
263
296
|
*/
|
|
297
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_otlp_protocol instead")
|
|
264
298
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_protocol(struct ddog_TraceExporterConfig *config,
|
|
265
299
|
ddog_CharSlice protocol);
|
|
266
300
|
|
|
@@ -271,6 +305,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_protocol(str
|
|
|
271
305
|
* `ddog_trace_exporter_config_set_otlp_endpoint`; without one, traces are sent to the
|
|
272
306
|
* Datadog agent and this scope metadata is ignored.
|
|
273
307
|
*/
|
|
308
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_otlp_instrumentation_scope instead")
|
|
274
309
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_instrumentation_scope(struct ddog_TraceExporterConfig *config,
|
|
275
310
|
ddog_CharSlice name,
|
|
276
311
|
ddog_CharSlice version);
|
|
@@ -285,12 +320,14 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_instrumentat
|
|
|
285
320
|
* Has no effect unless stats computation is enabled via
|
|
286
321
|
* `ddog_trace_exporter_config_set_compute_stats`.
|
|
287
322
|
*/
|
|
323
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_stats_cardinality_limit instead")
|
|
288
324
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_stats_cardinality_limit(struct ddog_TraceExporterConfig *config,
|
|
289
325
|
struct ddog_CardinalityLimitConfig limits);
|
|
290
326
|
|
|
291
327
|
/**
|
|
292
328
|
* Returns a `CardinalityLimitConfig` with default values
|
|
293
329
|
*/
|
|
330
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_default_stats_cardinality_limit instead")
|
|
294
331
|
struct ddog_CardinalityLimitConfig ddog_trace_exporter_config_default_stats_cardinality_limit(void);
|
|
295
332
|
|
|
296
333
|
/**
|
|
@@ -302,6 +339,7 @@ struct ddog_CardinalityLimitConfig ddog_trace_exporter_config_default_stats_card
|
|
|
302
339
|
* ([`ddog_trace_exporter_config_set_otlp_endpoint`]); combining either with this setter causes
|
|
303
340
|
* [`ddog_trace_exporter_new`] to return an error.
|
|
304
341
|
*/
|
|
342
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_agentless_endpoint instead")
|
|
305
343
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_agentless_endpoint(struct ddog_TraceExporterConfig *config,
|
|
306
344
|
ddog_CharSlice url,
|
|
307
345
|
ddog_CharSlice api_key);
|
|
@@ -312,6 +350,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_agentless_endpoin
|
|
|
312
350
|
* Defaults to 15 seconds when unset. Calling this without also setting an agentless endpoint
|
|
313
351
|
* causes [`ddog_trace_exporter_new`] to return an error.
|
|
314
352
|
*/
|
|
353
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_agentless_timeout instead")
|
|
315
354
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_agentless_timeout(struct ddog_TraceExporterConfig *config,
|
|
316
355
|
uint64_t timeout_ms);
|
|
317
356
|
|
|
@@ -332,6 +371,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_agentless_timeout
|
|
|
332
371
|
* "\"credit_cards\":{\"enabled\":true}}"));
|
|
333
372
|
* ```
|
|
334
373
|
*/
|
|
374
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_span_obfuscation_config instead")
|
|
335
375
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_obfuscation_config(struct ddog_TraceExporterConfig *config,
|
|
336
376
|
ddog_CharSlice json);
|
|
337
377
|
|
|
@@ -351,6 +391,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_obfuscation_confi
|
|
|
351
391
|
* Writes are synchronous/blocking on stdout, so this mode targets single-threaded / current-thread
|
|
352
392
|
* serverless runtimes (e.g. AWS Lambda) where a blocking write won't stall a shared async reactor.
|
|
353
393
|
*/
|
|
394
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_set_output_to_log instead")
|
|
354
395
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_output_to_log(struct ddog_TraceExporterConfig *config,
|
|
355
396
|
uintptr_t max_line_size);
|
|
356
397
|
|
|
@@ -367,6 +408,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_output_to_log(str
|
|
|
367
408
|
* * `out_handle` - The handle to write the TraceExporter instance in.
|
|
368
409
|
* * `config` - The configuration used to set up the TraceExporter handle.
|
|
369
410
|
*/
|
|
411
|
+
DDOG_TRACE_EXPORTER_DEPRECATED("Use ddog_trace_exporter_builder_build instead")
|
|
370
412
|
struct ddog_TraceExporterError *ddog_trace_exporter_new(ddog_TraceExporter **out_handle,
|
|
371
413
|
const struct ddog_TraceExporterConfig *config);
|
|
372
414
|
|
|
@@ -420,6 +462,413 @@ struct ddog_TraceExporterError *ddog_trace_exporter_send(const ddog_TraceExporte
|
|
|
420
462
|
ddog_ByteSlice trace,
|
|
421
463
|
struct ddog_TraceExporterResponse **response_out);
|
|
422
464
|
|
|
465
|
+
/**
|
|
466
|
+
* Creates a trace exporter builder. Free it with `ddog_trace_exporter_builder_free`, or
|
|
467
|
+
* transfer ownership to `ddog_trace_exporter_builder_build` (including on build failure).
|
|
468
|
+
*/
|
|
469
|
+
void ddog_trace_exporter_builder_new(struct ddog_TraceExporterBuilder_ForkSafeRuntime **out_handle);
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Frees a builder handle that has not been passed to `ddog_trace_exporter_builder_build`.
|
|
473
|
+
*/
|
|
474
|
+
void ddog_trace_exporter_builder_free(struct ddog_TraceExporterBuilder_ForkSafeRuntime *handle);
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* Sets traces destination.
|
|
478
|
+
*/
|
|
479
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_url(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
480
|
+
ddog_CharSlice url);
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Sets tracer's version to be included in the headers request.
|
|
484
|
+
*/
|
|
485
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_tracer_version(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
486
|
+
ddog_CharSlice version);
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* Sets tracer's language to be included in the headers request.
|
|
490
|
+
*/
|
|
491
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_language(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
492
|
+
ddog_CharSlice lang);
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* Sets tracer's language version to be included in the headers request.
|
|
496
|
+
*/
|
|
497
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_language_version(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
498
|
+
ddog_CharSlice version);
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* Sets tracer's language interpreter to be included in the headers request.
|
|
502
|
+
*/
|
|
503
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_language_interpreter(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
504
|
+
ddog_CharSlice interpreter);
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* Sets hostname information to be included in the headers request.
|
|
508
|
+
*/
|
|
509
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_hostname(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
510
|
+
ddog_CharSlice hostname);
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* Sets environment information to be included in the headers request.
|
|
514
|
+
*/
|
|
515
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_env(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
516
|
+
ddog_CharSlice env);
|
|
517
|
+
|
|
518
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_app_version(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
519
|
+
ddog_CharSlice version);
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* Sets service name to be included in the headers request.
|
|
523
|
+
*/
|
|
524
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_service(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
525
|
+
ddog_CharSlice service);
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Enables health metrics emission.
|
|
529
|
+
*/
|
|
530
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_enable_health_metrics(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder);
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* Enables telemetry metrics.
|
|
534
|
+
*/
|
|
535
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_enable_telemetry(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
536
|
+
const struct ddog_ExporterTelemetryConfig *telemetry_cfg);
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* Sets optional instrumentation session headers on telemetry requests (`dd-session-id`,
|
|
540
|
+
* `dd-root-session-id`, `dd-parent-session-id`). Each slice is stored as given; an empty
|
|
541
|
+
* slice stores an empty session id.
|
|
542
|
+
*
|
|
543
|
+
* All three slices are validated before any value is applied: invalid UTF-8 in any of them
|
|
544
|
+
* returns an error and leaves the builder unchanged.
|
|
545
|
+
*/
|
|
546
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_telemetry_instrumentation_sessions(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
547
|
+
ddog_CharSlice session_id,
|
|
548
|
+
ddog_CharSlice root_session_id,
|
|
549
|
+
ddog_CharSlice parent_session_id);
|
|
550
|
+
|
|
551
|
+
/**
|
|
552
|
+
* Enables client-side stats computation with the given bucket interval in seconds.
|
|
553
|
+
* Pass `10` to use the default 10-second bucket interval.
|
|
554
|
+
*/
|
|
555
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_enable_stats(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
556
|
+
uint64_t bucket_interval_secs);
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* Sets `Datadog-Client-Computed-Stats` header to `true`.
|
|
560
|
+
* This indicates that the upstream system has already computed the stats,
|
|
561
|
+
* and no further stats computation should be performed.
|
|
562
|
+
*
|
|
563
|
+
* <div class="warning">
|
|
564
|
+
* This method must not be used with `ddog_trace_exporter_builder_enable_stats`, as it could
|
|
565
|
+
* result in duplicate stats computation.
|
|
566
|
+
* </div>
|
|
567
|
+
*
|
|
568
|
+
* A common use case is in Application Security Monitoring (ASM) scenarios:
|
|
569
|
+
* when APM is disabled but ASM is enabled, setting this header to `true`
|
|
570
|
+
* ensures that no stats are computed at any level (exporter or agent).
|
|
571
|
+
*/
|
|
572
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_client_computed_stats(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder);
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* Shares a mutable metadata handle with the exporter builder.
|
|
576
|
+
*
|
|
577
|
+
* Replaces metadata previously set by `ddog_trace_exporter_builder_set_process_tags` and
|
|
578
|
+
* `ddog_trace_exporter_builder_set_runtime_id`. Calling those setters afterwards updates the
|
|
579
|
+
* shared handle.
|
|
580
|
+
*/
|
|
581
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_mutable_metadata(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
582
|
+
const ddog_MutableMetadataHandle *metadata);
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* Sets the process tags to be included in the stats payload.
|
|
586
|
+
*
|
|
587
|
+
* This should not be used when `ddog_trace_exporter_builder_set_mutable_metadata` is used.
|
|
588
|
+
*/
|
|
589
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_process_tags(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
590
|
+
ddog_CharSlice process_tags);
|
|
591
|
+
|
|
592
|
+
/**
|
|
593
|
+
* Sets the runtime id used in payloads.
|
|
594
|
+
*
|
|
595
|
+
* This should not be used when `ddog_trace_exporter_builder_set_mutable_metadata` is used.
|
|
596
|
+
*/
|
|
597
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_runtime_id(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
598
|
+
ddog_CharSlice runtime_id);
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Sets the `X-Datadog-Test-Session-Token` header. Only used for testing with the test agent.
|
|
602
|
+
*/
|
|
603
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_test_session_token(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
604
|
+
ddog_CharSlice token);
|
|
605
|
+
|
|
606
|
+
/**
|
|
607
|
+
* Sets the timeout in ms for all agent's connections.
|
|
608
|
+
*/
|
|
609
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_connection_timeout(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
610
|
+
uint64_t timeout_ms);
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* Sets a shared runtime for the TraceExporter to use for background workers.
|
|
614
|
+
*
|
|
615
|
+
* `handle` must have been initialized with [`ddog_shared_runtime_new`].
|
|
616
|
+
*
|
|
617
|
+
* When set, the exporter will use the provided runtime instead of creating its own.
|
|
618
|
+
* This allows multiple exporters (or other components) to share a single runtime.
|
|
619
|
+
* The builder holds a clone of the `Arc` (increments the strong count), so the
|
|
620
|
+
* original handle remains valid and must still be freed with
|
|
621
|
+
* [`ddog_shared_runtime_free`].
|
|
622
|
+
*/
|
|
623
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_shared_runtime(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
624
|
+
struct ddog_ForkSafeRuntime *handle);
|
|
625
|
+
|
|
626
|
+
/**
|
|
627
|
+
* Enables OTLP trace export and sets the endpoint URL.
|
|
628
|
+
*
|
|
629
|
+
* When set, traces are sent to this URL using the protocol selected by
|
|
630
|
+
* `ddog_trace_exporter_builder_set_otlp_protocol` instead of the Datadog agent. The host language
|
|
631
|
+
* is responsible for resolving the endpoint from its configuration (e.g.
|
|
632
|
+
* `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`) before calling this function.
|
|
633
|
+
*/
|
|
634
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_otlp_endpoint(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
635
|
+
ddog_CharSlice url);
|
|
636
|
+
|
|
637
|
+
/**
|
|
638
|
+
* Sets the OTLP export protocol. Accepts the OTel-standard values `http/json` (default),
|
|
639
|
+
* `http/protobuf`, or `grpc`; unknown values are rejected. The host language resolves the value
|
|
640
|
+
* (e.g. from `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`).
|
|
641
|
+
* The `grpc` protocol currently supports plaintext `http://` endpoints only.
|
|
642
|
+
*
|
|
643
|
+
* Has no effect unless an OTLP endpoint is also configured via
|
|
644
|
+
* `ddog_trace_exporter_builder_set_otlp_endpoint`; without one, traces are sent to the
|
|
645
|
+
* Datadog agent and this protocol selection is ignored.
|
|
646
|
+
*
|
|
647
|
+
* Returns `None` on success, `ErrorCode::InvalidArgument` for a null builder or an unaccepted
|
|
648
|
+
* value, and `ErrorCode::InvalidInput` for a non-UTF-8 string.
|
|
649
|
+
*/
|
|
650
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_otlp_protocol(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
651
|
+
ddog_CharSlice protocol);
|
|
652
|
+
|
|
653
|
+
/**
|
|
654
|
+
* Sets OTLP trace instrumentation scope metadata.
|
|
655
|
+
*
|
|
656
|
+
* Has no effect unless an OTLP endpoint is also configured via
|
|
657
|
+
* `ddog_trace_exporter_builder_set_otlp_endpoint`; without one, traces are sent to the
|
|
658
|
+
* Datadog agent and this scope metadata is ignored.
|
|
659
|
+
*/
|
|
660
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_otlp_instrumentation_scope(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
661
|
+
ddog_CharSlice name,
|
|
662
|
+
ddog_CharSlice version);
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* Sets the cardinality limit for client-side stats computation.
|
|
666
|
+
*
|
|
667
|
+
* When the number of distinct stats groups exceeds `limit`, additional groups are
|
|
668
|
+
* aggregated into a sentinel key instead of being tracked individually.
|
|
669
|
+
* This bounds memory usage when the trace population has very high cardinality.
|
|
670
|
+
*
|
|
671
|
+
* Has no effect unless stats computation is enabled via
|
|
672
|
+
* `ddog_trace_exporter_builder_enable_stats`.
|
|
673
|
+
*/
|
|
674
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_stats_cardinality_limit(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
675
|
+
struct ddog_CardinalityLimitConfig limits);
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* Returns a `CardinalityLimitConfig` with default values
|
|
679
|
+
*/
|
|
680
|
+
struct ddog_CardinalityLimitConfig ddog_trace_exporter_builder_default_stats_cardinality_limit(void);
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
* Enables agentless APM trace export and sets the intake URL and API key.
|
|
684
|
+
*
|
|
685
|
+
* When set, APM trace spans are sent directly to the Datadog HTTP intake in JSON format
|
|
686
|
+
* (`POST /v1/input`) instead of through the Datadog Agent. Agentless trace export is mutually
|
|
687
|
+
* exclusive with both an agent URL ([`ddog_trace_exporter_builder_set_url`]) and an OTLP endpoint
|
|
688
|
+
* ([`ddog_trace_exporter_builder_set_otlp_endpoint`]); combining either with this setter causes
|
|
689
|
+
* [`ddog_trace_exporter_builder_build`] to return an error.
|
|
690
|
+
*/
|
|
691
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_agentless_endpoint(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
692
|
+
ddog_CharSlice url,
|
|
693
|
+
ddog_CharSlice api_key);
|
|
694
|
+
|
|
695
|
+
/**
|
|
696
|
+
* Sets the request timeout (in milliseconds) used by the agentless intake transport.
|
|
697
|
+
*
|
|
698
|
+
* Defaults to 15 seconds when unset. Calling this without also setting an agentless endpoint
|
|
699
|
+
* causes [`ddog_trace_exporter_builder_build`] to return an error.
|
|
700
|
+
*/
|
|
701
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_agentless_timeout(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
702
|
+
uint64_t timeout_ms);
|
|
703
|
+
|
|
704
|
+
/**
|
|
705
|
+
* Sets the span obfuscation configuration from a JSON string.
|
|
706
|
+
*
|
|
707
|
+
* `json` is deserialized into `ObfuscationConfig` (the same struct the Datadog Agent uses),
|
|
708
|
+
* which controls obfuscation of HTTP URLs, SQL resources, Redis/Valkey commands, memcached
|
|
709
|
+
* commands, credit-card numbers, elasticsearch/opensearch/mongodb bodies, and tag-replace
|
|
710
|
+
* rules. Obfuscation is applied to every span on the agentless export path (see
|
|
711
|
+
* [`ddog_trace_exporter_builder_set_agentless_endpoint`]); it has no effect on the agent path.
|
|
712
|
+
*
|
|
713
|
+
* Returns an error if `json` is not valid UTF-8 or fails to deserialize. Example:
|
|
714
|
+
* ```c
|
|
715
|
+
* ddog_trace_exporter_builder_set_span_obfuscation_config(
|
|
716
|
+
* cfg, DDOG_CHARSLICE_C(
|
|
717
|
+
* "{\"http\":{\"remove_query_string\":true},"
|
|
718
|
+
* "\"credit_cards\":{\"enabled\":true}}"));
|
|
719
|
+
* ```
|
|
720
|
+
*/
|
|
721
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_span_obfuscation_config(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
722
|
+
ddog_CharSlice json);
|
|
723
|
+
|
|
724
|
+
/**
|
|
725
|
+
* Set the URL to communicate with a dogstatsd server.
|
|
726
|
+
*/
|
|
727
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_dogstatsd_url(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
728
|
+
ddog_CharSlice url);
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Set the `Datadog-Meta-Git-Commit-Sha` header.
|
|
732
|
+
*/
|
|
733
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_git_commit_sha(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
734
|
+
ddog_CharSlice git_commit_sha);
|
|
735
|
+
|
|
736
|
+
/**
|
|
737
|
+
* Set the `Datadog-Container-Id` header.
|
|
738
|
+
*/
|
|
739
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_container_id(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
740
|
+
ddog_CharSlice container_id);
|
|
741
|
+
|
|
742
|
+
/**
|
|
743
|
+
* Set the `Datadog-Meta-Lang-Interpreter-Vendor` header.
|
|
744
|
+
*/
|
|
745
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_language_interpreter_vendor(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
746
|
+
ddog_CharSlice lang_interpreter_vendor);
|
|
747
|
+
|
|
748
|
+
/**
|
|
749
|
+
* Set the input format of the trace payloads passed to `ddog_trace_exporter_send`.
|
|
750
|
+
*/
|
|
751
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_input_format(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
752
|
+
enum ddog_TraceExporterInputFormat input_format);
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* Set the output format used to serialize traces.
|
|
756
|
+
*/
|
|
757
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_output_format(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
758
|
+
enum ddog_TraceExporterOutputFormat output_format);
|
|
759
|
+
|
|
760
|
+
/**
|
|
761
|
+
* Opt in to the V1 trace protocol.
|
|
762
|
+
*
|
|
763
|
+
* V1 is only used after runtime negotiation with the agent via `/info`. When the agent does
|
|
764
|
+
* not advertise the `/v1.0/traces` endpoint, the exporter falls back to V0.4 transparently.
|
|
765
|
+
* V1 is only compatible with V0.4 input.
|
|
766
|
+
*/
|
|
767
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_enable_v1_protocol(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder);
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* Set the header indicating the tracer has computed the top-level tag.
|
|
771
|
+
*/
|
|
772
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_client_computed_top_level(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder);
|
|
773
|
+
|
|
774
|
+
/**
|
|
775
|
+
* Sets whether background workers spawned by this exporter are restarted in the child after
|
|
776
|
+
* the process `fork()`s. Defaults to `true`.
|
|
777
|
+
*
|
|
778
|
+
* Set to `false` if the trace exporter is recreated after the fork to avoid restarting workers
|
|
779
|
+
* which are going to be discarded anyway.
|
|
780
|
+
*/
|
|
781
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_restart_after_fork(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
782
|
+
bool restart_after_fork);
|
|
783
|
+
|
|
784
|
+
/**
|
|
785
|
+
* Enables storing and checking the agent payload version used to detect agent rate updates.
|
|
786
|
+
*/
|
|
787
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_enable_agent_rates_payload_version(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder);
|
|
788
|
+
|
|
789
|
+
/**
|
|
790
|
+
* Enables OpenTelemetry trace semantics when converting spans for OTLP export.
|
|
791
|
+
*/
|
|
792
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_enable_otel_trace_semantics(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder);
|
|
793
|
+
|
|
794
|
+
/**
|
|
795
|
+
* Sets the OTLP metrics intake endpoint used to export OTLP metrics. No effect unless an
|
|
796
|
+
* OTLP endpoint is also configured via `ddog_trace_exporter_builder_set_otlp_endpoint`.
|
|
797
|
+
*/
|
|
798
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_otlp_metrics_endpoint(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
799
|
+
ddog_CharSlice url);
|
|
800
|
+
|
|
801
|
+
/**
|
|
802
|
+
* Sets the tracer tags to include in requests.
|
|
803
|
+
*/
|
|
804
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_tracer_tags(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
805
|
+
struct ddog_ExporterTagList tracer_tags);
|
|
806
|
+
|
|
807
|
+
/**
|
|
808
|
+
* Seeds the peer tags used for peer tags aggregation in stats computation (requires stats
|
|
809
|
+
* computation to be enabled).
|
|
810
|
+
*/
|
|
811
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_peer_tags(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
812
|
+
struct ddog_ExporterTagList peer_tags);
|
|
813
|
+
|
|
814
|
+
/**
|
|
815
|
+
* Sets additional metric tag keys.
|
|
816
|
+
*/
|
|
817
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_additional_metric_tag_keys(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
818
|
+
struct ddog_ExporterTagList tag_keys);
|
|
819
|
+
|
|
820
|
+
/**
|
|
821
|
+
* Sets additional headers or gRPC metadata to include in OTLP trace export requests.
|
|
822
|
+
*
|
|
823
|
+
* Headers should be provided as name/value pairs. The host language is responsible for
|
|
824
|
+
* resolving headers from its configuration (e.g. `OTEL_EXPORTER_OTLP_TRACES_HEADERS`)
|
|
825
|
+
* before calling this function.
|
|
826
|
+
*/
|
|
827
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_otlp_headers(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
828
|
+
struct ddog_ExporterHeaderList headers);
|
|
829
|
+
|
|
830
|
+
/**
|
|
831
|
+
* Additional HTTP headers for OTLP trace-metrics requests.
|
|
832
|
+
*/
|
|
833
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_otlp_metrics_headers(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
834
|
+
struct ddog_ExporterHeaderList headers);
|
|
835
|
+
|
|
836
|
+
/**
|
|
837
|
+
* Configure the exporter to write traces as newline-delimited JSON to stdout (the Datadog
|
|
838
|
+
* Forwarder "log exporter" path) instead of sending them to a Datadog agent. Used in serverless
|
|
839
|
+
* environments (e.g. AWS Lambda) when no agent is reachable.
|
|
840
|
+
*
|
|
841
|
+
* `max_line_size` overrides the per-line byte cap; pass `0` to use the default (256 KiB, the AWS
|
|
842
|
+
* CloudWatch Logs limit). When enabled, agent-specific behavior (agent-info polling, client-side
|
|
843
|
+
* stats, V1 negotiation) is bypassed.
|
|
844
|
+
*
|
|
845
|
+
* In this mode each span's `meta` is serialized to process stdout (and thus captured by CloudWatch
|
|
846
|
+
* Logs in Lambda); `meta_struct` is excluded because it holds raw msgpack the log intake cannot
|
|
847
|
+
* interpret.
|
|
848
|
+
*
|
|
849
|
+
* Writes are synchronous/blocking on stdout, so this mode targets single-threaded / current-thread
|
|
850
|
+
* serverless runtimes (e.g. AWS Lambda) where a blocking write won't stall a shared async reactor.
|
|
851
|
+
*/
|
|
852
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_set_output_to_log(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
853
|
+
uintptr_t max_line_size);
|
|
854
|
+
|
|
855
|
+
/**
|
|
856
|
+
* Create a new TraceExporter instance.
|
|
857
|
+
*
|
|
858
|
+
* When an OTLP endpoint is configured via `TraceExporterBuilder<ForkSafeRuntime>`, the exporter
|
|
859
|
+
* sends traces using the configured `http/json`, `http/protobuf`, or `grpc` protocol instead of
|
|
860
|
+
* the Datadog agent. The same payload (e.g. MessagePack) is passed to
|
|
861
|
+
* `ddog_trace_exporter_send`; the library decodes and converts it to OTLP when OTLP is enabled.
|
|
862
|
+
*
|
|
863
|
+
* # Arguments
|
|
864
|
+
*
|
|
865
|
+
* * `out_handle` - The handle to write the TraceExporter instance in.
|
|
866
|
+
* * `builder` - The builder used to set up the TraceExporter handle. Ownership is transferred to
|
|
867
|
+
* this function even on failure; do not reuse or free it after this call.
|
|
868
|
+
*/
|
|
869
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_builder_build(struct ddog_TraceExporterBuilder_ForkSafeRuntime *builder,
|
|
870
|
+
ddog_TraceExporter **out_handle);
|
|
871
|
+
|
|
423
872
|
/**
|
|
424
873
|
* Create a new span with all scalar fields set.
|
|
425
874
|
*
|