libdatadog 10.0.0.1.0-aarch64-linux → 11.0.0.1.0-aarch64-linux
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +6302 -1137
- data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/libdatadog-11.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +1229 -0
- data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +32 -17
- data/vendor/{libdatadog-10.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-11.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/profiling.h +31 -4
- data/vendor/libdatadog-11.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +6302 -1137
- data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/libdatadog-11.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +1229 -0
- data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +32 -17
- data/vendor/{libdatadog-10.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-11.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +31 -4
- data/vendor/libdatadog-11.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- metadata +23 -23
- data/vendor/libdatadog-10.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -895
- data/vendor/libdatadog-10.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-10.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -895
- data/vendor/libdatadog-10.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
@@ -143,6 +143,11 @@ typedef enum ddog_prof_DemangleOptions {
|
|
143
143
|
DDOG_PROF_DEMANGLE_OPTIONS_NAME_ONLY,
|
144
144
|
} ddog_prof_DemangleOptions;
|
145
145
|
|
146
|
+
typedef enum ddog_prof_NormalizedAddressTypes {
|
147
|
+
DDOG_PROF_NORMALIZED_ADDRESS_TYPES_NONE = 0,
|
148
|
+
DDOG_PROF_NORMALIZED_ADDRESS_TYPES_ELF,
|
149
|
+
} ddog_prof_NormalizedAddressTypes;
|
150
|
+
|
146
151
|
/**
|
147
152
|
* This enum represents operations a profiler might be engaged in.
|
148
153
|
* The idea is that if a crash consistently occurs while a particular operation
|
@@ -263,6 +268,7 @@ typedef struct ddog_prof_CrashtrackerConfiguration {
|
|
263
268
|
struct ddog_prof_Endpoint endpoint;
|
264
269
|
enum ddog_prof_StacktraceCollection resolve_frames;
|
265
270
|
uint64_t timeout_secs;
|
271
|
+
bool wait_for_receiver;
|
266
272
|
} ddog_prof_CrashtrackerConfiguration;
|
267
273
|
|
268
274
|
typedef struct ddog_prof_EnvVar {
|
@@ -372,10 +378,36 @@ typedef struct ddog_prof_Slice_StackFrameNames {
|
|
372
378
|
uintptr_t len;
|
373
379
|
} ddog_prof_Slice_StackFrameNames;
|
374
380
|
|
381
|
+
typedef struct ddog_Slice_U8 {
|
382
|
+
/**
|
383
|
+
* Must be non-null and suitably aligned for the underlying type.
|
384
|
+
*/
|
385
|
+
const uint8_t *ptr;
|
386
|
+
/**
|
387
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
388
|
+
* than or equal to [isize::MAX].
|
389
|
+
*/
|
390
|
+
uintptr_t len;
|
391
|
+
} ddog_Slice_U8;
|
392
|
+
|
393
|
+
/**
|
394
|
+
* Use to represent bytes -- does not need to be valid UTF-8.
|
395
|
+
*/
|
396
|
+
typedef struct ddog_Slice_U8 ddog_ByteSlice;
|
397
|
+
|
398
|
+
typedef struct ddog_prof_NormalizedAddress {
|
399
|
+
uint64_t file_offset;
|
400
|
+
ddog_ByteSlice build_id;
|
401
|
+
ddog_CharSlice path;
|
402
|
+
enum ddog_prof_NormalizedAddressTypes typ;
|
403
|
+
} ddog_prof_NormalizedAddress;
|
404
|
+
|
375
405
|
typedef struct ddog_prof_StackFrame {
|
406
|
+
ddog_CharSlice build_id;
|
376
407
|
uintptr_t ip;
|
377
408
|
uintptr_t module_base_address;
|
378
409
|
struct ddog_prof_Slice_StackFrameNames names;
|
410
|
+
struct ddog_prof_NormalizedAddress normalized_ip;
|
379
411
|
uintptr_t sp;
|
380
412
|
uintptr_t symbol_address;
|
381
413
|
} ddog_prof_StackFrame;
|
@@ -422,23 +454,6 @@ typedef struct ddog_prof_StringWrapperResult {
|
|
422
454
|
};
|
423
455
|
} ddog_prof_StringWrapperResult;
|
424
456
|
|
425
|
-
typedef struct ddog_Slice_U8 {
|
426
|
-
/**
|
427
|
-
* Must be non-null and suitably aligned for the underlying type.
|
428
|
-
*/
|
429
|
-
const uint8_t *ptr;
|
430
|
-
/**
|
431
|
-
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
432
|
-
* than or equal to [isize::MAX].
|
433
|
-
*/
|
434
|
-
uintptr_t len;
|
435
|
-
} ddog_Slice_U8;
|
436
|
-
|
437
|
-
/**
|
438
|
-
* Use to represent bytes -- does not need to be valid UTF-8.
|
439
|
-
*/
|
440
|
-
typedef struct ddog_Slice_U8 ddog_ByteSlice;
|
441
|
-
|
442
457
|
typedef struct ddog_prof_Exporter_File {
|
443
458
|
ddog_CharSlice name;
|
444
459
|
ddog_ByteSlice file;
|
@@ -74,7 +74,23 @@ struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_update_on_fork(struct
|
|
74
74
|
* No safety concerns
|
75
75
|
*/
|
76
76
|
DDOG_CHECK_RETURN
|
77
|
-
struct ddog_prof_CrashtrackerResult
|
77
|
+
struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_receiver_entry_point_stdin(void);
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Receives data from a crash collector via a pipe on `stdin`, formats it into
|
81
|
+
* `CrashInfo` json, and emits it to the endpoint/file defined in `config`.
|
82
|
+
*
|
83
|
+
* At a high-level, this exists because doing anything in a
|
84
|
+
* signal handler is dangerous, so we fork a sidecar to do the stuff we aren't
|
85
|
+
* allowed to do in the handler.
|
86
|
+
*
|
87
|
+
* See comments in [profiling/crashtracker/mod.rs] for a full architecture
|
88
|
+
* description.
|
89
|
+
* # Safety
|
90
|
+
* No safety concerns
|
91
|
+
*/
|
92
|
+
DDOG_CHECK_RETURN
|
93
|
+
struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_receiver_entry_point_unix_socket(ddog_CharSlice socket_path);
|
78
94
|
|
79
95
|
/**
|
80
96
|
* Initialize the crash-tracking infrastructure.
|
@@ -89,9 +105,9 @@ struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_receiver_entry_point(
|
|
89
105
|
* unexpected crash-handling behaviour.
|
90
106
|
*/
|
91
107
|
DDOG_CHECK_RETURN
|
92
|
-
struct ddog_prof_CrashtrackerResult
|
93
|
-
|
94
|
-
|
108
|
+
struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_init_with_receiver(struct ddog_prof_CrashtrackerConfiguration config,
|
109
|
+
struct ddog_prof_CrashtrackerReceiverConfig receiver_config,
|
110
|
+
struct ddog_prof_CrashtrackerMetadata metadata);
|
95
111
|
|
96
112
|
/**
|
97
113
|
* Resets all counters to 0.
|
@@ -139,6 +155,17 @@ DDOG_CHECK_RETURN struct ddog_prof_CrashInfoNewResult ddog_crashinfo_new(void);
|
|
139
155
|
*/
|
140
156
|
void ddog_crashinfo_drop(struct ddog_prof_CrashInfo *crashinfo);
|
141
157
|
|
158
|
+
/**
|
159
|
+
* Best effort attempt to normalize all `ip` on the stacktrace.
|
160
|
+
* `pid` must be the pid of the currently active process where the ips came from.
|
161
|
+
*
|
162
|
+
* # Safety
|
163
|
+
* `crashinfo` must be a valid pointer to a `CrashInfo` object.
|
164
|
+
*/
|
165
|
+
DDOG_CHECK_RETURN
|
166
|
+
struct ddog_prof_CrashtrackerResult ddog_crashinfo_normalize_ips(struct ddog_prof_CrashInfo *crashinfo,
|
167
|
+
uint32_t pid);
|
168
|
+
|
142
169
|
/**
|
143
170
|
* Adds a "counter" variable, with the given value. Useful for determining if
|
144
171
|
* "interesting" operations were occurring when the crash did.
|