libdatadog 27.0.0.1.0-aarch64-linux → 28.0.2.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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +3303 -3081
  4. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +29 -8
  5. data/vendor/{libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-28.0.2/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +45 -1
  6. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -1
  7. data/vendor/{libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-28.0.2/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/profiling.h +11 -3
  8. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  9. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  10. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +3303 -3081
  11. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +29 -8
  12. data/vendor/{libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-28.0.2/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +45 -1
  13. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -1
  14. data/vendor/{libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-28.0.2/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +11 -3
  15. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  16. data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  17. metadata +33 -33
  18. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  19. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  20. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  21. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
  22. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h +0 -0
  23. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h +0 -0
  24. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +0 -0
  25. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h +0 -0
  26. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
  27. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  28. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
  29. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  30. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
  31. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h +0 -0
  32. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h +0 -0
  33. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +0 -0
  34. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h +0 -0
  35. /data/vendor/{libdatadog-27.0.0 → libdatadog-28.0.2}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
@@ -432,12 +432,14 @@ typedef enum ddog_prof_Endpoint_Tag {
432
432
  typedef struct ddog_prof_Endpoint_ddog_prof_Agent_Body {
433
433
  ddog_CharSlice _0;
434
434
  uint64_t _1;
435
+ bool _2;
435
436
  } ddog_prof_Endpoint_ddog_prof_Agent_Body;
436
437
 
437
438
  typedef struct ddog_prof_Endpoint_ddog_prof_Agentless_Body {
438
439
  ddog_CharSlice _0;
439
440
  ddog_CharSlice _1;
440
441
  uint64_t _2;
442
+ bool _3;
441
443
  } ddog_prof_Endpoint_ddog_prof_Agentless_Body;
442
444
 
443
445
  typedef struct ddog_prof_Endpoint {
@@ -916,6 +918,9 @@ typedef struct ddog_prof_Mapping2 {
916
918
  * performed on; it is not generally guaranteed that ids from one dictionary
917
919
  * can be used in another dictionary, even if it happens to work by
918
920
  * implementation detail.
921
+ *
922
+ * `Eq`/`Hash` and other comparisons are based on this handle value, and are
923
+ * only intended for ids produced by the same `ProfilesDictionary`.
919
924
  */
920
925
  typedef struct ddog_prof_Mapping2 *ddog_prof_MappingId2;
921
926
 
@@ -938,9 +943,18 @@ typedef struct ddog_prof_Function2 {
938
943
  * performed on; it is not generally guaranteed that ids from one dictionary
939
944
  * can be used in another dictionary, even if it happens to work by
940
945
  * implementation detail.
946
+ *
947
+ * `Eq`/`Hash` and other comparisons are based on this handle value, and are
948
+ * only intended for ids produced by the same `ProfilesDictionary`.
941
949
  */
942
950
  typedef struct ddog_prof_Function2 *ddog_prof_FunctionId2;
943
951
 
952
+ /**
953
+ * A location keyed by `MappingId2`/`FunctionId2` handles.
954
+ *
955
+ * `Eq`/`Hash` comparisons use those handle values, so they are intended for
956
+ * data that comes from the same `ProfilesDictionary`.
957
+ */
944
958
  typedef struct ddog_prof_Location2 {
945
959
  ddog_prof_MappingId2 mapping;
946
960
  ddog_prof_FunctionId2 function;
@@ -2395,6 +2409,14 @@ typedef struct ddog_crasht_Slice_CInt {
2395
2409
  uintptr_t len;
2396
2410
  } ddog_crasht_Slice_CInt;
2397
2411
 
2412
+ /**
2413
+ * Represents an object that should only be referred to by its handle.
2414
+ * Do not access its member for any reason, only use the C API functions on this struct.
2415
+ */
2416
+ typedef struct ddog_crasht_Handle_StackTrace {
2417
+ struct ddog_crasht_StackTrace *inner;
2418
+ } ddog_crasht_Handle_StackTrace;
2419
+
2398
2420
  /**
2399
2421
  * A generic result type for when an operation may fail,
2400
2422
  * or may return <T> in case of success.
@@ -2500,14 +2522,6 @@ typedef struct ddog_crasht_Span {
2500
2522
  ddog_CharSlice thread_name;
2501
2523
  } ddog_crasht_Span;
2502
2524
 
2503
- /**
2504
- * Represents an object that should only be referred to by its handle.
2505
- * Do not access its member for any reason, only use the C API functions on this struct.
2506
- */
2507
- typedef struct ddog_crasht_Handle_StackTrace {
2508
- struct ddog_crasht_StackTrace *inner;
2509
- } ddog_crasht_Handle_StackTrace;
2510
-
2511
2525
  typedef struct ddog_crasht_ThreadData {
2512
2526
  bool crashed;
2513
2527
  ddog_CharSlice name;
@@ -2707,6 +2721,13 @@ void ddog_endpoint_set_timeout(struct ddog_Endpoint *endpoint, uint64_t millis);
2707
2721
 
2708
2722
  void ddog_endpoint_set_test_token(struct ddog_Endpoint *endpoint, ddog_CharSlice token);
2709
2723
 
2724
+ /**
2725
+ * Set whether to use the system DNS resolver when building the reqwest client.
2726
+ * If false, the default in-process resolver is used.
2727
+ */
2728
+ void ddog_endpoint_set_use_system_resolver(struct ddog_Endpoint *endpoint,
2729
+ bool use_system_resolver);
2730
+
2710
2731
  void ddog_endpoint_drop(struct ddog_Endpoint*);
2711
2732
 
2712
2733
  struct ddog_Option_U32 ddog_Option_U32_some(uint32_t v);
@@ -131,6 +131,45 @@ struct ddog_VoidResult ddog_crasht_init_without_receiver(struct ddog_crasht_Conf
131
131
  */
132
132
  struct ddog_crasht_Slice_CInt ddog_crasht_default_signals(void);
133
133
 
134
+ /**
135
+ * Report an unhandled exception as a crash event.
136
+ *
137
+ * This function sends a crash report for an unhandled exception detected
138
+ * by the runtime. It is intended to be called when the process is in a
139
+ * terminal state due to an unhandled exception.
140
+ *
141
+ * # Parameters
142
+ * - `error_type`: Optional type/class of the exception (e.g. "NullPointerException"). Pass empty
143
+ * CharSlice for unknown.
144
+ * - `error_message`: Optional error message. Pass empty CharSlice for no message.
145
+ * - `runtime_stack`: Stack trace from the runtime. Consumed by this call.
146
+ *
147
+ * If the crash-tracker has not been initialized, this function is a no-op.
148
+ *
149
+ * # Side effects
150
+ * This function disables the signal-based crash handler before performing
151
+ * any work. This means that if the process receives a fatal signal (SIGSEGV)
152
+ * during or after this call, the crashtracker will not produce a
153
+ * second crash report. The previous signal handler (if any) will still be
154
+ * chained.
155
+ *
156
+ * # Failure mode
157
+ * If a fatal signal occurs while this function is in progress, the calling
158
+ * process is in an unrecoverable state; the crashtracker cannot report the
159
+ * secondary fault and the caller's own signal handler (if any) will execute
160
+ * in a potentially corrupted context. Callers should treat this function as a
161
+ * terminal operation and exit shortly after it returns.
162
+ *
163
+ * # Safety
164
+ * Crash-tracking functions are not reentrant.
165
+ * No other crash-handler functions should be called concurrently.
166
+ * The `runtime_stack` handle must be valid and will be consumed.
167
+ */
168
+ DDOG_CHECK_RETURN
169
+ struct ddog_VoidResult ddog_crasht_report_unhandled_exception(ddog_CharSlice error_type,
170
+ ddog_CharSlice error_message,
171
+ struct ddog_crasht_Handle_StackTrace *runtime_stack);
172
+
134
173
  /**
135
174
  * Removes all existing additional tags
136
175
  * Expected to be used after a fork, to reset the additional tags on the child
@@ -661,7 +700,12 @@ struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_thread_name(struct ddog
661
700
  * The `builder` can be null, but if non-null it must point to a Builder made by this module,
662
701
  * which has not previously been dropped.
663
702
  * All arguments must be valid.
664
- * This method requires that the builder has a UUID and metadata set
703
+ * This method requires that the builder has `metadata` and `kind` set
704
+ * Applications can add `message` or `sig_info` to the builder to provide additional context.
705
+ * If set, the data will be used to derive the crash ping message in the order of
706
+ * - an explicit message set with `with_message`
707
+ * - sig_info set with `with_sig_info`
708
+ * - kind set with `with_kind`
665
709
  */
666
710
  DDOG_CHECK_RETURN
667
711
  struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_upload_ping_to_endpoint(struct ddog_crasht_Handle_CrashInfoBuilder *builder,
@@ -173,7 +173,6 @@ void ddog_trace_exporter_free(struct ddog_TraceExporter *handle);
173
173
  */
174
174
  struct ddog_TraceExporterError *ddog_trace_exporter_send(const struct ddog_TraceExporter *handle,
175
175
  ddog_ByteSlice trace,
176
- uintptr_t trace_count,
177
176
  struct ddog_TraceExporterResponse **response_out);
178
177
 
179
178
  #ifdef __cplusplus
@@ -63,8 +63,12 @@ DDOG_CHECK_RETURN struct ddog_prof_Exporter_Slice_File ddog_prof_Exporter_Slice_
63
63
  * # Arguments
64
64
  * * `base_url` - Contains a URL with scheme, host, and port e.g. "https://agent:8126/".
65
65
  * * `timeout_ms` - Timeout in milliseconds. Use 0 for default timeout (3000ms).
66
+ * * `use_system_resolver` - If true, use the system DNS resolver (less fork-safe). If false, the
67
+ * default in-process resolver is used (fork-safe).
66
68
  */
67
- struct ddog_prof_Endpoint ddog_prof_Endpoint_agent(ddog_CharSlice base_url, uint64_t timeout_ms);
69
+ struct ddog_prof_Endpoint ddog_prof_Endpoint_agent(ddog_CharSlice base_url,
70
+ uint64_t timeout_ms,
71
+ bool use_system_resolver);
68
72
 
69
73
  /**
70
74
  * Creates an endpoint that uses the Datadog intake directly aka agentless.
@@ -72,10 +76,13 @@ struct ddog_prof_Endpoint ddog_prof_Endpoint_agent(ddog_CharSlice base_url, uint
72
76
  * * `site` - Contains a host and port e.g. "datadoghq.com".
73
77
  * * `api_key` - Contains the Datadog API key.
74
78
  * * `timeout_ms` - Timeout in milliseconds. Use 0 for default timeout (3000ms).
79
+ * * `use_system_resolver` - If true, use the system DNS resolver (less fork-safe). If false, the
80
+ * default in-process resolver is used (fork-safe).
75
81
  */
76
82
  struct ddog_prof_Endpoint ddog_prof_Endpoint_agentless(ddog_CharSlice site,
77
83
  ddog_CharSlice api_key,
78
- uint64_t timeout_ms);
84
+ uint64_t timeout_ms,
85
+ bool use_system_resolver);
79
86
 
80
87
  /**
81
88
  * Creates an endpoint that writes to a file.
@@ -99,7 +106,8 @@ struct ddog_prof_Endpoint ddog_Endpoint_file(ddog_CharSlice filename);
99
106
  * * `family` - Profile family, e.g. "ruby"
100
107
  * * `tags` - Tags to include with every profile reported by this exporter. It's also possible to
101
108
  * include profile-specific tags, see `additional_tags` on `profile_exporter_build`.
102
- * * `endpoint` - Configuration for reporting data
109
+ * * `endpoint` - Configuration for reporting data (includes use_system_resolver for
110
+ * Agent/Agentless).
103
111
  * # Safety
104
112
  * All pointers must refer to valid objects of the correct types.
105
113
  */
@@ -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: 27.0.0
11
+ Version: 28.0.2
12
12
  Requires:
13
13
  Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
14
14
  Libs.private: