libdatadog 28.0.2.1.0-aarch64-linux → 30.0.0.1.0-aarch64-linux

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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +6 -0
  3. data/LICENSE.Apache +200 -0
  4. data/LICENSE.BSD3 +24 -0
  5. data/NOTICE +4 -0
  6. data/lib/libdatadog/version.rb +1 -1
  7. data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +2287 -4159
  8. data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +30 -4
  9. data/vendor/{libdatadog-28.0.2/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-30.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/data-pipeline.h +21 -0
  10. data/vendor/{libdatadog-28.0.2/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-30.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/library-config.h +2 -0
  11. data/vendor/{libdatadog-28.0.2/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-30.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/profiling.h +43 -6
  12. data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  13. data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  14. data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +2287 -4159
  15. data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +30 -4
  16. data/vendor/{libdatadog-28.0.2/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-30.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/data-pipeline.h +21 -0
  17. data/vendor/{libdatadog-28.0.2/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-30.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/library-config.h +2 -0
  18. data/vendor/{libdatadog-28.0.2/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-30.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +43 -6
  19. data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  20. data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  21. metadata +39 -35
  22. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  23. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  24. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  25. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
  26. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -0
  27. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h +0 -0
  28. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h +0 -0
  29. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h +0 -0
  30. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
  31. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  32. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
  33. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  34. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
  35. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h +0 -0
  36. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h +0 -0
  37. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h +0 -0
  38. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h +0 -0
  39. /data/vendor/{libdatadog-28.0.2 → libdatadog-30.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
@@ -39,6 +39,12 @@
39
39
  # define DDOG_CHECK_RETURN
40
40
  #endif
41
41
 
42
+ #ifdef _WIN32
43
+ #define LIBDD_DLLIMPORT __declspec(dllimport)
44
+ #else
45
+ #define LIBDD_DLLIMPORT
46
+ #endif
47
+
42
48
  /**
43
49
  * Default value for the timeout field in milliseconds.
44
50
  */
@@ -325,6 +331,7 @@ typedef enum ddog_prof_SampleType {
325
331
  DDOG_PROF_SAMPLE_TYPE_OBJECTS_LEGACY,
326
332
  DDOG_PROF_SAMPLE_TYPE_REQUEST_TIME,
327
333
  DDOG_PROF_SAMPLE_TYPE_SAMPLE,
334
+ DDOG_PROF_SAMPLE_TYPE_TRACEPOINT,
328
335
  DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_SIZE,
329
336
  DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_SIZE_SAMPLES,
330
337
  DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_TIME,
@@ -1417,6 +1424,20 @@ typedef struct ddog_prof_Result_Generation {
1417
1424
  };
1418
1425
  } ddog_prof_Result_Generation;
1419
1426
 
1427
+ typedef struct ddog_prof_MutSlice_StringId2 {
1428
+ /**
1429
+ * Should be non-null and suitably aligned for the underlying type. It is
1430
+ * allowed but not recommended for the pointer to be null when the len is
1431
+ * zero.
1432
+ */
1433
+ ddog_prof_StringId2 *ptr;
1434
+ /**
1435
+ * The number of elements (not bytes) that `.ptr` points to. Must be less
1436
+ * than or equal to [isize::MAX].
1437
+ */
1438
+ uintptr_t len;
1439
+ } ddog_prof_MutSlice_StringId2;
1440
+
1420
1441
  typedef enum ddog_prof_ManagedStringStorageNewResult_Tag {
1421
1442
  DDOG_PROF_MANAGED_STRING_STORAGE_NEW_RESULT_OK,
1422
1443
  DDOG_PROF_MANAGED_STRING_STORAGE_NEW_RESULT_ERR,
@@ -2270,9 +2291,6 @@ typedef enum ddog_crasht_SignalNames {
2270
2291
  * variable to allow downgrading the collector.
2271
2292
  */
2272
2293
  typedef enum ddog_crasht_StacktraceCollection {
2273
- /**
2274
- * Stacktrace collection occurs in the
2275
- */
2276
2294
  DDOG_CRASHT_STACKTRACE_COLLECTION_DISABLED,
2277
2295
  DDOG_CRASHT_STACKTRACE_COLLECTION_WITHOUT_SYMBOLS,
2278
2296
  /**
@@ -2307,6 +2325,14 @@ typedef struct ddog_crasht_Slice_CharSlice {
2307
2325
  uintptr_t len;
2308
2326
  } ddog_crasht_Slice_CharSlice;
2309
2327
 
2328
+ typedef struct ddog_crasht_EndpointConfig {
2329
+ ddog_CharSlice url;
2330
+ ddog_CharSlice api_key;
2331
+ ddog_CharSlice test_token;
2332
+ uint64_t timeout;
2333
+ bool use_system_resolver;
2334
+ } ddog_crasht_EndpointConfig;
2335
+
2310
2336
  typedef struct ddog_crasht_Slice_I32 {
2311
2337
  /**
2312
2338
  * Should be non-null and suitably aligned for the underlying type. It is
@@ -2329,7 +2355,7 @@ typedef struct ddog_crasht_Config {
2329
2355
  * The endpoint to send the crash report to (can be a file://).
2330
2356
  * If None, the crashtracker will infer the agent host from env variables.
2331
2357
  */
2332
- const struct ddog_Endpoint *endpoint;
2358
+ struct ddog_crasht_EndpointConfig endpoint;
2333
2359
  /**
2334
2360
  * Optional filename for a unix domain socket if the receiver is used asynchonously
2335
2361
  */
@@ -127,6 +127,12 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_compute_stats(str
127
127
  struct ddog_TraceExporterError *ddog_trace_exporter_config_set_client_computed_stats(struct ddog_TraceExporterConfig *config,
128
128
  bool client_computed_stats);
129
129
 
130
+ /**
131
+ * Sets the process tags to be included in the stats payload.
132
+ */
133
+ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_process_tags(struct ddog_TraceExporterConfig *config,
134
+ ddog_CharSlice process_tags);
135
+
130
136
  /**
131
137
  * Sets the `X-Datadog-Test-Session-Token` header. Only used for testing with the test agent.
132
138
  */
@@ -139,9 +145,24 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_test_session_toke
139
145
  struct ddog_TraceExporterError *ddog_trace_exporter_config_set_connection_timeout(struct ddog_TraceExporterConfig *config,
140
146
  uint64_t timeout_ms);
141
147
 
148
+ /**
149
+ * Enables OTLP HTTP/JSON export and sets the endpoint URL.
150
+ *
151
+ * When set, traces are sent to this URL in OTLP HTTP/JSON format instead of the Datadog
152
+ * agent. The host language is responsible for resolving the endpoint from its configuration
153
+ * (e.g. `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`) before calling this function.
154
+ */
155
+ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_otlp_endpoint(struct ddog_TraceExporterConfig *config,
156
+ ddog_CharSlice url);
157
+
142
158
  /**
143
159
  * Create a new TraceExporter instance.
144
160
  *
161
+ * When an OTLP endpoint is configured via `TraceExporterConfig`, the exporter sends traces in
162
+ * OTLP HTTP/JSON to that endpoint instead of the Datadog agent. The same payload (e.g.
163
+ * MessagePack) is passed to `ddog_trace_exporter_send`; the library decodes and converts to
164
+ * OTLP when OTLP is enabled.
165
+ *
145
166
  * # Arguments
146
167
  *
147
168
  * * `out_handle` - The handle to write the TraceExporter instance in.
@@ -91,6 +91,8 @@ void ddog_tracer_metadata_set(struct ddog_TracerMetadata *ptr,
91
91
 
92
92
  /**
93
93
  * Serializes the `TracerMetadata` into a platform-specific memory handle (e.g., memfd on Linux).
94
+ * This function also attempts to publish the tracer metadata as an OTel process context
95
+ * separately, but will ignore resulting errors.
94
96
  *
95
97
  * # Safety
96
98
  * - `ptr` must be a valid, non-null pointer to a `TracerMetadata`.
@@ -19,42 +19,56 @@ struct TokioCancellationToken;
19
19
  extern "C" {
20
20
  #endif // __cplusplus
21
21
 
22
- extern const ddog_prof_StringId ddog_INTERNED_EMPTY_STRING;
22
+ extern LIBDD_DLLIMPORT const ddog_prof_StringId ddog_INTERNED_EMPTY_STRING;
23
23
 
24
24
  /**
25
25
  * A StringId that represents the empty string.
26
26
  * This is always available in every string set and can be used without
27
27
  * needing to insert it into a string set.
28
28
  */
29
- extern const ddog_prof_StringId2 DDOG_PROF_STRINGID2_EMPTY;
29
+ extern LIBDD_DLLIMPORT const ddog_prof_StringId2 DDOG_PROF_STRINGID2_EMPTY;
30
30
 
31
31
  /**
32
32
  * A StringId that represents the string "end_timestamp_ns".
33
33
  * This is always available in every string set and can be used without
34
34
  * needing to insert it into a string set.
35
35
  */
36
- extern const ddog_prof_StringId2 DDOG_PROF_STRINGID2_END_TIMESTAMP_NS;
36
+ extern LIBDD_DLLIMPORT const ddog_prof_StringId2 DDOG_PROF_STRINGID2_END_TIMESTAMP_NS;
37
37
 
38
38
  /**
39
39
  * A StringId that represents the string "local root span id".
40
40
  * This is always available in every string set and can be used without
41
41
  * needing to insert it into a string set.
42
42
  */
43
- extern const ddog_prof_StringId2 DDOG_PROF_STRINGID2_LOCAL_ROOT_SPAN_ID;
43
+ extern LIBDD_DLLIMPORT const ddog_prof_StringId2 DDOG_PROF_STRINGID2_LOCAL_ROOT_SPAN_ID;
44
44
 
45
45
  /**
46
46
  * A StringId that represents the string "trace endpoint".
47
47
  * This is always available in every string set and can be used without
48
48
  * needing to insert it into a string set.
49
49
  */
50
- extern const ddog_prof_StringId2 DDOG_PROF_STRINGID2_TRACE_ENDPOINT;
50
+ extern LIBDD_DLLIMPORT const ddog_prof_StringId2 DDOG_PROF_STRINGID2_TRACE_ENDPOINT;
51
51
 
52
52
  /**
53
53
  * A StringId that represents the string "span id".
54
54
  * This is always available in every string set and can be used without
55
55
  * needing to insert it into a string set.
56
56
  */
57
- extern const ddog_prof_StringId2 DDOG_PROF_STRINGID2_SPAN_ID;
57
+ extern LIBDD_DLLIMPORT const ddog_prof_StringId2 DDOG_PROF_STRINGID2_SPAN_ID;
58
+
59
+ /**
60
+ * A StringId that represents the string "thread id".
61
+ * This is always available in every string set and can be used without
62
+ * needing to insert it into a string set.
63
+ */
64
+ extern LIBDD_DLLIMPORT const ddog_prof_StringId2 DDOG_PROF_STRINGID2_THREAD_ID;
65
+
66
+ /**
67
+ * A StringId that represents the string "thread name".
68
+ * This is always available in every string set and can be used without
69
+ * needing to insert it into a string set.
70
+ */
71
+ extern LIBDD_DLLIMPORT const ddog_prof_StringId2 DDOG_PROF_STRINGID2_THREAD_NAME;
58
72
 
59
73
  DDOG_CHECK_RETURN struct ddog_prof_Exporter_Slice_File ddog_prof_Exporter_Slice_File_empty(void);
60
74
 
@@ -954,6 +968,29 @@ struct ddog_prof_Status ddog_prof_ProfilesDictionary_insert_str(ddog_prof_String
954
968
  ddog_CharSlice byte_slice,
955
969
  enum ddog_prof_Utf8Option utf8_option);
956
970
 
971
+ /**
972
+ * Inserts a batch of UTF-8 strings into the dictionary string table.
973
+ *
974
+ * On success, each element of `string_ids` corresponds to the same-index element of
975
+ * `strings`. The length of `string_ids` must equal the length of `strings`; a
976
+ * mismatch is an error.
977
+ *
978
+ * On failure the number of entries written to `string_ids` is unspecified; callers
979
+ * must not read any element of `string_ids`.
980
+ *
981
+ * # Safety
982
+ *
983
+ * - `dict` must refer to a live dictionary.
984
+ * - `strings` must be a valid slice for the duration of the call.
985
+ * - `string_ids` must be a valid writable slice of `StringId2` with the same length as `strings`.
986
+ * - The UTF-8 policy indicated by `utf8_option` must be respected by the caller for every string
987
+ * in `strings`.
988
+ */
989
+ struct ddog_prof_Status ddog_prof_ProfilesDictionary_insert_strs(struct ddog_prof_MutSlice_StringId2 string_ids,
990
+ const struct ddog_prof_ProfilesDictionary *dict,
991
+ struct ddog_prof_Slice_CharSlice strings,
992
+ enum ddog_prof_Utf8Option utf8_option);
993
+
957
994
  /**
958
995
  * Tries to get the string value associated with the string id. Fails if the
959
996
  * handle has been taken from, or the result param is null.
@@ -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: 28.0.2
11
+ Version: 30.0.0
12
12
  Requires:
13
13
  Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
14
14
  Libs.private: