Skip to content

Commit a98b4bb

Browse files
authored
Merge pull request #4132 from envato/ddtrace
Bump `ddtrace` from 0.48.0 to 1.23.3
2 parents 31f4c1c + f1c4f0e commit a98b4bb

File tree

4 files changed

+66
-39
lines changed

4 files changed

+66
-39
lines changed

Gemfile.lock

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,16 @@ GEM
314314
crass (1.0.6)
315315
csv (3.3.2)
316316
dalli (3.2.8)
317+
datadog-ci (0.8.3)
318+
msgpack
317319
date (3.4.1)
318-
ddtrace (0.48.0)
319-
ffi (~> 1.0)
320+
ddtrace (1.23.3)
321+
datadog-ci (~> 0.8.1)
322+
debase-ruby_core_source (= 3.3.1)
323+
libdatadog (~> 7.0.0.1.0)
324+
libddwaf (~> 1.14.0.0.0)
320325
msgpack
326+
debase-ruby_core_source (3.3.1)
321327
debug_inspector (1.2.0)
322328
diffy (3.4.3)
323329
dogstatsd-ruby (5.6.5)
@@ -412,6 +418,19 @@ GEM
412418
language_server-protocol (3.17.0.4)
413419
large_object_store (1.8.0)
414420
zstd-ruby (~> 1.5.5)
421+
libdatadog (7.0.0.1.0)
422+
libdatadog (7.0.0.1.0-aarch64-linux)
423+
libdatadog (7.0.0.1.0-x86_64-linux)
424+
libddwaf (1.14.0.0.0)
425+
ffi (~> 1.0)
426+
libddwaf (1.14.0.0.0-aarch64-linux)
427+
ffi (~> 1.0)
428+
libddwaf (1.14.0.0.0-arm64-darwin)
429+
ffi (~> 1.0)
430+
libddwaf (1.14.0.0.0-x86_64-darwin)
431+
ffi (~> 1.0)
432+
libddwaf (1.14.0.0.0-x86_64-linux)
433+
ffi (~> 1.0)
415434
llhttp-ffi (0.5.1)
416435
ffi-compiler (~> 1.0)
417436
rake (~> 13.0)
@@ -861,8 +880,10 @@ CHECKSUMS
861880
crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
862881
csv (3.3.2) sha256=6ff0c135e65e485d1864dde6c1703b60d34cc9e19bed8452834a0b28a519bd4e
863882
dalli (3.2.8) sha256=2e63595084d91fae2655514a02c5d4fc0f16c0799893794abe23bf628bebaaa5
883+
datadog-ci (0.8.3) sha256=6e78c03aa2524476dc99b969a7c3154195d1d84a912a21707e7f5c17783e03f9
864884
date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f
865-
ddtrace (0.48.0) sha256=4642a55299e557423cb745c597fee57602a2b846fe618f10f168971e87285573
885+
ddtrace (1.23.3) sha256=4bec8dcbd75ac4d3c524274d596daf1dac5b5bdd3d6f1187a5c1e2b1aab233e3
886+
debase-ruby_core_source (3.3.1) sha256=ed904cae290edf0cf274ad707f8981bf1cefad8081e78d4bb71be2a483bc2c08
866887
debug_inspector (1.2.0) sha256=9bdfa02eebc3da163833e6a89b154084232f5766087e59573b70521c77ea68a2
867888
diffy (3.4.3) sha256=4264b9e7db00d1cd426fcd32e36565779163cedc2340a95b0e6f025e71f9aaa7
868889
dogstatsd-ruby (5.6.5) sha256=691d87b9d4134fb491491ab35d1d92e56774c1bb1796e0f4a77fdb0cfa435f0c
@@ -910,6 +931,14 @@ CHECKSUMS
910931
kubeclient (4.12.0) sha256=8610b90f8c767303a633b0aafa53d9f61af03f5d9fca96fc0f21380843c309bd
911932
language_server-protocol (3.17.0.4) sha256=c484626478664fd13482d8180947c50a8590484b1258b99b7aedb3b69df89669
912933
large_object_store (1.8.0) sha256=9bea2f6f7779182400c6a4c7921de230ac24aff986d5d9f4736b13228d6015bf
934+
libdatadog (7.0.0.1.0) sha256=b4321485dd0f664ad43540cacb5ace0fedba064ad978f97510172c1ad6940316
935+
libdatadog (7.0.0.1.0-aarch64-linux) sha256=f38b4b3ce5ad11dee395a687435491f22fde34e4854f6d447dc5dcc1e40fa15b
936+
libdatadog (7.0.0.1.0-x86_64-linux) sha256=b961f0a78efa7881bb472828b17a59f60cc1778dc878a440ecbf86488a8d782e
937+
libddwaf (1.14.0.0.0) sha256=b91ea9675f7d79d1cd10dd6513e3706760ac442cb8902164fbcef79b7082a8fd
938+
libddwaf (1.14.0.0.0-aarch64-linux) sha256=549f83ba339afb0e500bd9f4c43459e274d42f5736a18d347ba2007be026649c
939+
libddwaf (1.14.0.0.0-arm64-darwin) sha256=cd3c84d58b8f77f93ebb17e6ceb1cfd257c8d3a3a1ea558a7fc14d92f697cc2b
940+
libddwaf (1.14.0.0.0-x86_64-darwin) sha256=33017c057fd6b4948ef4577c4a13bc89d878541961b205309fac1e71516433ff
941+
libddwaf (1.14.0.0.0-x86_64-linux) sha256=030640a4158ae05f9276cc1e09bfe9d19dda5af26703235cf17cf3752f1985b1
913942
llhttp-ffi (0.5.1) sha256=9a25a7fc19311f691a78c9c0ac0fbf4675adbd0cca74310228fdf841018fa7bc
914943
logger (1.6.6) sha256=dd618d24e637715472732e7eed02e33cfbdf56deaad225edd0f1f89d38024017
915944
lograge (0.14.0) sha256=42371a75823775f166f727639f5ddce73dd149452a55fc94b90c303213dc9ae1

plugins/datadog_tracer/config/initializers/datadog_tracer.rb

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,33 @@
88

99
require 'ddtrace'
1010
Datadog.configure do |c|
11-
# Tracer
12-
c.tracer(
13-
hostname: ENV['STATSD_HOST'] || '127.0.0.1',
14-
tags: {
15-
env: ENV['RAILS_ENV'],
16-
'rails.version': Rails.version,
17-
'ruby.version': RUBY_VERSION
18-
}
19-
)
20-
21-
c.use :rails,
22-
service_name: 'samson',
23-
controller_service: 'samson-rails-controller',
24-
cache_service: 'samson-cache',
25-
database_service: 'samson-mysql',
26-
distributed_tracing: true
27-
28-
c.use :faraday, service_name: 'samson-faraday'
29-
c.use :dalli, service_name: 'samson-dalli'
11+
c.agent.host = ENV['STATSD_HOST'] || '127.0.0.1'
12+
c.tags = {
13+
env: ENV['RAILS_ENV'],
14+
'rails.version': Rails.version,
15+
'ruby.version': RUBY_VERSION
16+
}
17+
18+
c.service = 'samson'
19+
20+
c.tracing.instrument :rails
21+
c.tracing.instrument :action_pack, service_name: 'samson-rails-controller'
22+
c.tracing.instrument :active_support, cache_service: 'samson-cache'
23+
c.tracing.instrument :active_record, service_name: 'samson-mysql'
24+
25+
c.tracing.instrument :faraday, service_name: 'samson-faraday'
26+
c.tracing.instrument :dalli, service_name: 'samson-dalli'
3027

3128
require 'aws-sdk-ecr'
32-
c.use :aws, service_name: 'samson-aws'
29+
c.tracing.instrument :aws, service_name: 'samson-aws'
3330
end
3431

3532
# Span Filters
3633
# Filter out the health checks, version checks, and diagnostics
37-
uninteresting_controller_filter = Datadog::Pipeline::SpanFilter.new do |span|
34+
uninteresting_controller_filter = Datadog::Tracing::Pipeline::SpanFilter.new do |span|
3835
span.name == 'rack.request' &&
3936
SamsonDatadogTracer::IGNORED_URLS.any? { |path| span.get_tag('http.url').include?(path) }
4037
end
4138

42-
Datadog::Pipeline.before_flush(uninteresting_controller_filter)
39+
Datadog::Tracing.before_flush(uninteresting_controller_filter)
4340
end

plugins/datadog_tracer/lib/samson_datadog_tracer/samson_plugin.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def enabled?
1111
# We are not using super to make running newrelic (which uses alias) and datadog possible
1212
def trace_method(klass, method)
1313
wrap_method klass, method, "apm_tracer" do |&block|
14-
Datadog.tracer.trace("#{klass}###{method}", &block)
14+
Datadog::Tracing.trace("#{klass}###{method}", &block)
1515
end
1616
end
1717

@@ -45,7 +45,7 @@ def method_visibility(klass, method)
4545

4646
Samson::Hooks.callback :trace_scope do |scope|
4747
if SamsonDatadogTracer.enabled?
48-
->(&block) { Datadog.tracer.trace("Custom/Hooks/#{scope}", &block) }
48+
->(&block) { Datadog::Tracing.trace("Custom/Hooks/#{scope}", &block) }
4949
end
5050
end
5151

plugins/datadog_tracer/test/samson_datadog_tracer/samson_plugin_test.rb

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
11
# frozen_string_literal: true
22
require_relative "../test_helper"
3+
require 'ddtrace'
34

45
SingleCov.covered!
56

67
describe SamsonDatadogTracer do
7-
let(:fake_tracer) do
8-
Class.new do
9-
def self.trace(*)
10-
yield
11-
end
12-
end
13-
end
14-
158
describe ".enabled?" do
169
it "is false by default" do
1710
refute SamsonDatadogTracer.enabled?
@@ -51,10 +44,18 @@ def pri_method
5144
end.new
5245
end
5346

54-
it "wraps methods in a trace call" do
55-
Datadog.expects(:tracer).times(3).returns(fake_tracer)
47+
it "wraps public method in a trace call" do
48+
Datadog::Tracing.expects(:trace).yields.returns(:pub)
5649
instance.send(:pub_method).must_equal(:pub)
50+
end
51+
52+
it "wraps protected method in a trace call" do
53+
Datadog::Tracing.expects(:trace).yields.returns(:pro)
5754
instance.send(:pro_method).must_equal(:pro)
55+
end
56+
57+
it "wraps private method in a trace call" do
58+
Datadog::Tracing.expects(:trace).yields.returns(:pri)
5859
instance.send(:pri_method).must_equal(:pri)
5960
end
6061

@@ -111,13 +112,13 @@ def pri_method
111112

112113
describe "trace_scope hook" do
113114
it "skips tracer when disabled" do
114-
Datadog.expects(:tracer).never
115+
Datadog::Tracing.expects(:trace).never
115116
Samson::PerformanceTracer.trace_execution_scoped(:foo) { 1 }.must_equal 1
116117
end
117118

118119
it "trigger tracer when enabled" do
119120
with_env DATADOG_TRACER: "1" do
120-
Datadog.expects(:tracer).returns(fake_tracer)
121+
Datadog::Tracing.expects(:trace).yields.returns(1)
121122
Samson::PerformanceTracer.trace_execution_scoped(:foo) { 1 }.must_equal 1
122123
end
123124
end

0 commit comments

Comments
 (0)