libdatadog 4.0.0.1.0-x86_64-linux → 6.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-4.0.0 → libdatadog-6.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +5047 -2328
- data/vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-4.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/common.h +186 -77
- data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h +37 -8
- data/vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +5047 -2328
- data/vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-4.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/common.h +186 -77
- data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h +37 -8
- data/vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +18 -16
- data/vendor/libdatadog-4.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-4.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- /data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-4.0.0 → libdatadog-6.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
Binary file
|
@@ -67,15 +67,21 @@ typedef struct ddog_Error {
|
|
67
67
|
struct ddog_Vec_U8 message;
|
68
68
|
} ddog_Error;
|
69
69
|
|
70
|
-
/**
|
71
|
-
* Remember, the data inside of each member is potentially coming from FFI,
|
72
|
-
* so every operation on it is unsafe!
|
73
|
-
*/
|
74
70
|
typedef struct ddog_Slice_CChar {
|
71
|
+
/**
|
72
|
+
* Must be non-null and suitably aligned for the underlying type.
|
73
|
+
*/
|
75
74
|
const char *ptr;
|
75
|
+
/**
|
76
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
77
|
+
* than or equal to [isize::MAX].
|
78
|
+
*/
|
76
79
|
uintptr_t len;
|
77
80
|
} ddog_Slice_CChar;
|
78
81
|
|
82
|
+
/**
|
83
|
+
* Use to represent strings -- should be valid UTF-8.
|
84
|
+
*/
|
79
85
|
typedef struct ddog_Slice_CChar ddog_CharSlice;
|
80
86
|
|
81
87
|
/**
|
@@ -107,6 +113,37 @@ typedef struct ddog_Vec_Tag_ParseResult {
|
|
107
113
|
struct ddog_Error *error_message;
|
108
114
|
} ddog_Vec_Tag_ParseResult;
|
109
115
|
|
116
|
+
typedef enum ddog_prof_CrashtrackerResolveFrames {
|
117
|
+
DDOG_PROF_CRASHTRACKER_RESOLVE_FRAMES_NEVER,
|
118
|
+
/**
|
119
|
+
* Resolving frames is experimental, and can fail/crash
|
120
|
+
*/
|
121
|
+
DDOG_PROF_CRASHTRACKER_RESOLVE_FRAMES_EXPERIMENTAL_IN_PROCESS,
|
122
|
+
DDOG_PROF_CRASHTRACKER_RESOLVE_FRAMES_EXPERIMENTAL_IN_RECEIVER,
|
123
|
+
} ddog_prof_CrashtrackerResolveFrames;
|
124
|
+
|
125
|
+
/**
|
126
|
+
* This enum represents operations a profiler might be engaged in.
|
127
|
+
* The idea is that if a crash consistently occurs while a particular operation
|
128
|
+
* is ongoing, its likely related.
|
129
|
+
*
|
130
|
+
* In the future, we might also track wall-clock time of operations
|
131
|
+
* (or some statistical sampling thereof) using the same enum.
|
132
|
+
*
|
133
|
+
* NOTE: This enum is known to be non-exhaustive. Feel free to add new types
|
134
|
+
* as needed.
|
135
|
+
*/
|
136
|
+
typedef enum ddog_prof_ProfilingOpTypes {
|
137
|
+
DDOG_PROF_PROFILING_OP_TYPES_NOT_PROFILING = 0,
|
138
|
+
DDOG_PROF_PROFILING_OP_TYPES_COLLECTING_SAMPLE,
|
139
|
+
DDOG_PROF_PROFILING_OP_TYPES_UNWINDING,
|
140
|
+
DDOG_PROF_PROFILING_OP_TYPES_SERIALIZING,
|
141
|
+
/**
|
142
|
+
* Dummy value to allow easier iteration
|
143
|
+
*/
|
144
|
+
DDOG_PROF_PROFILING_OP_TYPES_SIZE,
|
145
|
+
} ddog_prof_ProfilingOpTypes;
|
146
|
+
|
110
147
|
typedef struct ddog_CancellationToken ddog_CancellationToken;
|
111
148
|
|
112
149
|
typedef struct ddog_prof_Exporter ddog_prof_Exporter;
|
@@ -115,6 +152,31 @@ typedef struct ddog_prof_ProfiledEndpointsStats ddog_prof_ProfiledEndpointsStats
|
|
115
152
|
|
116
153
|
typedef struct ddog_prof_Exporter_Request ddog_prof_Exporter_Request;
|
117
154
|
|
155
|
+
/**
|
156
|
+
* A generic result type for when a profiling operation may fail, but there's
|
157
|
+
* nothing to return in the case of success.
|
158
|
+
*/
|
159
|
+
typedef enum ddog_prof_Profile_Result_Tag {
|
160
|
+
DDOG_PROF_PROFILE_RESULT_OK,
|
161
|
+
DDOG_PROF_PROFILE_RESULT_ERR,
|
162
|
+
} ddog_prof_Profile_Result_Tag;
|
163
|
+
|
164
|
+
typedef struct ddog_prof_Profile_Result {
|
165
|
+
ddog_prof_Profile_Result_Tag tag;
|
166
|
+
union {
|
167
|
+
struct {
|
168
|
+
/**
|
169
|
+
* Do not use the value of Ok. This value only exists to overcome
|
170
|
+
* Rust -> C code generation.
|
171
|
+
*/
|
172
|
+
bool ok;
|
173
|
+
};
|
174
|
+
struct {
|
175
|
+
struct ddog_Error err;
|
176
|
+
};
|
177
|
+
};
|
178
|
+
} ddog_prof_Profile_Result;
|
179
|
+
|
118
180
|
typedef enum ddog_Endpoint_Tag {
|
119
181
|
DDOG_ENDPOINT_AGENT,
|
120
182
|
DDOG_ENDPOINT_AGENTLESS,
|
@@ -135,6 +197,71 @@ typedef struct ddog_Endpoint {
|
|
135
197
|
};
|
136
198
|
} ddog_Endpoint;
|
137
199
|
|
200
|
+
typedef struct ddog_prof_CrashtrackerConfiguration {
|
201
|
+
bool create_alt_stack;
|
202
|
+
/**
|
203
|
+
* The endpoint to send the crash repor to (can be a file://)
|
204
|
+
*/
|
205
|
+
struct ddog_Endpoint endpoint;
|
206
|
+
/**
|
207
|
+
* Optional filename to forward stderr to (useful for logging/debugging)
|
208
|
+
*/
|
209
|
+
ddog_CharSlice optional_stderr_filename;
|
210
|
+
/**
|
211
|
+
* Optional filename to forward stdout to (useful for logging/debugging)
|
212
|
+
*/
|
213
|
+
ddog_CharSlice optional_stdout_filename;
|
214
|
+
ddog_CharSlice path_to_receiver_binary;
|
215
|
+
/**
|
216
|
+
* Whether/when we should attempt to resolve frames
|
217
|
+
*/
|
218
|
+
enum ddog_prof_CrashtrackerResolveFrames resolve_frames;
|
219
|
+
} ddog_prof_CrashtrackerConfiguration;
|
220
|
+
|
221
|
+
typedef struct ddog_prof_CrashtrackerMetadata {
|
222
|
+
ddog_CharSlice profiling_library_name;
|
223
|
+
ddog_CharSlice profiling_library_version;
|
224
|
+
ddog_CharSlice family;
|
225
|
+
/**
|
226
|
+
* Should include "service", "environment", etc
|
227
|
+
*/
|
228
|
+
const struct ddog_Vec_Tag *tags;
|
229
|
+
} ddog_prof_CrashtrackerMetadata;
|
230
|
+
|
231
|
+
typedef struct ddog_Slice_U8 {
|
232
|
+
/**
|
233
|
+
* Must be non-null and suitably aligned for the underlying type.
|
234
|
+
*/
|
235
|
+
const uint8_t *ptr;
|
236
|
+
/**
|
237
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
238
|
+
* than or equal to [isize::MAX].
|
239
|
+
*/
|
240
|
+
uintptr_t len;
|
241
|
+
} ddog_Slice_U8;
|
242
|
+
|
243
|
+
/**
|
244
|
+
* Use to represent bytes -- does not need to be valid UTF-8.
|
245
|
+
*/
|
246
|
+
typedef struct ddog_Slice_U8 ddog_ByteSlice;
|
247
|
+
|
248
|
+
typedef struct ddog_prof_Exporter_File {
|
249
|
+
ddog_CharSlice name;
|
250
|
+
ddog_ByteSlice file;
|
251
|
+
} ddog_prof_Exporter_File;
|
252
|
+
|
253
|
+
typedef struct ddog_prof_Exporter_Slice_File {
|
254
|
+
/**
|
255
|
+
* Must be non-null and suitably aligned for the underlying type.
|
256
|
+
*/
|
257
|
+
const struct ddog_prof_Exporter_File *ptr;
|
258
|
+
/**
|
259
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
260
|
+
* than or equal to [isize::MAX].
|
261
|
+
*/
|
262
|
+
uintptr_t len;
|
263
|
+
} ddog_prof_Exporter_Slice_File;
|
264
|
+
|
138
265
|
typedef enum ddog_prof_Exporter_NewResult_Tag {
|
139
266
|
DDOG_PROF_EXPORTER_NEW_RESULT_OK,
|
140
267
|
DDOG_PROF_EXPORTER_NEW_RESULT_ERR,
|
@@ -177,34 +304,6 @@ typedef struct ddog_Timespec {
|
|
177
304
|
uint32_t nanoseconds;
|
178
305
|
} ddog_Timespec;
|
179
306
|
|
180
|
-
/**
|
181
|
-
* Remember, the data inside of each member is potentially coming from FFI,
|
182
|
-
* so every operation on it is unsafe!
|
183
|
-
*/
|
184
|
-
typedef struct ddog_Slice_U8 {
|
185
|
-
const uint8_t *ptr;
|
186
|
-
uintptr_t len;
|
187
|
-
} ddog_Slice_U8;
|
188
|
-
|
189
|
-
/**
|
190
|
-
* Use to represent bytes -- does not need to be valid UTF-8.
|
191
|
-
*/
|
192
|
-
typedef struct ddog_Slice_U8 ddog_ByteSlice;
|
193
|
-
|
194
|
-
typedef struct ddog_prof_Exporter_File {
|
195
|
-
ddog_CharSlice name;
|
196
|
-
ddog_ByteSlice file;
|
197
|
-
} ddog_prof_Exporter_File;
|
198
|
-
|
199
|
-
/**
|
200
|
-
* Remember, the data inside of each member is potentially coming from FFI,
|
201
|
-
* so every operation on it is unsafe!
|
202
|
-
*/
|
203
|
-
typedef struct ddog_prof_Exporter_Slice_File {
|
204
|
-
const struct ddog_prof_Exporter_File *ptr;
|
205
|
-
uintptr_t len;
|
206
|
-
} ddog_prof_Exporter_Slice_File;
|
207
|
-
|
208
307
|
typedef struct ddog_HttpStatus {
|
209
308
|
uint16_t code;
|
210
309
|
} ddog_HttpStatus;
|
@@ -234,17 +333,40 @@ typedef struct ddog_prof_Profile {
|
|
234
333
|
struct ddog_prof_Profile *inner;
|
235
334
|
} ddog_prof_Profile;
|
236
335
|
|
336
|
+
/**
|
337
|
+
* Returned by [ddog_prof_Profile_new].
|
338
|
+
*/
|
339
|
+
typedef enum ddog_prof_Profile_NewResult_Tag {
|
340
|
+
DDOG_PROF_PROFILE_NEW_RESULT_OK,
|
341
|
+
DDOG_PROF_PROFILE_NEW_RESULT_ERR,
|
342
|
+
} ddog_prof_Profile_NewResult_Tag;
|
343
|
+
|
344
|
+
typedef struct ddog_prof_Profile_NewResult {
|
345
|
+
ddog_prof_Profile_NewResult_Tag tag;
|
346
|
+
union {
|
347
|
+
struct {
|
348
|
+
struct ddog_prof_Profile ok;
|
349
|
+
};
|
350
|
+
struct {
|
351
|
+
struct ddog_Error err;
|
352
|
+
};
|
353
|
+
};
|
354
|
+
} ddog_prof_Profile_NewResult;
|
355
|
+
|
237
356
|
typedef struct ddog_prof_ValueType {
|
238
357
|
ddog_CharSlice type_;
|
239
358
|
ddog_CharSlice unit;
|
240
359
|
} ddog_prof_ValueType;
|
241
360
|
|
242
|
-
/**
|
243
|
-
* Remember, the data inside of each member is potentially coming from FFI,
|
244
|
-
* so every operation on it is unsafe!
|
245
|
-
*/
|
246
361
|
typedef struct ddog_prof_Slice_ValueType {
|
362
|
+
/**
|
363
|
+
* Must be non-null and suitably aligned for the underlying type.
|
364
|
+
*/
|
247
365
|
const struct ddog_prof_ValueType *ptr;
|
366
|
+
/**
|
367
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
368
|
+
* than or equal to [isize::MAX].
|
369
|
+
*/
|
248
370
|
uintptr_t len;
|
249
371
|
} ddog_prof_Slice_ValueType;
|
250
372
|
|
@@ -253,31 +375,6 @@ typedef struct ddog_prof_Period {
|
|
253
375
|
int64_t value;
|
254
376
|
} ddog_prof_Period;
|
255
377
|
|
256
|
-
/**
|
257
|
-
* A generic result type for when a profiling operation may fail, but there's
|
258
|
-
* nothing to return in the case of success.
|
259
|
-
*/
|
260
|
-
typedef enum ddog_prof_Profile_Result_Tag {
|
261
|
-
DDOG_PROF_PROFILE_RESULT_OK,
|
262
|
-
DDOG_PROF_PROFILE_RESULT_ERR,
|
263
|
-
} ddog_prof_Profile_Result_Tag;
|
264
|
-
|
265
|
-
typedef struct ddog_prof_Profile_Result {
|
266
|
-
ddog_prof_Profile_Result_Tag tag;
|
267
|
-
union {
|
268
|
-
struct {
|
269
|
-
/**
|
270
|
-
* Do not use the value of Ok. This value only exists to overcome
|
271
|
-
* Rust -> C code generation.
|
272
|
-
*/
|
273
|
-
bool ok;
|
274
|
-
};
|
275
|
-
struct {
|
276
|
-
struct ddog_Error err;
|
277
|
-
};
|
278
|
-
};
|
279
|
-
} ddog_prof_Profile_Result;
|
280
|
-
|
281
378
|
typedef struct ddog_prof_Mapping {
|
282
379
|
/**
|
283
380
|
* Address at which the binary (or DLL) is loaded into memory.
|
@@ -342,21 +439,27 @@ typedef struct ddog_prof_Location {
|
|
342
439
|
int64_t line;
|
343
440
|
} ddog_prof_Location;
|
344
441
|
|
345
|
-
/**
|
346
|
-
* Remember, the data inside of each member is potentially coming from FFI,
|
347
|
-
* so every operation on it is unsafe!
|
348
|
-
*/
|
349
442
|
typedef struct ddog_prof_Slice_Location {
|
443
|
+
/**
|
444
|
+
* Must be non-null and suitably aligned for the underlying type.
|
445
|
+
*/
|
350
446
|
const struct ddog_prof_Location *ptr;
|
447
|
+
/**
|
448
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
449
|
+
* than or equal to [isize::MAX].
|
450
|
+
*/
|
351
451
|
uintptr_t len;
|
352
452
|
} ddog_prof_Slice_Location;
|
353
453
|
|
354
|
-
/**
|
355
|
-
* Remember, the data inside of each member is potentially coming from FFI,
|
356
|
-
* so every operation on it is unsafe!
|
357
|
-
*/
|
358
454
|
typedef struct ddog_Slice_I64 {
|
455
|
+
/**
|
456
|
+
* Must be non-null and suitably aligned for the underlying type.
|
457
|
+
*/
|
359
458
|
const int64_t *ptr;
|
459
|
+
/**
|
460
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
461
|
+
* than or equal to [isize::MAX].
|
462
|
+
*/
|
360
463
|
uintptr_t len;
|
361
464
|
} ddog_Slice_I64;
|
362
465
|
|
@@ -379,12 +482,15 @@ typedef struct ddog_prof_Label {
|
|
379
482
|
ddog_CharSlice num_unit;
|
380
483
|
} ddog_prof_Label;
|
381
484
|
|
382
|
-
/**
|
383
|
-
* Remember, the data inside of each member is potentially coming from FFI,
|
384
|
-
* so every operation on it is unsafe!
|
385
|
-
*/
|
386
485
|
typedef struct ddog_prof_Slice_Label {
|
486
|
+
/**
|
487
|
+
* Must be non-null and suitably aligned for the underlying type.
|
488
|
+
*/
|
387
489
|
const struct ddog_prof_Label *ptr;
|
490
|
+
/**
|
491
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
492
|
+
* than or equal to [isize::MAX].
|
493
|
+
*/
|
388
494
|
uintptr_t len;
|
389
495
|
} ddog_prof_Slice_Label;
|
390
496
|
|
@@ -409,12 +515,15 @@ typedef struct ddog_prof_Sample {
|
|
409
515
|
struct ddog_prof_Slice_Label labels;
|
410
516
|
} ddog_prof_Sample;
|
411
517
|
|
412
|
-
/**
|
413
|
-
* Remember, the data inside of each member is potentially coming from FFI,
|
414
|
-
* so every operation on it is unsafe!
|
415
|
-
*/
|
416
518
|
typedef struct ddog_prof_Slice_Usize {
|
519
|
+
/**
|
520
|
+
* Must be non-null and suitably aligned for the underlying type.
|
521
|
+
*/
|
417
522
|
const uintptr_t *ptr;
|
523
|
+
/**
|
524
|
+
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
525
|
+
* than or equal to [isize::MAX].
|
526
|
+
*/
|
418
527
|
uintptr_t len;
|
419
528
|
} ddog_prof_Slice_Usize;
|
420
529
|
|
@@ -11,6 +11,26 @@
|
|
11
11
|
#include <stdint.h>
|
12
12
|
#include "common.h"
|
13
13
|
|
14
|
+
DDOG_CHECK_RETURN
|
15
|
+
struct ddog_prof_Profile_Result ddog_prof_crashtracker_begin_profiling_op(enum ddog_prof_ProfilingOpTypes op);
|
16
|
+
|
17
|
+
DDOG_CHECK_RETURN
|
18
|
+
struct ddog_prof_Profile_Result ddog_prof_crashtracker_end_profiling_op(enum ddog_prof_ProfilingOpTypes op);
|
19
|
+
|
20
|
+
DDOG_CHECK_RETURN struct ddog_prof_Profile_Result ddog_prof_crashtracker_shutdown(void);
|
21
|
+
|
22
|
+
DDOG_CHECK_RETURN
|
23
|
+
struct ddog_prof_Profile_Result ddog_prof_crashtracker_update_on_fork(struct ddog_prof_CrashtrackerConfiguration config,
|
24
|
+
struct ddog_prof_CrashtrackerMetadata metadata);
|
25
|
+
|
26
|
+
DDOG_CHECK_RETURN struct ddog_prof_Profile_Result ddog_prof_crashtracker_receiver_entry_point(void);
|
27
|
+
|
28
|
+
DDOG_CHECK_RETURN
|
29
|
+
struct ddog_prof_Profile_Result ddog_prof_crashtracker_init(struct ddog_prof_CrashtrackerConfiguration config,
|
30
|
+
struct ddog_prof_CrashtrackerMetadata metadata);
|
31
|
+
|
32
|
+
DDOG_CHECK_RETURN struct ddog_prof_Exporter_Slice_File ddog_prof_Exporter_Slice_File_empty(void);
|
33
|
+
|
14
34
|
/**
|
15
35
|
* Creates an endpoint that uses the agent.
|
16
36
|
* # Arguments
|
@@ -64,20 +84,25 @@ void ddog_prof_Exporter_drop(struct ddog_prof_Exporter *exporter);
|
|
64
84
|
* If you use this parameter, please update the RFC with your use-case, so we can keep track of how this
|
65
85
|
* is getting used.
|
66
86
|
*
|
87
|
+
* For details on the `optional_info_json`, please reference the Datadog-internal
|
88
|
+
* "RFC: Pprof System Info Support".
|
89
|
+
*
|
67
90
|
* # Safety
|
68
91
|
* The `exporter`, `optional_additional_stats`, and `optional_endpoint_stats` args should be
|
69
92
|
* valid objects created by this module.
|
70
|
-
* NULL is allowed for `optional_additional_tags`, `optional_endpoints_stats
|
71
|
-
* `optional_internal_metadata_json`.
|
93
|
+
* NULL is allowed for `optional_additional_tags`, `optional_endpoints_stats`,
|
94
|
+
* `optional_internal_metadata_json` and `optional_info_json`.
|
72
95
|
*/
|
73
96
|
DDOG_CHECK_RETURN
|
74
97
|
struct ddog_prof_Exporter_Request_BuildResult ddog_prof_Exporter_Request_build(struct ddog_prof_Exporter *exporter,
|
75
98
|
struct ddog_Timespec start,
|
76
99
|
struct ddog_Timespec end,
|
77
|
-
struct ddog_prof_Exporter_Slice_File
|
100
|
+
struct ddog_prof_Exporter_Slice_File files_to_compress_and_export,
|
101
|
+
struct ddog_prof_Exporter_Slice_File files_to_export_unmodified,
|
78
102
|
const struct ddog_Vec_Tag *optional_additional_tags,
|
79
103
|
const struct ddog_prof_ProfiledEndpointsStats *optional_endpoints_stats,
|
80
104
|
const ddog_CharSlice *optional_internal_metadata_json,
|
105
|
+
const ddog_CharSlice *optional_info_json,
|
81
106
|
uint64_t timeout_ms);
|
82
107
|
|
83
108
|
/**
|
@@ -170,9 +195,9 @@ void ddog_CancellationToken_drop(struct ddog_CancellationToken *token);
|
|
170
195
|
* and must have the correct number of elements for the slice.
|
171
196
|
*/
|
172
197
|
DDOG_CHECK_RETURN
|
173
|
-
struct
|
174
|
-
|
175
|
-
|
198
|
+
struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_ValueType sample_types,
|
199
|
+
const struct ddog_prof_Period *period,
|
200
|
+
const struct ddog_Timespec *start_time);
|
176
201
|
|
177
202
|
/**
|
178
203
|
* # Safety
|
@@ -197,7 +222,8 @@ void ddog_prof_Profile_drop(struct ddog_prof_Profile *profile);
|
|
197
222
|
*/
|
198
223
|
DDOG_CHECK_RETURN
|
199
224
|
struct ddog_prof_Profile_Result ddog_prof_Profile_add(struct ddog_prof_Profile *profile,
|
200
|
-
struct ddog_prof_Sample sample
|
225
|
+
struct ddog_prof_Sample sample,
|
226
|
+
int64_t timestamp);
|
201
227
|
|
202
228
|
/**
|
203
229
|
* Associate an endpoint to a given local root span id.
|
@@ -303,6 +329,7 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
|
|
303
329
|
|
304
330
|
/**
|
305
331
|
* Serialize the aggregated profile.
|
332
|
+
* Drains the data, and then resets the profile for future use.
|
306
333
|
*
|
307
334
|
* Don't forget to clean up the ok with `ddog_prof_EncodedProfile_drop` or
|
308
335
|
* the error variant with `ddog_Error_drop` when you are done with them.
|
@@ -316,6 +343,7 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
|
|
316
343
|
* under anomalous conditions this may fail as system clocks can be adjusted,
|
317
344
|
* or the programmer accidentally passed an earlier time. The duration of
|
318
345
|
* the serialized profile will be set to zero for these cases.
|
346
|
+
* * `start_time` - Optional start time for the next profile.
|
319
347
|
*
|
320
348
|
* # Safety
|
321
349
|
* The `profile` must point to a valid profile object.
|
@@ -325,7 +353,8 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
|
|
325
353
|
DDOG_CHECK_RETURN
|
326
354
|
struct ddog_prof_Profile_SerializeResult ddog_prof_Profile_serialize(struct ddog_prof_Profile *profile,
|
327
355
|
const struct ddog_Timespec *end_time,
|
328
|
-
const int64_t *duration_nanos
|
356
|
+
const int64_t *duration_nanos,
|
357
|
+
const struct ddog_Timespec *start_time);
|
329
358
|
|
330
359
|
DDOG_CHECK_RETURN struct ddog_Slice_U8 ddog_Vec_U8_as_slice(const struct ddog_Vec_U8 *vec);
|
331
360
|
|
Binary file
|
@@ -10,7 +10,7 @@ includedir=${prefix}/include
|
|
10
10
|
|
11
11
|
Name: datadog_profiling
|
12
12
|
Description: Contains common code used to implement Datadog's Continuous Profilers. (Dynamic linking variant, sets rpath)
|
13
|
-
Version:
|
13
|
+
Version:
|
14
14
|
Requires:
|
15
15
|
Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
|
16
16
|
Libs.private:
|
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: 6.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:
|
11
|
+
date: 2024-02-12 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,20 +19,22 @@ 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-
|
22
|
+
- vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE
|
23
|
+
- vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml
|
24
|
+
- vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE
|
25
|
+
- vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver
|
26
|
+
- vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h
|
27
|
+
- vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h
|
28
|
+
- vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so
|
29
|
+
- vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc
|
30
|
+
- vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE
|
31
|
+
- vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml
|
32
|
+
- vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE
|
33
|
+
- vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver
|
34
|
+
- vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h
|
35
|
+
- vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h
|
36
|
+
- vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so
|
37
|
+
- vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc
|
36
38
|
homepage: https://docs.datadoghq.com/tracing/
|
37
39
|
licenses:
|
38
40
|
- Apache-2.0
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|