libdatadog 4.0.0.1.0-aarch64-linux → 5.0.0.1.0-aarch64-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-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +531 -43
- data/vendor/{libdatadog-4.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-5.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +96 -28
- data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +13 -6
- data/vendor/libdatadog-5.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +531 -43
- data/vendor/{libdatadog-4.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-5.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +96 -28
- data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h +13 -6
- data/vendor/libdatadog-5.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +16 -16
- data/vendor/libdatadog-4.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-4.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- /data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-4.0.0 → libdatadog-5.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
@@ -72,7 +72,13 @@ typedef struct ddog_Error {
|
|
72
72
|
* so every operation on it is unsafe!
|
73
73
|
*/
|
74
74
|
typedef struct ddog_Slice_CChar {
|
75
|
+
/**
|
76
|
+
* Must be non-null and suitably aligned for the underlying type.
|
77
|
+
*/
|
75
78
|
const char *ptr;
|
79
|
+
/**
|
80
|
+
* The number of elements (not bytes) that `.ptr` points to.
|
81
|
+
*/
|
76
82
|
uintptr_t len;
|
77
83
|
} ddog_Slice_CChar;
|
78
84
|
|
@@ -115,6 +121,46 @@ typedef struct ddog_prof_ProfiledEndpointsStats ddog_prof_ProfiledEndpointsStats
|
|
115
121
|
|
116
122
|
typedef struct ddog_prof_Exporter_Request ddog_prof_Exporter_Request;
|
117
123
|
|
124
|
+
/**
|
125
|
+
* Remember, the data inside of each member is potentially coming from FFI,
|
126
|
+
* so every operation on it is unsafe!
|
127
|
+
*/
|
128
|
+
typedef struct ddog_Slice_U8 {
|
129
|
+
/**
|
130
|
+
* Must be non-null and suitably aligned for the underlying type.
|
131
|
+
*/
|
132
|
+
const uint8_t *ptr;
|
133
|
+
/**
|
134
|
+
* The number of elements (not bytes) that `.ptr` points to.
|
135
|
+
*/
|
136
|
+
uintptr_t len;
|
137
|
+
} ddog_Slice_U8;
|
138
|
+
|
139
|
+
/**
|
140
|
+
* Use to represent bytes -- does not need to be valid UTF-8.
|
141
|
+
*/
|
142
|
+
typedef struct ddog_Slice_U8 ddog_ByteSlice;
|
143
|
+
|
144
|
+
typedef struct ddog_prof_Exporter_File {
|
145
|
+
ddog_CharSlice name;
|
146
|
+
ddog_ByteSlice file;
|
147
|
+
} ddog_prof_Exporter_File;
|
148
|
+
|
149
|
+
/**
|
150
|
+
* Remember, the data inside of each member is potentially coming from FFI,
|
151
|
+
* so every operation on it is unsafe!
|
152
|
+
*/
|
153
|
+
typedef struct ddog_prof_Exporter_Slice_File {
|
154
|
+
/**
|
155
|
+
* Must be non-null and suitably aligned for the underlying type.
|
156
|
+
*/
|
157
|
+
const struct ddog_prof_Exporter_File *ptr;
|
158
|
+
/**
|
159
|
+
* The number of elements (not bytes) that `.ptr` points to.
|
160
|
+
*/
|
161
|
+
uintptr_t len;
|
162
|
+
} ddog_prof_Exporter_Slice_File;
|
163
|
+
|
118
164
|
typedef enum ddog_Endpoint_Tag {
|
119
165
|
DDOG_ENDPOINT_AGENT,
|
120
166
|
DDOG_ENDPOINT_AGENTLESS,
|
@@ -177,34 +223,6 @@ typedef struct ddog_Timespec {
|
|
177
223
|
uint32_t nanoseconds;
|
178
224
|
} ddog_Timespec;
|
179
225
|
|
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
226
|
typedef struct ddog_HttpStatus {
|
209
227
|
uint16_t code;
|
210
228
|
} ddog_HttpStatus;
|
@@ -234,6 +252,26 @@ typedef struct ddog_prof_Profile {
|
|
234
252
|
struct ddog_prof_Profile *inner;
|
235
253
|
} ddog_prof_Profile;
|
236
254
|
|
255
|
+
/**
|
256
|
+
* Returned by [ddog_prof_Profile_new].
|
257
|
+
*/
|
258
|
+
typedef enum ddog_prof_Profile_NewResult_Tag {
|
259
|
+
DDOG_PROF_PROFILE_NEW_RESULT_OK,
|
260
|
+
DDOG_PROF_PROFILE_NEW_RESULT_ERR,
|
261
|
+
} ddog_prof_Profile_NewResult_Tag;
|
262
|
+
|
263
|
+
typedef struct ddog_prof_Profile_NewResult {
|
264
|
+
ddog_prof_Profile_NewResult_Tag tag;
|
265
|
+
union {
|
266
|
+
struct {
|
267
|
+
struct ddog_prof_Profile ok;
|
268
|
+
};
|
269
|
+
struct {
|
270
|
+
struct ddog_Error err;
|
271
|
+
};
|
272
|
+
};
|
273
|
+
} ddog_prof_Profile_NewResult;
|
274
|
+
|
237
275
|
typedef struct ddog_prof_ValueType {
|
238
276
|
ddog_CharSlice type_;
|
239
277
|
ddog_CharSlice unit;
|
@@ -244,7 +282,13 @@ typedef struct ddog_prof_ValueType {
|
|
244
282
|
* so every operation on it is unsafe!
|
245
283
|
*/
|
246
284
|
typedef struct ddog_prof_Slice_ValueType {
|
285
|
+
/**
|
286
|
+
* Must be non-null and suitably aligned for the underlying type.
|
287
|
+
*/
|
247
288
|
const struct ddog_prof_ValueType *ptr;
|
289
|
+
/**
|
290
|
+
* The number of elements (not bytes) that `.ptr` points to.
|
291
|
+
*/
|
248
292
|
uintptr_t len;
|
249
293
|
} ddog_prof_Slice_ValueType;
|
250
294
|
|
@@ -347,7 +391,13 @@ typedef struct ddog_prof_Location {
|
|
347
391
|
* so every operation on it is unsafe!
|
348
392
|
*/
|
349
393
|
typedef struct ddog_prof_Slice_Location {
|
394
|
+
/**
|
395
|
+
* Must be non-null and suitably aligned for the underlying type.
|
396
|
+
*/
|
350
397
|
const struct ddog_prof_Location *ptr;
|
398
|
+
/**
|
399
|
+
* The number of elements (not bytes) that `.ptr` points to.
|
400
|
+
*/
|
351
401
|
uintptr_t len;
|
352
402
|
} ddog_prof_Slice_Location;
|
353
403
|
|
@@ -356,7 +406,13 @@ typedef struct ddog_prof_Slice_Location {
|
|
356
406
|
* so every operation on it is unsafe!
|
357
407
|
*/
|
358
408
|
typedef struct ddog_Slice_I64 {
|
409
|
+
/**
|
410
|
+
* Must be non-null and suitably aligned for the underlying type.
|
411
|
+
*/
|
359
412
|
const int64_t *ptr;
|
413
|
+
/**
|
414
|
+
* The number of elements (not bytes) that `.ptr` points to.
|
415
|
+
*/
|
360
416
|
uintptr_t len;
|
361
417
|
} ddog_Slice_I64;
|
362
418
|
|
@@ -384,7 +440,13 @@ typedef struct ddog_prof_Label {
|
|
384
440
|
* so every operation on it is unsafe!
|
385
441
|
*/
|
386
442
|
typedef struct ddog_prof_Slice_Label {
|
443
|
+
/**
|
444
|
+
* Must be non-null and suitably aligned for the underlying type.
|
445
|
+
*/
|
387
446
|
const struct ddog_prof_Label *ptr;
|
447
|
+
/**
|
448
|
+
* The number of elements (not bytes) that `.ptr` points to.
|
449
|
+
*/
|
388
450
|
uintptr_t len;
|
389
451
|
} ddog_prof_Slice_Label;
|
390
452
|
|
@@ -414,7 +476,13 @@ typedef struct ddog_prof_Sample {
|
|
414
476
|
* so every operation on it is unsafe!
|
415
477
|
*/
|
416
478
|
typedef struct ddog_prof_Slice_Usize {
|
479
|
+
/**
|
480
|
+
* Must be non-null and suitably aligned for the underlying type.
|
481
|
+
*/
|
417
482
|
const uintptr_t *ptr;
|
483
|
+
/**
|
484
|
+
* The number of elements (not bytes) that `.ptr` points to.
|
485
|
+
*/
|
418
486
|
uintptr_t len;
|
419
487
|
} ddog_prof_Slice_Usize;
|
420
488
|
|
@@ -11,6 +11,8 @@
|
|
11
11
|
#include <stdint.h>
|
12
12
|
#include "common.h"
|
13
13
|
|
14
|
+
DDOG_CHECK_RETURN struct ddog_prof_Exporter_Slice_File ddog_prof_Exporter_Slice_File_empty(void);
|
15
|
+
|
14
16
|
/**
|
15
17
|
* Creates an endpoint that uses the agent.
|
16
18
|
* # Arguments
|
@@ -74,7 +76,8 @@ DDOG_CHECK_RETURN
|
|
74
76
|
struct ddog_prof_Exporter_Request_BuildResult ddog_prof_Exporter_Request_build(struct ddog_prof_Exporter *exporter,
|
75
77
|
struct ddog_Timespec start,
|
76
78
|
struct ddog_Timespec end,
|
77
|
-
struct ddog_prof_Exporter_Slice_File
|
79
|
+
struct ddog_prof_Exporter_Slice_File files_to_compress_and_export,
|
80
|
+
struct ddog_prof_Exporter_Slice_File files_to_export_unmodified,
|
78
81
|
const struct ddog_Vec_Tag *optional_additional_tags,
|
79
82
|
const struct ddog_prof_ProfiledEndpointsStats *optional_endpoints_stats,
|
80
83
|
const ddog_CharSlice *optional_internal_metadata_json,
|
@@ -170,9 +173,9 @@ void ddog_CancellationToken_drop(struct ddog_CancellationToken *token);
|
|
170
173
|
* and must have the correct number of elements for the slice.
|
171
174
|
*/
|
172
175
|
DDOG_CHECK_RETURN
|
173
|
-
struct
|
174
|
-
|
175
|
-
|
176
|
+
struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_ValueType sample_types,
|
177
|
+
const struct ddog_prof_Period *period,
|
178
|
+
const struct ddog_Timespec *start_time);
|
176
179
|
|
177
180
|
/**
|
178
181
|
* # Safety
|
@@ -197,7 +200,8 @@ void ddog_prof_Profile_drop(struct ddog_prof_Profile *profile);
|
|
197
200
|
*/
|
198
201
|
DDOG_CHECK_RETURN
|
199
202
|
struct ddog_prof_Profile_Result ddog_prof_Profile_add(struct ddog_prof_Profile *profile,
|
200
|
-
struct ddog_prof_Sample sample
|
203
|
+
struct ddog_prof_Sample sample,
|
204
|
+
int64_t timestamp);
|
201
205
|
|
202
206
|
/**
|
203
207
|
* Associate an endpoint to a given local root span id.
|
@@ -303,6 +307,7 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
|
|
303
307
|
|
304
308
|
/**
|
305
309
|
* Serialize the aggregated profile.
|
310
|
+
* Drains the data, and then resets the profile for future use.
|
306
311
|
*
|
307
312
|
* Don't forget to clean up the ok with `ddog_prof_EncodedProfile_drop` or
|
308
313
|
* the error variant with `ddog_Error_drop` when you are done with them.
|
@@ -316,6 +321,7 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
|
|
316
321
|
* under anomalous conditions this may fail as system clocks can be adjusted,
|
317
322
|
* or the programmer accidentally passed an earlier time. The duration of
|
318
323
|
* the serialized profile will be set to zero for these cases.
|
324
|
+
* * `start_time` - Optional start time for the next profile.
|
319
325
|
*
|
320
326
|
* # Safety
|
321
327
|
* The `profile` must point to a valid profile object.
|
@@ -325,7 +331,8 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
|
|
325
331
|
DDOG_CHECK_RETURN
|
326
332
|
struct ddog_prof_Profile_SerializeResult ddog_prof_Profile_serialize(struct ddog_prof_Profile *profile,
|
327
333
|
const struct ddog_Timespec *end_time,
|
328
|
-
const int64_t *duration_nanos
|
334
|
+
const int64_t *duration_nanos,
|
335
|
+
const struct ddog_Timespec *start_time);
|
329
336
|
|
330
337
|
DDOG_CHECK_RETURN struct ddog_Slice_U8 ddog_Vec_U8_as_slice(const struct ddog_Vec_U8 *vec);
|
331
338
|
|
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:
|