libdatadog 9.0.0.1.0-x86_64-linux → 11.0.0.1.0-x86_64-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.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +17731 -10534
- data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +1229 -0
- data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +37 -18
- data/vendor/{libdatadog-9.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/profiling.h +31 -4
- data/vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +17731 -10534
- data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +1229 -0
- data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h +37 -18
- data/vendor/{libdatadog-9.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/profiling.h +31 -4
- data/vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- metadata +23 -23
- data/vendor/libdatadog-9.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -895
- data/vendor/libdatadog-9.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-9.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -895
- data/vendor/libdatadog-9.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-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
|
@@ -178,7 +183,8 @@ typedef enum ddog_prof_StacktraceCollection {
|
|
178
183
|
*/
|
179
184
|
DDOG_PROF_STACKTRACE_COLLECTION_DISABLED,
|
180
185
|
DDOG_PROF_STACKTRACE_COLLECTION_WITHOUT_SYMBOLS,
|
181
|
-
|
186
|
+
DDOG_PROF_STACKTRACE_COLLECTION_ENABLED_WITH_INPROCESS_SYMBOLS,
|
187
|
+
DDOG_PROF_STACKTRACE_COLLECTION_ENABLED_WITH_SYMBOLS_IN_RECEIVER,
|
182
188
|
} ddog_prof_StacktraceCollection;
|
183
189
|
|
184
190
|
typedef struct ddog_CancellationToken ddog_CancellationToken;
|
@@ -255,10 +261,14 @@ typedef struct ddog_prof_CrashtrackerConfiguration {
|
|
255
261
|
bool create_alt_stack;
|
256
262
|
/**
|
257
263
|
* The endpoint to send the crash report to (can be a file://)
|
264
|
+
*
|
265
|
+
* If ProfilingEndpoint is left to a zero value (enum value for Agent + empty charslice),
|
266
|
+
* the crashtracker will infer the agent host from env variables.
|
258
267
|
*/
|
259
268
|
struct ddog_prof_Endpoint endpoint;
|
260
269
|
enum ddog_prof_StacktraceCollection resolve_frames;
|
261
270
|
uint64_t timeout_secs;
|
271
|
+
bool wait_for_receiver;
|
262
272
|
} ddog_prof_CrashtrackerConfiguration;
|
263
273
|
|
264
274
|
typedef struct ddog_prof_EnvVar {
|
@@ -368,10 +378,36 @@ typedef struct ddog_prof_Slice_StackFrameNames {
|
|
368
378
|
uintptr_t len;
|
369
379
|
} ddog_prof_Slice_StackFrameNames;
|
370
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
|
+
|
371
405
|
typedef struct ddog_prof_StackFrame {
|
406
|
+
ddog_CharSlice build_id;
|
372
407
|
uintptr_t ip;
|
373
408
|
uintptr_t module_base_address;
|
374
409
|
struct ddog_prof_Slice_StackFrameNames names;
|
410
|
+
struct ddog_prof_NormalizedAddress normalized_ip;
|
375
411
|
uintptr_t sp;
|
376
412
|
uintptr_t symbol_address;
|
377
413
|
} ddog_prof_StackFrame;
|
@@ -418,23 +454,6 @@ typedef struct ddog_prof_StringWrapperResult {
|
|
418
454
|
};
|
419
455
|
} ddog_prof_StringWrapperResult;
|
420
456
|
|
421
|
-
typedef struct ddog_Slice_U8 {
|
422
|
-
/**
|
423
|
-
* Must be non-null and suitably aligned for the underlying type.
|
424
|
-
*/
|
425
|
-
const uint8_t *ptr;
|
426
|
-
/**
|
427
|
-
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
428
|
-
* than or equal to [isize::MAX].
|
429
|
-
*/
|
430
|
-
uintptr_t len;
|
431
|
-
} ddog_Slice_U8;
|
432
|
-
|
433
|
-
/**
|
434
|
-
* Use to represent bytes -- does not need to be valid UTF-8.
|
435
|
-
*/
|
436
|
-
typedef struct ddog_Slice_U8 ddog_ByteSlice;
|
437
|
-
|
438
457
|
typedef struct ddog_prof_Exporter_File {
|
439
458
|
ddog_CharSlice name;
|
440
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.
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libdatadog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 11.0.0.1.0
|
5
5
|
platform: x86_64-linux
|
6
6
|
authors:
|
7
7
|
- Datadog, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: libdatadog is a Rust-based utility library for Datadog's ddtrace gem.
|
14
14
|
email:
|
@@ -19,26 +19,26 @@ extra_rdoc_files: []
|
|
19
19
|
files:
|
20
20
|
- lib/libdatadog.rb
|
21
21
|
- lib/libdatadog/version.rb
|
22
|
-
- vendor/libdatadog-
|
23
|
-
- vendor/libdatadog-
|
24
|
-
- vendor/libdatadog-
|
25
|
-
- vendor/libdatadog-
|
26
|
-
- vendor/libdatadog-
|
27
|
-
- vendor/libdatadog-
|
28
|
-
- vendor/libdatadog-
|
29
|
-
- vendor/libdatadog-
|
30
|
-
- vendor/libdatadog-
|
31
|
-
- vendor/libdatadog-
|
32
|
-
- vendor/libdatadog-
|
33
|
-
- vendor/libdatadog-
|
34
|
-
- vendor/libdatadog-
|
35
|
-
- vendor/libdatadog-
|
36
|
-
- vendor/libdatadog-
|
37
|
-
- vendor/libdatadog-
|
38
|
-
- vendor/libdatadog-
|
39
|
-
- vendor/libdatadog-
|
40
|
-
- vendor/libdatadog-
|
41
|
-
- vendor/libdatadog-
|
22
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE
|
23
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml
|
24
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE
|
25
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver
|
26
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h
|
27
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h
|
28
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h
|
29
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h
|
30
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so
|
31
|
+
- vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc
|
32
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE
|
33
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml
|
34
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE
|
35
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver
|
36
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h
|
37
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h
|
38
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h
|
39
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h
|
40
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so
|
41
|
+
- vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc
|
42
42
|
homepage: https://docs.datadoghq.com/tracing/
|
43
43
|
licenses:
|
44
44
|
- Apache-2.0
|
@@ -62,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '0'
|
64
64
|
requirements: []
|
65
|
-
rubygems_version: 3.3.
|
65
|
+
rubygems_version: 3.3.27
|
66
66
|
signing_key:
|
67
67
|
specification_version: 4
|
68
68
|
summary: Library of common code used by Datadog Continuous Profiler for Ruby
|