libdatadog 14.1.0.1.0-aarch64-linux → 16.0.1.1.0-aarch64-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +1327 -260
  4. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  5. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +2 -2
  6. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +408 -81
  7. data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h +811 -0
  8. data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +123 -0
  9. data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +61 -0
  10. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +73 -0
  11. data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  12. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +1327 -260
  13. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  14. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +2 -2
  15. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +408 -81
  16. data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h +811 -0
  17. data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +123 -0
  18. data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +61 -0
  19. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h +73 -0
  20. data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  21. metadata +28 -24
  22. data/vendor/libdatadog-14.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -418
  23. data/vendor/libdatadog-14.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  24. data/vendor/libdatadog-14.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h +0 -418
  25. /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  26. /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  27. /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
  28. /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
  29. /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  30. /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
  31. /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
  32. /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
@@ -1,418 +0,0 @@
1
- // Copyright 2021-Present Datadog, Inc. https://www.datadoghq.com/
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
-
5
- #ifndef DDOG_CRASHTRACKER_H
6
- #define DDOG_CRASHTRACKER_H
7
-
8
- #pragma once
9
-
10
- #include <stdbool.h>
11
- #include <stddef.h>
12
- #include <stdint.h>
13
- #include "common.h"
14
-
15
- #ifdef __cplusplus
16
- extern "C" {
17
- #endif // __cplusplus
18
-
19
- /**
20
- * Cleans up after the crash-tracker:
21
- * Unregister the crash handler, restore the previous handler (if any), and
22
- * shut down the receiver. Note that the use of this function is optional:
23
- * the receiver will automatically shutdown when the pipe is closed on program
24
- * exit.
25
- *
26
- * # Preconditions
27
- * This function assumes that the crashtracker has previously been
28
- * initialized.
29
- * # Safety
30
- * Crash-tracking functions are not reentrant.
31
- * No other crash-handler functions should be called concurrently.
32
- * # Atomicity
33
- * This function is not atomic. A crash during its execution may lead to
34
- * unexpected crash-handling behaviour.
35
- */
36
- DDOG_CHECK_RETURN struct ddog_crasht_Result ddog_crasht_shutdown(void);
37
-
38
- /**
39
- * Reinitialize the crash-tracking infrastructure after a fork.
40
- * This should be one of the first things done after a fork, to minimize the
41
- * chance that a crash occurs between the fork, and this call.
42
- * In particular, reset the counters that track the profiler state machine.
43
- * NOTE: An alternative design would be to have a 1:many sidecar listening on a
44
- * socket instead of 1:1 receiver listening on a pipe, but the only real
45
- * advantage would be to have fewer processes in `ps -a`.
46
- *
47
- * # Preconditions
48
- * This function assumes that the crash-tracker has previously been
49
- * initialized.
50
- * # Safety
51
- * Crash-tracking functions are not reentrant.
52
- * No other crash-handler functions should be called concurrently.
53
- * # Atomicity
54
- * This function is not atomic. A crash during its execution may lead to
55
- * unexpected crash-handling behaviour.
56
- */
57
- DDOG_CHECK_RETURN
58
- struct ddog_crasht_Result ddog_crasht_update_on_fork(struct ddog_crasht_Config config,
59
- struct ddog_crasht_ReceiverConfig receiver_config,
60
- struct ddog_crasht_Metadata metadata);
61
-
62
- /**
63
- * Initialize the crash-tracking infrastructure.
64
- *
65
- * # Preconditions
66
- * None.
67
- * # Safety
68
- * Crash-tracking functions are not reentrant.
69
- * No other crash-handler functions should be called concurrently.
70
- * # Atomicity
71
- * This function is not atomic. A crash during its execution may lead to
72
- * unexpected crash-handling behaviour.
73
- */
74
- DDOG_CHECK_RETURN
75
- struct ddog_crasht_Result ddog_crasht_init(struct ddog_crasht_Config config,
76
- struct ddog_crasht_ReceiverConfig receiver_config,
77
- struct ddog_crasht_Metadata metadata);
78
-
79
- /**
80
- * Resets all counters to 0.
81
- * Expected to be used after a fork, to reset the counters on the child
82
- * ATOMICITY:
83
- * This is NOT ATOMIC.
84
- * Should only be used when no conflicting updates can occur,
85
- * e.g. after a fork but before profiling ops start on the child.
86
- * # Safety
87
- * No safety concerns.
88
- */
89
- DDOG_CHECK_RETURN struct ddog_crasht_Result ddog_crasht_reset_counters(void);
90
-
91
- /**
92
- * Atomically increments the count associated with `op`.
93
- * Useful for tracking what operations were occuring when a crash occurred.
94
- *
95
- * # Safety
96
- * No safety concerns.
97
- */
98
- DDOG_CHECK_RETURN struct ddog_crasht_Result ddog_crasht_begin_op(enum ddog_crasht_OpTypes op);
99
-
100
- /**
101
- * Atomically decrements the count associated with `op`.
102
- * Useful for tracking what operations were occuring when a crash occurred.
103
- *
104
- * # Safety
105
- * No safety concerns.
106
- */
107
- DDOG_CHECK_RETURN struct ddog_crasht_Result ddog_crasht_end_op(enum ddog_crasht_OpTypes op);
108
-
109
- /**
110
- * Resets all stored spans to 0.
111
- * Expected to be used after a fork, to reset the spans on the child
112
- * ATOMICITY:
113
- * This is NOT ATOMIC.
114
- * Should only be used when no conflicting updates can occur,
115
- * e.g. after a fork but before profiling ops start on the child.
116
- * # Safety
117
- * No safety concerns.
118
- */
119
- DDOG_CHECK_RETURN struct ddog_crasht_Result ddog_crasht_clear_span_ids(void);
120
-
121
- /**
122
- * Resets all stored traces to 0.
123
- * Expected to be used after a fork, to reset the traces on the child
124
- * ATOMICITY:
125
- * This is NOT ATOMIC.
126
- * Should only be used when no conflicting updates can occur,
127
- * e.g. after a fork but before profiling ops start on the child.
128
- * # Safety
129
- * No safety concerns.
130
- */
131
- DDOG_CHECK_RETURN struct ddog_crasht_Result ddog_crasht_clear_trace_ids(void);
132
-
133
- /**
134
- * Atomically registers an active traceId.
135
- * Useful for tracking what operations were occurring when a crash occurred.
136
- * 0 is reserved for "NoId"
137
- * The set does not check for duplicates. Adding the same id twice is an error.
138
- *
139
- * Inputs:
140
- * id<high/low>: the 128 bit id, broken into 2 64 bit chunks (see note)
141
- *
142
- * Returns:
143
- * Ok(handle) on success. The handle is needed to later remove the id;
144
- * Err() on failure. The most likely cause of failure is that the underlying set is full.
145
- *
146
- * Note: 128 bit ints in FFI were not stabilized until Rust 1.77
147
- * https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
148
- * We're currently locked into 1.76.0, have to do an ugly workaround involving 2 64 bit ints
149
- * until we can upgrade.
150
- *
151
- * # Safety
152
- * No safety concerns.
153
- */
154
- DDOG_CHECK_RETURN
155
- struct ddog_crasht_UsizeResult ddog_crasht_insert_trace_id(uint64_t id_high,
156
- uint64_t id_low);
157
-
158
- /**
159
- * Atomically registers an active SpanId.
160
- * Useful for tracking what operations were occurring when a crash occurred.
161
- * 0 is reserved for "NoId".
162
- * The set does not check for duplicates. Adding the same id twice is an error.
163
- *
164
- * Inputs:
165
- * id<high/low>: the 128 bit id, broken into 2 64 bit chunks (see note)
166
- *
167
- * Returns:
168
- * Ok(handle) on success. The handle is needed to later remove the id;
169
- * Err() on failure. The most likely cause of failure is that the underlying set is full.
170
- *
171
- * Note: 128 bit ints in FFI were not stabilized until Rust 1.77
172
- * https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
173
- * We're currently locked into 1.76.0, have to do an ugly workaround involving 2 64 bit ints
174
- * until we can upgrade.
175
- *
176
- * # Safety
177
- * No safety concerns.
178
- */
179
- DDOG_CHECK_RETURN
180
- struct ddog_crasht_UsizeResult ddog_crasht_insert_span_id(uint64_t id_high,
181
- uint64_t id_low);
182
-
183
- /**
184
- * Atomically removes a completed SpanId.
185
- * Useful for tracking what operations were occurring when a crash occurred.
186
- * 0 is reserved for "NoId"
187
- *
188
- * Inputs:
189
- * id<high/low>: the 128 bit id, broken into 2 64 bit chunks (see note)
190
- * idx: The handle for the id, from a previous successful call to `insert_span_id`.
191
- * Attempting to remove the same element twice is an error.
192
- * Returns:
193
- * `Ok` on success.
194
- * `Err` on failure. If `id` is not found at `idx`, `Err` will be returned and the set will not
195
- * be modified.
196
- *
197
- * Note: 128 bit ints in FFI were not stabilized until Rust 1.77
198
- * https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
199
- * We're currently locked into 1.76.0, have to do an ugly workaround involving 2 64 bit ints
200
- * until we can upgrade.
201
- *
202
- * # Safety
203
- * No safety concerns.
204
- */
205
- DDOG_CHECK_RETURN
206
- struct ddog_crasht_Result ddog_crasht_remove_span_id(uint64_t id_high,
207
- uint64_t id_low,
208
- uintptr_t idx);
209
-
210
- /**
211
- * Atomically removes a completed TraceId.
212
- * Useful for tracking what operations were occurring when a crash occurred.
213
- * 0 is reserved for "NoId"
214
- *
215
- * Inputs:
216
- * id<high/low>: the 128 bit id, broken into 2 64 bit chunks (see note)
217
- * idx: The handle for the id, from a previous successful call to `insert_span_id`.
218
- * Attempting to remove the same element twice is an error.
219
- * Returns:
220
- * `Ok` on success.
221
- * `Err` on failure. If `id` is not found at `idx`, `Err` will be returned and the set will not
222
- * be modified.
223
- *
224
- * Note: 128 bit ints in FFI were not stabilized until Rust 1.77
225
- * https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
226
- * We're currently locked into 1.76.0, have to do an ugly workaround involving 2 64 bit ints
227
- * until we can upgrade.
228
- *
229
- * # Safety
230
- * No safety concerns.
231
- */
232
- DDOG_CHECK_RETURN
233
- struct ddog_crasht_Result ddog_crasht_remove_trace_id(uint64_t id_high,
234
- uint64_t id_low,
235
- uintptr_t idx);
236
-
237
- /**
238
- * Create a new crashinfo, and returns an opaque reference to it.
239
- * # Safety
240
- * No safety issues.
241
- */
242
- DDOG_CHECK_RETURN struct ddog_crasht_CrashInfoNewResult ddog_crasht_CrashInfo_new(void);
243
-
244
- /**
245
- * # Safety
246
- * The `crash_info` can be null, but if non-null it must point to a CrashInfo
247
- * made by this module, which has not previously been dropped.
248
- */
249
- void ddog_crasht_CrashInfo_drop(struct ddog_crasht_CrashInfo *crashinfo);
250
-
251
- /**
252
- * Best effort attempt to normalize all `ip` on the stacktrace.
253
- * `pid` must be the pid of the currently active process where the ips came from.
254
- *
255
- * # Safety
256
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
257
- */
258
- DDOG_CHECK_RETURN
259
- struct ddog_crasht_Result ddog_crasht_CrashInfo_normalize_ips(struct ddog_crasht_CrashInfo *crashinfo,
260
- uint32_t pid);
261
-
262
- /**
263
- * Adds a "counter" variable, with the given value. Useful for determining if
264
- * "interesting" operations were occurring when the crash did.
265
- *
266
- * # Safety
267
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
268
- * `name` should be a valid reference to a utf8 encoded String.
269
- * The string is copied into the crashinfo, so it does not need to outlive this
270
- * call.
271
- */
272
- DDOG_CHECK_RETURN
273
- struct ddog_crasht_Result ddog_crasht_CrashInfo_add_counter(struct ddog_crasht_CrashInfo *crashinfo,
274
- ddog_CharSlice name,
275
- int64_t val);
276
-
277
- /**
278
- * Adds the contents of "file" to the crashinfo
279
- *
280
- * # Safety
281
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
282
- * `name` should be a valid reference to a utf8 encoded String.
283
- * The string is copied into the crashinfo, so it does not need to outlive this
284
- * call.
285
- */
286
- DDOG_CHECK_RETURN
287
- struct ddog_crasht_Result ddog_crasht_CrashInfo_add_file(struct ddog_crasht_CrashInfo *crashinfo,
288
- ddog_CharSlice filename);
289
-
290
- /**
291
- * Adds the tag with given "key" and "value" to the crashinfo
292
- *
293
- * # Safety
294
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
295
- * `key` should be a valid reference to a utf8 encoded String.
296
- * `value` should be a valid reference to a utf8 encoded String.
297
- * The string is copied into the crashinfo, so it does not need to outlive this
298
- * call.
299
- */
300
- DDOG_CHECK_RETURN
301
- struct ddog_crasht_Result ddog_crasht_CrashInfo_add_tag(struct ddog_crasht_CrashInfo *crashinfo,
302
- ddog_CharSlice key,
303
- ddog_CharSlice value);
304
-
305
- /**
306
- * Sets the crashinfo metadata
307
- *
308
- * # Safety
309
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
310
- * All references inside `metadata` must be valid.
311
- * Strings are copied into the crashinfo, and do not need to outlive this call.
312
- */
313
- DDOG_CHECK_RETURN
314
- struct ddog_crasht_Result ddog_crasht_CrashInfo_set_metadata(struct ddog_crasht_CrashInfo *crashinfo,
315
- struct ddog_crasht_Metadata metadata);
316
-
317
- /**
318
- * Sets the crashinfo siginfo
319
- *
320
- * # Safety
321
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
322
- * All references inside `metadata` must be valid.
323
- * Strings are copied into the crashinfo, and do not need to outlive this call.
324
- */
325
- DDOG_CHECK_RETURN
326
- struct ddog_crasht_Result ddog_crasht_CrashInfo_set_siginfo(struct ddog_crasht_CrashInfo *crashinfo,
327
- struct ddog_crasht_SigInfo siginfo);
328
-
329
- /**
330
- * If `thread_id` is empty, sets `stacktrace` as the default stacktrace.
331
- * Otherwise, adds an additional stacktrace with id "thread_id".
332
- *
333
- * # Safety
334
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
335
- * All references inside `stacktraces` must be valid.
336
- * Strings are copied into the crashinfo, and do not need to outlive this call.
337
- */
338
- DDOG_CHECK_RETURN
339
- struct ddog_crasht_Result ddog_crasht_CrashInfo_set_stacktrace(struct ddog_crasht_CrashInfo *crashinfo,
340
- ddog_CharSlice thread_id,
341
- struct ddog_crasht_Slice_StackFrame stacktrace);
342
-
343
- /**
344
- * Sets the timestamp to the given unix timestamp
345
- *
346
- * # Safety
347
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
348
- */
349
- DDOG_CHECK_RETURN
350
- struct ddog_crasht_Result ddog_crasht_CrashInfo_set_timestamp(struct ddog_crasht_CrashInfo *crashinfo,
351
- struct ddog_Timespec ts);
352
-
353
- /**
354
- * Sets the timestamp to the current time
355
- *
356
- * # Safety
357
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
358
- */
359
- DDOG_CHECK_RETURN
360
- struct ddog_crasht_Result ddog_crasht_CrashInfo_set_timestamp_to_now(struct ddog_crasht_CrashInfo *crashinfo);
361
-
362
- /**
363
- * Exports `crashinfo` to the backend at `endpoint`
364
- * Note that we support the "file://" endpoint for local file output.
365
- * # Safety
366
- * `crashinfo` must be a valid pointer to a `CrashInfo` object.
367
- */
368
- DDOG_CHECK_RETURN
369
- struct ddog_crasht_Result ddog_crasht_CrashInfo_upload_to_endpoint(struct ddog_crasht_CrashInfo *crashinfo,
370
- const struct ddog_Endpoint *endpoint);
371
-
372
- /**
373
- * Demangles the string "name".
374
- * If demangling fails, returns an empty string ""
375
- *
376
- * # Safety
377
- * `name` should be a valid reference to a utf8 encoded String.
378
- * The string is copied into the result, and does not need to outlive this call
379
- */
380
- DDOG_CHECK_RETURN
381
- struct ddog_crasht_StringWrapperResult ddog_crasht_demangle(ddog_CharSlice name,
382
- enum ddog_crasht_DemangleOptions options);
383
-
384
- /**
385
- * Receives data from a crash collector via a pipe on `stdin`, formats it into
386
- * `CrashInfo` json, and emits it to the endpoint/file defined in `config`.
387
- *
388
- * At a high-level, this exists because doing anything in a
389
- * signal handler is dangerous, so we fork a sidecar to do the stuff we aren't
390
- * allowed to do in the handler.
391
- *
392
- * See comments in [crashtracker/lib.rs] for a full architecture description.
393
- * # Safety
394
- * No safety concerns
395
- */
396
- DDOG_CHECK_RETURN struct ddog_crasht_Result ddog_crasht_receiver_entry_point_stdin(void);
397
-
398
- /**
399
- * Receives data from a crash collector via a pipe on `stdin`, formats it into
400
- * `CrashInfo` json, and emits it to the endpoint/file defined in `config`.
401
- *
402
- * At a high-level, this exists because doing anything in a
403
- * signal handler is dangerous, so we fork a sidecar to do the stuff we aren't
404
- * allowed to do in the handler.
405
- *
406
- * See comments in [profiling/crashtracker/mod.rs] for a full architecture
407
- * description.
408
- * # Safety
409
- * No safety concerns
410
- */
411
- DDOG_CHECK_RETURN
412
- struct ddog_crasht_Result ddog_crasht_receiver_entry_point_unix_socket(ddog_CharSlice socket_path);
413
-
414
- #ifdef __cplusplus
415
- } // extern "C"
416
- #endif // __cplusplus
417
-
418
- #endif /* DDOG_CRASHTRACKER_H */