libdatadog 2.0.0.1.0-x86_64-linux → 3.0.0.1.0-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (21) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +13495 -0
  4. 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
  5. 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
  6. data/vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  7. 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
  8. data/vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +13495 -0
  9. 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
  10. 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
  11. data/vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  12. 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
  13. metadata +19 -19
  14. data/vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +0 -1183
  15. data/vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  16. data/vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +0 -1183
  17. data/vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  18. /data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
  19. /data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
  20. /data/vendor/{libdatadog-2.0.0 → libdatadog-3.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
  21. /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`, `additional_stats`, and `endpoint_stats` args should be
64
- * valid objects created by this module, except NULL is allowed.
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 *additional_tags,
72
- const struct ddog_prof_ProfiledEndpointsStats *endpoints_stats,
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
@@ -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: 2.0.0
13
+ Version: 3.0.0
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: 2.0.0.1.0
4
+ version: 3.0.0.1.0
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Datadog, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-03 00:00:00.000000000 Z
11
+ date: 2023-07-05 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,20 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - lib/libdatadog.rb
21
21
  - lib/libdatadog/version.rb
22
- - vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE
23
- - vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml
24
- - vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE
25
- - vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h
26
- - vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h
27
- - vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so
28
- - vendor/libdatadog-2.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc
29
- - vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE
30
- - vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml
31
- - vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE
32
- - vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h
33
- - vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h
34
- - vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so
35
- - vendor/libdatadog-2.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc
22
+ - vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE
23
+ - vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml
24
+ - vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE
25
+ - vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h
26
+ - vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h
27
+ - vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so
28
+ - vendor/libdatadog-3.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc
29
+ - vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE
30
+ - vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml
31
+ - vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE
32
+ - vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h
33
+ - vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h
34
+ - vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so
35
+ - vendor/libdatadog-3.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc
36
36
  homepage: https://docs.datadoghq.com/tracing/
37
37
  licenses:
38
38
  - Apache-2.0
@@ -41,7 +41,7 @@ metadata:
41
41
  homepage_uri: https://docs.datadoghq.com/tracing/
42
42
  source_code_uri: https://github.com/datadog/libdatadog/tree/main/ruby
43
43
  rubygems_mfa_required: 'true'
44
- post_install_message:
44
+ post_install_message:
45
45
  rdoc_options: []
46
46
  require_paths:
47
47
  - lib
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
57
  version: '0'
58
58
  requirements: []
59
59
  rubygems_version: 3.3.26
60
- signing_key:
60
+ signing_key:
61
61
  specification_version: 4
62
62
  summary: Library of common code used by Datadog Continuous Profiler for Ruby
63
63
  test_files: []