libdatadog 2.0.0.1.0-x86_64-linux → 3.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-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +13495 -0
- data/vendor/{libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/common.h +26 -0
- data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h +66 -4
- data/vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +13495 -0
- data/vendor/{libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/common.h +26 -0
- data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h +66 -4
- data/vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +19 -19
- data/vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +0 -1183
- data/vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +0 -1183
- data/vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- /data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
@@ -429,6 +429,32 @@ typedef struct ddog_prof_Sample {
|
|
429
429
|
struct ddog_prof_Slice_Label labels;
|
430
430
|
} ddog_prof_Sample;
|
431
431
|
|
432
|
+
typedef enum ddog_prof_Profile_UpscalingRuleAddResult_Tag {
|
433
|
+
DDOG_PROF_PROFILE_UPSCALING_RULE_ADD_RESULT_OK,
|
434
|
+
DDOG_PROF_PROFILE_UPSCALING_RULE_ADD_RESULT_ERR,
|
435
|
+
} ddog_prof_Profile_UpscalingRuleAddResult_Tag;
|
436
|
+
|
437
|
+
typedef struct ddog_prof_Profile_UpscalingRuleAddResult {
|
438
|
+
ddog_prof_Profile_UpscalingRuleAddResult_Tag tag;
|
439
|
+
union {
|
440
|
+
struct {
|
441
|
+
bool ok;
|
442
|
+
};
|
443
|
+
struct {
|
444
|
+
struct ddog_Error err;
|
445
|
+
};
|
446
|
+
};
|
447
|
+
} ddog_prof_Profile_UpscalingRuleAddResult;
|
448
|
+
|
449
|
+
/**
|
450
|
+
* Remember, the data inside of each member is potentially coming from FFI,
|
451
|
+
* so every operation on it is unsafe!
|
452
|
+
*/
|
453
|
+
typedef struct ddog_prof_Slice_Usize {
|
454
|
+
const uintptr_t *ptr;
|
455
|
+
uintptr_t len;
|
456
|
+
} ddog_prof_Slice_Usize;
|
457
|
+
|
432
458
|
typedef struct ddog_prof_EncodedProfile {
|
433
459
|
struct ddog_Timespec start;
|
434
460
|
struct ddog_Timespec end;
|
@@ -59,17 +59,25 @@ void ddog_prof_Exporter_drop(struct ddog_prof_Exporter *exporter);
|
|
59
59
|
* If successful, builds a `ddog_prof_Exporter_Request` object based on the
|
60
60
|
* profile data supplied. If unsuccessful, it returns an error message.
|
61
61
|
*
|
62
|
+
* For details on the `optional_internal_metadata_json`, please reference the Datadog-internal
|
63
|
+
* "RFC: Attaching internal metadata to pprof profiles".
|
64
|
+
* If you use this parameter, please update the RFC with your use-case, so we can keep track of how this
|
65
|
+
* is getting used.
|
66
|
+
*
|
62
67
|
* # Safety
|
63
|
-
* The `exporter`, `
|
64
|
-
* valid objects created by this module
|
68
|
+
* The `exporter`, `optional_additional_stats`, and `optional_endpoint_stats` args should be
|
69
|
+
* valid objects created by this module.
|
70
|
+
* NULL is allowed for `optional_additional_tags`, `optional_endpoints_stats` and
|
71
|
+
* `optional_internal_metadata_json`.
|
65
72
|
*/
|
66
73
|
DDOG_CHECK_RETURN
|
67
74
|
struct ddog_prof_Exporter_Request_BuildResult ddog_prof_Exporter_Request_build(struct ddog_prof_Exporter *exporter,
|
68
75
|
struct ddog_Timespec start,
|
69
76
|
struct ddog_Timespec end,
|
70
77
|
struct ddog_prof_Exporter_Slice_File files,
|
71
|
-
const struct ddog_Vec_Tag *
|
72
|
-
const struct ddog_prof_ProfiledEndpointsStats *
|
78
|
+
const struct ddog_Vec_Tag *optional_additional_tags,
|
79
|
+
const struct ddog_prof_ProfiledEndpointsStats *optional_endpoints_stats,
|
80
|
+
const ddog_CharSlice *optional_internal_metadata_json,
|
73
81
|
uint64_t timeout_ms);
|
74
82
|
|
75
83
|
/**
|
@@ -229,6 +237,60 @@ void ddog_prof_Profile_add_endpoint_count(struct ddog_prof_Profile *profile,
|
|
229
237
|
ddog_CharSlice endpoint,
|
230
238
|
int64_t value);
|
231
239
|
|
240
|
+
/**
|
241
|
+
* Add a poisson-based upscaling rule which will be use to adjust values and make them
|
242
|
+
* closer to reality.
|
243
|
+
*
|
244
|
+
* # Arguments
|
245
|
+
* * `profile` - a reference to the profile that will contain the samples.
|
246
|
+
* * `offset_values` - offset of the values
|
247
|
+
* * `label_name` - name of the label used to identify sample(s)
|
248
|
+
* * `label_value` - value of the label used to identify sample(s)
|
249
|
+
* * `sum_value_offset` - offset of the value used as a sum (compute the average with `count_value_offset`)
|
250
|
+
* * `count_value_offset` - offset of the value used as a count (compute the average with `sum_value_offset`)
|
251
|
+
* * `sampling_distance` - this is the threshold for this sampling window. This value must not be equal to 0
|
252
|
+
*
|
253
|
+
* # Safety
|
254
|
+
* This function must be called before serialize and must not be called after.
|
255
|
+
* The `profile` ptr must point to a valid Profile object created by this
|
256
|
+
* module.
|
257
|
+
* This call is _NOT_ thread-safe.
|
258
|
+
*/
|
259
|
+
DDOG_CHECK_RETURN
|
260
|
+
struct ddog_prof_Profile_UpscalingRuleAddResult ddog_prof_Profile_add_upscaling_rule_poisson(struct ddog_prof_Profile *profile,
|
261
|
+
struct ddog_prof_Slice_Usize offset_values,
|
262
|
+
ddog_CharSlice label_name,
|
263
|
+
ddog_CharSlice label_value,
|
264
|
+
uintptr_t sum_value_offset,
|
265
|
+
uintptr_t count_value_offset,
|
266
|
+
uint64_t sampling_distance);
|
267
|
+
|
268
|
+
/**
|
269
|
+
* Add a proportional-based upscaling rule which will be use to adjust values and make them
|
270
|
+
* closer to reality.
|
271
|
+
*
|
272
|
+
* # Arguments
|
273
|
+
* * `profile` - a reference to the profile that will contain the samples.
|
274
|
+
* * `offset_values` - offset of the values
|
275
|
+
* * `label_name` - name of the label used to identify sample(s)
|
276
|
+
* * `label_value` - value of the label used to identify sample(s)
|
277
|
+
* * `total_sampled` - number of sampled event (found in the pprof). This value must not be equal to 0
|
278
|
+
* * `total_real` - number of events the profiler actually witnessed. This value must not be equal to 0
|
279
|
+
*
|
280
|
+
* # Safety
|
281
|
+
* This function must be called before serialize and must not be called after.
|
282
|
+
* The `profile` ptr must point to a valid Profile object created by this
|
283
|
+
* module.
|
284
|
+
* This call is _NOT_ thread-safe.
|
285
|
+
*/
|
286
|
+
DDOG_CHECK_RETURN
|
287
|
+
struct ddog_prof_Profile_UpscalingRuleAddResult ddog_prof_Profile_add_upscaling_rule_proportional(struct ddog_prof_Profile *profile,
|
288
|
+
struct ddog_prof_Slice_Usize offset_values,
|
289
|
+
ddog_CharSlice label_name,
|
290
|
+
ddog_CharSlice label_value,
|
291
|
+
uint64_t total_sampled,
|
292
|
+
uint64_t total_real);
|
293
|
+
|
232
294
|
/**
|
233
295
|
* # Safety
|
234
296
|
* Only pass a reference to a valid `ddog_prof_EncodedProfile`, or null. A
|
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: 3.0.0
|
14
14
|
Requires:
|
15
15
|
Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
|
16
16
|
Libs.private:
|