libdatadog 40.0.0.2.0 → 44.0.1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +2 -2
  3. data/vendor/{libdatadog-40.0.0/aarch64-linux-musl → libdatadog-44.0.1/aarch64-linux}/LICENSE-3rdparty.csv +9 -3
  4. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/bin/libdatadog-crashtracking-receiver +0 -0
  5. data/vendor/{libdatadog-40.0.0/x86_64-linux-musl → libdatadog-44.0.1/aarch64-linux}/include/datadog/common.h +8 -0
  6. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/data-pipeline.h +53 -9
  7. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/ffe.h +12 -0
  8. data/vendor/{libdatadog-40.0.0/x86_64-linux-musl → libdatadog-44.0.1/aarch64-linux}/include/datadog/otel-thread-ctx.h +16 -0
  9. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/lib/libdatadog_profiling.so +0 -0
  10. data/vendor/{libdatadog-40.0.0/arm64-darwin → libdatadog-44.0.1/aarch64-linux}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  11. data/vendor/{libdatadog-40.0.0/aarch64-linux → libdatadog-44.0.1/aarch64-linux-musl}/LICENSE-3rdparty.csv +9 -3
  12. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  13. data/vendor/{libdatadog-40.0.0/arm64-darwin → libdatadog-44.0.1/aarch64-linux-musl}/include/datadog/common.h +8 -0
  14. data/vendor/{libdatadog-40.0.0/arm64-darwin → libdatadog-44.0.1/aarch64-linux-musl}/include/datadog/data-pipeline.h +53 -9
  15. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/ffe.h +12 -0
  16. data/vendor/{libdatadog-40.0.0/arm64-darwin → libdatadog-44.0.1/aarch64-linux-musl}/include/datadog/otel-thread-ctx.h +16 -0
  17. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/lib/libdatadog_profiling.so +0 -0
  18. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  19. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/LICENSE-3rdparty.csv +9 -3
  20. data/vendor/{libdatadog-40.0.0/aarch64-linux-musl → libdatadog-44.0.1/arm64-darwin}/include/datadog/common.h +8 -0
  21. data/vendor/{libdatadog-40.0.0/aarch64-linux-musl → libdatadog-44.0.1/arm64-darwin}/include/datadog/data-pipeline.h +53 -9
  22. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/ffe.h +12 -0
  23. data/vendor/{libdatadog-40.0.0/aarch64-linux → libdatadog-44.0.1/arm64-darwin}/include/datadog/otel-thread-ctx.h +16 -0
  24. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/lib/libdatadog_profiling.dylib +0 -0
  25. data/vendor/{libdatadog-40.0.0/x86_64-linux-musl → libdatadog-44.0.1/arm64-darwin}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  26. data/vendor/libdatadog-44.0.1/x86_64-linux/LICENSE-3rdparty.csv +560 -0
  27. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/bin/libdatadog-crashtracking-receiver +0 -0
  28. data/vendor/libdatadog-44.0.1/x86_64-linux/include/datadog/common.h +3123 -0
  29. data/vendor/libdatadog-44.0.1/x86_64-linux/include/datadog/data-pipeline.h +656 -0
  30. data/vendor/libdatadog-44.0.1/x86_64-linux/include/datadog/ffe.h +191 -0
  31. data/vendor/libdatadog-44.0.1/x86_64-linux/include/datadog/otel-thread-ctx.h +102 -0
  32. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/lib/libdatadog_profiling.so +0 -0
  33. data/vendor/libdatadog-44.0.1/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +15 -0
  34. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/LICENSE-3rdparty.csv +9 -3
  35. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  36. data/vendor/{libdatadog-40.0.0/aarch64-linux → libdatadog-44.0.1/x86_64-linux-musl}/include/datadog/common.h +8 -0
  37. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/data-pipeline.h +53 -9
  38. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/ffe.h +12 -0
  39. data/vendor/{libdatadog-40.0.0/aarch64-linux-musl → libdatadog-44.0.1/x86_64-linux-musl}/include/datadog/otel-thread-ctx.h +16 -0
  40. data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/lib/libdatadog_profiling.so +0 -0
  41. data/vendor/{libdatadog-40.0.0/aarch64-linux → libdatadog-44.0.1/x86_64-linux-musl}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  42. metadata +91 -91
  43. data/vendor/libdatadog-40.0.0/x86_64-linux/LICENSE-3rdparty.csv +0 -554
  44. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/common.h +0 -3115
  45. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/data-pipeline.h +0 -612
  46. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/ffe.h +0 -179
  47. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/otel-thread-ctx.h +0 -86
  48. data/vendor/libdatadog-40.0.0/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -15
  49. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/LICENSE +0 -0
  50. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/NOTICE +0 -0
  51. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/blazesym.h +0 -0
  52. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/crashtracker.h +0 -0
  53. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/ddsketch.h +0 -0
  54. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/library-config.h +0 -0
  55. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/log.h +0 -0
  56. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/profiling.h +0 -0
  57. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/shared-runtime.h +0 -0
  58. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux/include/datadog/telemetry.h +0 -0
  59. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/LICENSE +0 -0
  60. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/NOTICE +0 -0
  61. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/blazesym.h +0 -0
  62. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/crashtracker.h +0 -0
  63. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/ddsketch.h +0 -0
  64. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/library-config.h +0 -0
  65. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/log.h +0 -0
  66. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/profiling.h +0 -0
  67. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/shared-runtime.h +0 -0
  68. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/aarch64-linux-musl/include/datadog/telemetry.h +0 -0
  69. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/LICENSE +0 -0
  70. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/NOTICE +0 -0
  71. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/bin/libdatadog-crashtracking-receiver +0 -0
  72. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/blazesym.h +0 -0
  73. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/crashtracker.h +0 -0
  74. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/ddsketch.h +0 -0
  75. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/library-config.h +0 -0
  76. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/log.h +0 -0
  77. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/profiling.h +0 -0
  78. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/shared-runtime.h +0 -0
  79. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/arm64-darwin/include/datadog/telemetry.h +0 -0
  80. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/LICENSE +0 -0
  81. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/NOTICE +0 -0
  82. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/include/datadog/blazesym.h +0 -0
  83. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/include/datadog/crashtracker.h +0 -0
  84. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/include/datadog/ddsketch.h +0 -0
  85. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/include/datadog/library-config.h +0 -0
  86. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/include/datadog/log.h +0 -0
  87. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/include/datadog/profiling.h +0 -0
  88. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/include/datadog/shared-runtime.h +0 -0
  89. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux/include/datadog/telemetry.h +0 -0
  90. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/LICENSE +0 -0
  91. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/NOTICE +0 -0
  92. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/blazesym.h +0 -0
  93. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/crashtracker.h +0 -0
  94. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/ddsketch.h +0 -0
  95. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/library-config.h +0 -0
  96. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/log.h +0 -0
  97. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/profiling.h +0 -0
  98. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/shared-runtime.h +0 -0
  99. /data/vendor/{libdatadog-40.0.0 → libdatadog-44.0.1}/x86_64-linux-musl/include/datadog/telemetry.h +0 -0
@@ -187,19 +187,21 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_shared_runtime(st
187
187
  struct ddog_ForkSafeRuntime *handle);
188
188
 
189
189
  /**
190
- * Enables OTLP HTTP/JSON export and sets the endpoint URL.
190
+ * Enables OTLP trace export and sets the endpoint URL.
191
191
  *
192
- * When set, traces are sent to this URL in OTLP HTTP/JSON format instead of the Datadog
193
- * agent. The host language is responsible for resolving the endpoint from its configuration
194
- * (e.g. `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`) before calling this function.
192
+ * When set, traces are sent to this URL using the protocol selected by
193
+ * `ddog_trace_exporter_config_set_otlp_protocol` instead of the Datadog agent. The host language
194
+ * is responsible for resolving the endpoint from its configuration (e.g.
195
+ * `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`) before calling this function.
195
196
  */
196
197
  struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_endpoint(struct ddog_TraceExporterConfig *config,
197
198
  ddog_CharSlice url);
198
199
 
199
200
  /**
200
- * Sets the OTLP export protocol. Accepts the OTel-standard values `http/json` (default) or
201
- * `http/protobuf`; `grpc` is rejected as not yet supported. The host language resolves the value
201
+ * Sets the OTLP export protocol. Accepts the OTel-standard values `http/json` (default),
202
+ * `http/protobuf`, or `grpc`; unknown values are rejected. The host language resolves the value
202
203
  * (e.g. from `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`).
204
+ * The `grpc` protocol currently supports plaintext `http://` endpoints only.
203
205
  *
204
206
  * Has no effect unless an OTLP endpoint is also configured via
205
207
  * `ddog_trace_exporter_config_set_otlp_endpoint`; without one, traces are sent to the
@@ -240,6 +242,48 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_stats_cardinality
240
242
  */
241
243
  struct ddog_CardinalityLimitConfig ddog_trace_exporter_config_default_stats_cardinality_limit(void);
242
244
 
245
+ /**
246
+ * Enables agentless APM trace export and sets the intake URL and API key.
247
+ *
248
+ * When set, APM trace spans are sent directly to the Datadog HTTP intake in JSON format
249
+ * (`POST /v1/input`) instead of through the Datadog Agent. Agentless trace export is mutually
250
+ * exclusive with both an agent URL ([`ddog_trace_exporter_config_set_url`]) and an OTLP endpoint
251
+ * ([`ddog_trace_exporter_config_set_otlp_endpoint`]); combining either with this setter causes
252
+ * [`ddog_trace_exporter_new`] to return an error.
253
+ */
254
+ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_agentless_endpoint(struct ddog_TraceExporterConfig *config,
255
+ ddog_CharSlice url,
256
+ ddog_CharSlice api_key);
257
+
258
+ /**
259
+ * Sets the request timeout (in milliseconds) used by the agentless intake transport.
260
+ *
261
+ * Defaults to 15 seconds when unset. Calling this without also setting an agentless endpoint
262
+ * causes [`ddog_trace_exporter_new`] to return an error.
263
+ */
264
+ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_agentless_timeout(struct ddog_TraceExporterConfig *config,
265
+ uint64_t timeout_ms);
266
+
267
+ /**
268
+ * Sets the span obfuscation configuration from a JSON string.
269
+ *
270
+ * `json` is deserialized into `ObfuscationConfig` (the same struct the Datadog Agent uses),
271
+ * which controls obfuscation of HTTP URLs, SQL resources, Redis/Valkey commands, memcached
272
+ * commands, credit-card numbers, elasticsearch/opensearch/mongodb bodies, and tag-replace
273
+ * rules. Obfuscation is applied to every span on the agentless export path (see
274
+ * [`ddog_trace_exporter_config_set_agentless_endpoint`]); it has no effect on the agent path.
275
+ *
276
+ * Returns an error if `json` is not valid UTF-8 or fails to deserialize. Example:
277
+ * ```c
278
+ * ddog_trace_exporter_config_set_obfuscation_config(
279
+ * cfg, DDOG_CHARSLICE_C(
280
+ * "{\"http\":{\"remove_query_string\":true},"
281
+ * "\"credit_cards\":{\"enabled\":true}}"));
282
+ * ```
283
+ */
284
+ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_obfuscation_config(struct ddog_TraceExporterConfig *config,
285
+ ddog_CharSlice json);
286
+
243
287
  /**
244
288
  * Configure the exporter to write traces as newline-delimited JSON to stdout (the Datadog
245
289
  * Forwarder "log exporter" path) instead of sending them to a Datadog agent. Used in serverless
@@ -262,9 +306,9 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_output_to_log(str
262
306
  /**
263
307
  * Create a new TraceExporter instance.
264
308
  *
265
- * When an OTLP endpoint is configured via `TraceExporterConfig`, the exporter sends traces to
266
- * that endpoint in OTLP over HTTP — JSON or protobuf per the configured protocol — instead of
267
- * to the Datadog agent. The same payload (e.g. MessagePack) is passed to
309
+ * When an OTLP endpoint is configured via `TraceExporterConfig`, the exporter sends traces using
310
+ * the configured `http/json`, `http/protobuf`, or `grpc` protocol instead of the Datadog agent.
311
+ * The same payload (e.g. MessagePack) is passed to
268
312
  * `ddog_trace_exporter_send`; the library decodes and converts it to OTLP when OTLP is enabled.
269
313
  *
270
314
  * # Arguments
@@ -147,6 +147,18 @@ struct ddog_ffe_Result_HandleConfiguration ddog_ffe_configuration_new(struct ddo
147
147
  */
148
148
  void ddog_ffe_configuration_drop(ddog_ffe_Handle_Configuration *config);
149
149
 
150
+ /**
151
+ * Get the config-level `observeFullEvaluationData` flag.
152
+ *
153
+ * Opt-in boolean for emitting full flag evaluation data from SDKs to Datadog. Flag evaluation data
154
+ * may contain PII; defaults to `false` for privacy.
155
+ *
156
+ * # Safety
157
+ *
158
+ * `config` must be a valid `Configuration` handle created by `ddog_ffe_configuration_new`.
159
+ */
160
+ bool ddog_ffe_configuration_get_observe_full_evaluation_data(ddog_ffe_Handle_Configuration config);
161
+
150
162
  /**
151
163
  * Creates a new EvaluationContext with the given targeting key and attributes.
152
164
  *
@@ -79,6 +79,22 @@ void ddog_otel_thread_ctx_update(const uint8_t (*trace_id)[16],
79
79
  uint8_t trace_flags,
80
80
  const uint8_t (*local_root_span_id)[8]);
81
81
 
82
+ /**
83
+ * Update `ctx` and attach it to the current thread. Returns the previously attached different
84
+ * context, if any.
85
+ *
86
+ * # Safety
87
+ *
88
+ * `ctx` may be null; otherwise it must be a valid non-null pointer obtained from this API.
89
+ * If attached, it must be attached only to the calling native thread and must not be
90
+ * concurrently updated or freed. A non-null returned context is owned by the caller.
91
+ */
92
+ struct ddog_ThreadContextHandle *ddog_otel_thread_ctx_update_and_attach(struct ddog_ThreadContextHandle *ctx,
93
+ const uint8_t (*trace_id)[16],
94
+ const uint8_t (*span_id)[8],
95
+ uint8_t trace_flags,
96
+ const uint8_t (*local_root_span_id)[8]);
97
+
82
98
  #ifdef __cplusplus
83
99
  } // extern "C"
84
100
  #endif // __cplusplus
@@ -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: 40.0.0
11
+ Version: 44.0.1
12
12
  Requires:
13
13
  Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
14
14
  Libs.private: