libdatadog 6.0.0.1.0-x86_64-linux → 7.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 (26) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/lib/libdatadog.rb +40 -16
  4. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +15459 -6284
  5. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  6. data/vendor/libdatadog-7.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +895 -0
  7. data/vendor/{libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-7.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/common.h +135 -20
  8. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h +54 -38
  9. data/vendor/libdatadog-7.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +290 -0
  10. data/vendor/libdatadog-7.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  11. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +2 -4
  12. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +15459 -6284
  13. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  14. data/vendor/libdatadog-7.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +895 -0
  15. data/vendor/{libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-7.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/common.h +135 -20
  16. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h +54 -38
  17. data/vendor/libdatadog-7.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h +290 -0
  18. data/vendor/libdatadog-7.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  19. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +2 -4
  20. metadata +22 -18
  21. data/vendor/libdatadog-6.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  22. data/vendor/libdatadog-6.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  23. /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
  24. /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
  25. /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
  26. /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c86d5cb95105ea3a8dc1f1ed3aa5d5f92af7bfb6e7c15a07e33432c12e0d1c1
4
- data.tar.gz: 23ed74c884e40ba554bbbb37563a6f3fa808bc0a7db61b55cce9754bca561b58
3
+ metadata.gz: 69f5b71f06abca95158354afe02975f04be4129fe7728734634754ab0d4795f9
4
+ data.tar.gz: 378dfa5a23cda412039b7e8f33ab9fe30283807886dbc9ef9f859629bb1f7f73
5
5
  SHA512:
6
- metadata.gz: 3d81da56a948b628a1a101553e89feeccb7b2720016960731eb2489e659ec47676210b0ac29e4fef650c8beac37e07d6112d3ff85784352eacc359008b2da7ca
7
- data.tar.gz: 64c9c486919fdb7bab52c127e97c2fc5ac61d30e32c431d54000834d87023e02d8eb8b12a538e4ef63f0710cedb6d218180d909ec86098df7f5c69e22903495f
6
+ metadata.gz: b6c5363178b41c1658f553ff9552e5a9ed5816c44599b061b6843db4eeea416e78c16b27a8e5531b90c38be9c1221ec30617cb504b78ea70548373b325d5d27a
7
+ data.tar.gz: 9f56fd95903126651ed88cee2b6ceeabaf62d86e3eeed0cc5849a803110c526a7d8f8ee98ddb17ed60ea488b92f006dbfcb25c9f3bbe8b67eba8a6a446a4710e
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Libdatadog
4
4
  # Current libdatadog version
5
- LIB_VERSION = "6.0.0"
5
+ LIB_VERSION = "7.0.0"
6
6
 
7
7
  GEM_MAJOR_VERSION = "1"
8
8
  GEM_MINOR_VERSION = "0"
data/lib/libdatadog.rb CHANGED
@@ -9,35 +9,59 @@ module Libdatadog
9
9
  end
10
10
 
11
11
  def self.pkgconfig_folder(pkgconfig_file_name = "datadog_profiling_with_rpath.pc")
12
- current_platform = Gem::Platform.local.to_s
12
+ current_platform = self.current_platform
13
13
 
14
- if RbConfig::CONFIG["arch"].include?("-musl") && !current_platform.include?("-musl")
15
- # Fix/workaround for https://github.com/DataDog/dd-trace-rb/issues/2222
14
+ return unless available_binaries.include?(current_platform)
15
+
16
+ pkgconfig_file = Dir.glob("#{vendor_directory}/#{current_platform}/**/#{pkgconfig_file_name}").first
17
+
18
+ return unless pkgconfig_file
19
+
20
+ File.absolute_path(File.dirname(pkgconfig_file))
21
+ end
22
+
23
+ private_class_method def self.vendor_directory
24
+ ENV["LIBDATADOG_VENDOR_OVERRIDE"] || "#{__dir__}/../vendor/libdatadog-#{Libdatadog::LIB_VERSION}/"
25
+ end
26
+
27
+ def self.current_platform
28
+ platform = Gem::Platform.local.to_s
29
+
30
+ if platform.end_with?("-gnu")
31
+ # In some cases on Linux with glibc the platform includes a -gnu suffix. We normalize it to not have the suffix.
32
+ #
33
+ # Note: This should be platform = platform.delete_suffix("-gnu") but it doesn't work on legacy Rubies; once
34
+ # dd-trace-rb 2.0 is out we can simplify this.
35
+ #
36
+ platform = platform[0..-5]
37
+ end
38
+
39
+ if RbConfig::CONFIG["arch"].include?("-musl") && !platform.include?("-musl")
40
+ # Fix/workaround for https://github.com/datadog/dd-trace-rb/issues/2222
16
41
  #
17
42
  # Old versions of rubygems (for instance 3.0.3) don't properly detect alternative libc implementations on Linux;
18
43
  # in particular for our case, they don't detect musl. (For reference, Rubies older than 2.7 may have shipped with
19
44
  # an affected version of rubygems).
20
45
  # In such cases, we fall back to use RbConfig::CONFIG['arch'] instead.
21
46
  #
22
- # Why not use RbConfig::CONFIG['arch'] always? Because Gem::Platform.local.to_s does some normalization we want
23
- # in other situations -- for instance, it turns `x86_64-linux-gnu` to `x86_64-linux`. So for now we only add this
24
- # workaround in a specific situation where we actually know it is wrong.
47
+ # Why not use RbConfig::CONFIG['arch'] always? Because Gem::Platform.local.to_s does some normalization that seemed
48
+ # useful in the past, although part of it got removed in https://github.com/rubygems/rubygems/pull/5852.
49
+ # For now we only add this workaround in a specific situation where we actually know it is wrong, but in the
50
+ # future it may be worth re-evaluating if we should move away from `Gem::Platform` altogether.
25
51
  #
26
52
  # See also https://github.com/rubygems/rubygems/pull/2922 and https://github.com/rubygems/rubygems/pull/4082
27
53
 
28
- current_platform = RbConfig::CONFIG["arch"]
54
+ RbConfig::CONFIG["arch"]
55
+ else
56
+ platform
29
57
  end
58
+ end
30
59
 
31
- return unless available_binaries.include?(current_platform)
32
-
33
- pkgconfig_file = Dir.glob("#{vendor_directory}/#{current_platform}/**/#{pkgconfig_file_name}").first
34
-
35
- return unless pkgconfig_file
60
+ def self.path_to_crashtracking_receiver_binary
61
+ pkgconfig_folder = self.pkgconfig_folder
36
62
 
37
- File.absolute_path(File.dirname(pkgconfig_file))
38
- end
63
+ return unless pkgconfig_folder
39
64
 
40
- private_class_method def self.vendor_directory
41
- ENV["LIBDATADOG_VENDOR_OVERRIDE"] || "#{__dir__}/../vendor/libdatadog-#{Libdatadog::LIB_VERSION}/"
65
+ File.absolute_path("#{pkgconfig_folder}/../../bin/libdatadog-crashtracking-receiver")
42
66
  end
43
67
  end