ddtrace 1.23.1 → 1.23.2
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 836f8f52564c86b8ee1a4681309d3d168b1689f3742dfed4d1a8171e23852ffa
|
4
|
+
data.tar.gz: f0ad632313b36e6550e33f952da8e7ea89349fd8abc2122f41d649292a700028
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1021b4efd906f5cf362e27be17249ce82fad3100b62b9a39ba2fd65d508c07ac520cb94971d6986a5171d1575a7fc8e219ed2dc4785166d0bd0ec774cd447d19
|
7
|
+
data.tar.gz: 6ef6b7f391bb98e8e7f039cd72d6df56ee821df539803d3398ef7aaebe2c414eef87f4c2f0cf361ef3a066faf0490bb4b75831563a17729d11115c84243ab349
|
data/CHANGELOG.md
CHANGED
@@ -2,11 +2,17 @@
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
+
## [1.23.2] - 2024-06-13
|
6
|
+
|
7
|
+
### Fixed
|
8
|
+
|
9
|
+
* Profiling: Fix rpath for linking to libdatadog when loading from extension dir ([#3683][])
|
10
|
+
|
5
11
|
## [1.23.1] - 2024-06-06
|
6
12
|
|
7
13
|
### Fixed
|
8
14
|
|
9
|
-
AppSec: Fix undefined method error when Tracing disabled ([#3650][])
|
15
|
+
* AppSec: Fix undefined method error when Tracing disabled ([#3650][])
|
10
16
|
|
11
17
|
## [1.23.0] - 2024-05-09
|
12
18
|
|
@@ -2820,7 +2826,8 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
2820
2826
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
2821
2827
|
|
2822
2828
|
|
2823
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.
|
2829
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.2...master
|
2830
|
+
[1.23.2]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.1...v1.23.2
|
2824
2831
|
[1.23.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.0...v1.23.1
|
2825
2832
|
[1.23.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.22.0...v1.23.0
|
2826
2833
|
[1.22.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v1.22.0
|
@@ -4134,6 +4141,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
4134
4141
|
[#3619]: https://github.com/DataDog/dd-trace-rb/issues/3619
|
4135
4142
|
[#3623]: https://github.com/DataDog/dd-trace-rb/issues/3623
|
4136
4143
|
[#3650]: https://github.com/DataDog/dd-trace-rb/issues/3650
|
4144
|
+
[#3683]: https://github.com/DataDog/dd-trace-rb/issues/3683
|
4137
4145
|
[@AdrianLC]: https://github.com/AdrianLC
|
4138
4146
|
[@Azure7111]: https://github.com/Azure7111
|
4139
4147
|
[@BabyGroot]: https://github.com/BabyGroot
|
@@ -4285,4 +4293,4 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
4285
4293
|
[@y-yagi]: https://github.com/y-yagi
|
4286
4294
|
[@yujideveloper]: https://github.com/yujideveloper
|
4287
4295
|
[@yukimurasawa]: https://github.com/yukimurasawa
|
4288
|
-
[@zachmccormick]: https://github.com/zachmccormick
|
4296
|
+
[@zachmccormick]: https://github.com/zachmccormick
|
@@ -225,13 +225,15 @@ unless have_type('atomic_int', ['stdatomic.h'])
|
|
225
225
|
skip_building_extension!(Datadog::Profiling::NativeExtensionHelpers::Supported::COMPILER_ATOMIC_MISSING)
|
226
226
|
end
|
227
227
|
|
228
|
-
# See comments on the helper
|
228
|
+
# See comments on the helper methods being used for why we need to additionally set this.
|
229
229
|
# The extremely excessive escaping around ORIGIN below seems to be correct and was determined after a lot of
|
230
230
|
# experimentation. We need to get these special characters across a lot of tools untouched...
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
231
|
+
extra_relative_rpaths = [
|
232
|
+
Datadog::Profiling::NativeExtensionHelpers.libdatadog_folder_relative_to_native_lib_folder,
|
233
|
+
*Datadog::Profiling::NativeExtensionHelpers.libdatadog_folder_relative_to_ruby_extensions_folders,
|
234
|
+
]
|
235
|
+
extra_relative_rpaths.each { |folder| $LDFLAGS += " -Wl,-rpath,$$$\\\\{ORIGIN\\}/#{folder.to_str}" }
|
236
|
+
Logging.message("[datadog] After pkg-config $LDFLAGS were set to: #{$LDFLAGS.inspect}\n")
|
235
237
|
|
236
238
|
# Tag the native extension library with the Ruby version and Ruby platform.
|
237
239
|
# This makes it easier for development (avoids "oops I forgot to rebuild when I switched my Ruby") and ensures that
|
@@ -67,6 +67,52 @@ module Datadog
|
|
67
67
|
Pathname.new(libdatadog_lib_folder).relative_path_from(Pathname.new(profiling_native_lib_folder)).to_s
|
68
68
|
end
|
69
69
|
|
70
|
+
# In https://github.com/DataDog/dd-trace-rb/pull/3582 we got a report of a customer for which the native extension
|
71
|
+
# only got installed into the extensions folder.
|
72
|
+
#
|
73
|
+
# But then this fix was not enough to fully get them moving because then they started to see the issue from
|
74
|
+
# https://github.com/DataDog/dd-trace-rb/issues/2067 / https://github.com/DataDog/dd-trace-rb/pull/2125 :
|
75
|
+
#
|
76
|
+
# > Profiling was requested but is not supported, profiling disabled: There was an error loading the profiling
|
77
|
+
# > native extension due to 'RuntimeError Failure to load datadog_profiling_native_extension.3.2.2_x86_64-linux
|
78
|
+
# > due to libdatadog_profiling.so: cannot open shared object file: No such file or directory
|
79
|
+
#
|
80
|
+
# The problem is that when loading the native extension from the extensions directory, the relative rpath we add
|
81
|
+
# with the #libdatadog_folder_relative_to_native_lib_folder helper above is not correct, we need to add a relative
|
82
|
+
# rpath to the extensions directory.
|
83
|
+
#
|
84
|
+
# So how do we find the full path where the native extension is placed?
|
85
|
+
# * From https://github.com/ruby/ruby/blob/83f02d42e0a3c39661dc99c049ab9a70ff227d5b/lib/bundler/runtime.rb#L166
|
86
|
+
# `extension_dirs = Dir["#{Gem.dir}/extensions/*/*/*"] + Dir["#{Gem.dir}/bundler/gems/extensions/*/*/*"]`
|
87
|
+
# we get that's in one of two fixed subdirectories of `Gem.dir`
|
88
|
+
# * From https://github.com/ruby/ruby/blob/83f02d42e0a3c39661dc99c049ab9a70ff227d5b/lib/rubygems/basic_specification.rb#L111-L115
|
89
|
+
# we get the structure of the subdirectory (platform/extension_api_version/gem_and_version)
|
90
|
+
#
|
91
|
+
# Thus, `Gem.dir` of `/var/app/current/vendor/bundle/ruby/3.2.0` becomes (for instance)
|
92
|
+
# `/var/app/current/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/datadog-2.0.0/` or
|
93
|
+
# `/var/app/current/vendor/bundle/ruby/3.2.0/bundler/gems/extensions/x86_64-linux/3.2.0/datadog-2.0.0/`
|
94
|
+
#
|
95
|
+
# We then compute the relative path between these folders and the libdatadog folder, and use that as a relative path.
|
96
|
+
def self.libdatadog_folder_relative_to_ruby_extensions_folders(
|
97
|
+
gem_dir: Gem.dir,
|
98
|
+
libdatadog_pkgconfig_folder: Libdatadog.pkgconfig_folder
|
99
|
+
)
|
100
|
+
return unless libdatadog_pkgconfig_folder
|
101
|
+
|
102
|
+
# For the purposes of calculating a folder relative to the other, we don't actually NEED to fill in the
|
103
|
+
# platform, extension_api_version and gem version. We're basically just after how many folders it is deep from
|
104
|
+
# the Gem.dir.
|
105
|
+
expected_ruby_extensions_folders = [
|
106
|
+
"#{gem_dir}/extensions/platform/extension_api_version/datadog_version/",
|
107
|
+
"#{gem_dir}/bundler/gems/extensions/platform/extension_api_version/datadog_version/",
|
108
|
+
]
|
109
|
+
libdatadog_lib_folder = "#{libdatadog_pkgconfig_folder}/../"
|
110
|
+
|
111
|
+
expected_ruby_extensions_folders.map do |folder|
|
112
|
+
Pathname.new(libdatadog_lib_folder).relative_path_from(Pathname.new(folder)).to_s
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
70
116
|
# Used to check if profiler is supported, including user-visible clear messages explaining why their
|
71
117
|
# system may not be supported.
|
72
118
|
module Supported
|
data/lib/ddtrace/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ddtrace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.23.
|
4
|
+
version: 1.23.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Datadog, Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06-
|
11
|
+
date: 2024-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -81,6 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.8.1
|
83
83
|
description: |
|
84
|
+
NOTICE: This gem has been renamed to `datadog` since 2.0.0. Please use `datadog` instead of `ddtrace`.
|
84
85
|
ddtrace is Datadog's tracing client for Ruby. It is used to trace requests
|
85
86
|
as they flow across web servers, databases and microservices so that developers
|
86
87
|
have great visiblity into bottlenecks and troublesome requests.
|
@@ -879,9 +880,9 @@ licenses:
|
|
879
880
|
- Apache-2.0
|
880
881
|
metadata:
|
881
882
|
allowed_push_host: https://rubygems.org
|
882
|
-
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v1.23.
|
883
|
-
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v1.23.
|
884
|
-
post_install_message:
|
883
|
+
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v1.23.2/CHANGELOG.md
|
884
|
+
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v1.23.2
|
885
|
+
post_install_message:
|
885
886
|
rdoc_options: []
|
886
887
|
require_paths:
|
887
888
|
- lib
|
@@ -899,8 +900,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
899
900
|
- !ruby/object:Gem::Version
|
900
901
|
version: 2.0.0
|
901
902
|
requirements: []
|
902
|
-
rubygems_version: 3.4.
|
903
|
-
signing_key:
|
903
|
+
rubygems_version: 3.4.10
|
904
|
+
signing_key:
|
904
905
|
specification_version: 4
|
905
906
|
summary: Datadog tracing code for your Ruby applications
|
906
907
|
test_files: []
|