libdatadog 10.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-10.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +6302 -1137
- data/vendor/{libdatadog-10.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-10.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +32 -17
- data/vendor/{libdatadog-10.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-10.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +6302 -1137
- data/vendor/{libdatadog-10.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-10.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h +32 -17
- data/vendor/{libdatadog-10.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-10.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -895
- data/vendor/libdatadog-10.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-10.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -895
- data/vendor/libdatadog-10.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-10.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-10.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-10.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-10.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-10.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
|
@@ -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.
|
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-07-
|
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
|