Skip to content

Commit f352621

Browse files
authored
Add baggage to karafka list of propagation styles (#4614)
1 parent 56a587c commit f352621

File tree

5 files changed

+98
-0
lines changed

5 files changed

+98
-0
lines changed

lib/datadog/tracing/contrib/karafka/distributed/propagation.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ def initialize(
3131
Tracing::Distributed::Datadog.new(fetcher: Tracing::Distributed::Fetcher),
3232
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_TRACE_CONTEXT =>
3333
Tracing::Distributed::TraceContext.new(fetcher: Tracing::Distributed::Fetcher),
34+
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_BAGGAGE =>
35+
Tracing::Distributed::Baggage.new(fetcher: Tracing::Distributed::Fetcher),
3436
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_NONE => Tracing::Distributed::None.new
3537
},
3638
propagation_style_inject: propagation_style_inject,

spec/datadog/tracing/contrib/grpc/distributed/propagation_spec.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,22 @@
2222
let(:propagation_style_extract) { ['datadog', 'tracecontext', 'baggage'] }
2323
let(:propagation_extract_first) { false }
2424

25+
it 'contains default inject propagation styles in its propagation styles list' do
26+
expect(propagation.instance_variable_get(:@propagation_styles).keys)
27+
.to include(*Datadog.configuration.tracing.propagation_style_inject)
28+
Datadog.configuration.tracing.propagation_style_inject.each do |style|
29+
expect(propagation.instance_variable_get(:@propagation_styles)[style]).to_not be_nil
30+
end
31+
end
32+
33+
it 'contains default extract propagation styles in its propagation styles list' do
34+
expect(propagation.instance_variable_get(:@propagation_styles).keys)
35+
.to include(*Datadog.configuration.tracing.propagation_style_extract)
36+
Datadog.configuration.tracing.propagation_style_extract.each do |style|
37+
expect(propagation.instance_variable_get(:@propagation_styles)[style]).to_not be_nil
38+
end
39+
end
40+
2541
it_behaves_like 'Distributed tracing propagator' do
2642
subject(:propagator) { propagation }
2743

spec/datadog/tracing/contrib/http/distributed/propagation_spec.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,22 @@
3030
WebMock.disable_net_connect!(allow: agent_url)
3131
end
3232

33+
it 'contains default inject propagation styles in its propagation styles list' do
34+
expect(propagation.instance_variable_get(:@propagation_styles).keys)
35+
.to include(*Datadog.configuration.tracing.propagation_style_inject)
36+
Datadog.configuration.tracing.propagation_style_inject.each do |style|
37+
expect(propagation.instance_variable_get(:@propagation_styles)[style]).to_not be_nil
38+
end
39+
end
40+
41+
it 'contains default extract propagation styles in its propagation styles list' do
42+
expect(propagation.instance_variable_get(:@propagation_styles).keys)
43+
.to include(*Datadog.configuration.tracing.propagation_style_extract)
44+
Datadog.configuration.tracing.propagation_style_extract.each do |style|
45+
expect(propagation.instance_variable_get(:@propagation_styles)[style]).to_not be_nil
46+
end
47+
end
48+
3349
it_behaves_like 'Distributed tracing propagator' do
3450
subject(:propagator) { propagation }
3551
end
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# frozen_string_literal: true
2+
3+
require 'datadog/tracing/contrib/support/spec_helper'
4+
5+
require 'karafka'
6+
require 'datadog'
7+
8+
RSpec.describe Datadog::Tracing::Contrib::Karafka::Distributed::Propagation do
9+
subject(:propagation) do
10+
described_class.new(
11+
propagation_style_inject: Datadog.configuration.tracing.propagation_style_inject,
12+
propagation_style_extract: Datadog.configuration.tracing.propagation_style_extract,
13+
propagation_extract_first: Datadog.configuration.tracing.propagation_extract_first
14+
)
15+
end
16+
17+
it 'contains default inject propagation styles in its propagation styles list' do
18+
expect(propagation.instance_variable_get(:@propagation_styles).keys)
19+
.to include(*Datadog.configuration.tracing.propagation_style_inject)
20+
Datadog.configuration.tracing.propagation_style_inject.each do |style|
21+
expect(propagation.instance_variable_get(:@propagation_styles)[style]).to_not be_nil
22+
end
23+
end
24+
25+
it 'contains default extract propagation styles in its propagation styles list' do
26+
expect(propagation.instance_variable_get(:@propagation_styles).keys)
27+
.to include(*Datadog.configuration.tracing.propagation_style_extract)
28+
Datadog.configuration.tracing.propagation_style_extract.each do |style|
29+
expect(propagation.instance_variable_get(:@propagation_styles)[style]).to_not be_nil
30+
end
31+
end
32+
end
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# frozen_string_literal: true
2+
3+
require 'datadog/tracing/contrib/support/spec_helper'
4+
5+
require 'sidekiq'
6+
require 'datadog'
7+
8+
RSpec.describe Datadog::Tracing::Contrib::Sidekiq::Distributed::Propagation do
9+
subject(:propagation) do
10+
described_class.new(
11+
propagation_style_inject: Datadog.configuration.tracing.propagation_style_inject,
12+
propagation_style_extract: Datadog.configuration.tracing.propagation_style_extract,
13+
propagation_extract_first: Datadog.configuration.tracing.propagation_extract_first
14+
)
15+
end
16+
17+
it 'contains default inject propagation styles in its propagation styles list' do
18+
expect(propagation.instance_variable_get(:@propagation_styles).keys)
19+
.to include(*Datadog.configuration.tracing.propagation_style_inject)
20+
Datadog.configuration.tracing.propagation_style_inject.each do |style|
21+
expect(propagation.instance_variable_get(:@propagation_styles)[style]).to_not be_nil
22+
end
23+
end
24+
25+
it 'contains default extract propagation styles in its propagation styles list' do
26+
expect(propagation.instance_variable_get(:@propagation_styles).keys)
27+
.to include(*Datadog.configuration.tracing.propagation_style_extract)
28+
Datadog.configuration.tracing.propagation_style_extract.each do |style|
29+
expect(propagation.instance_variable_get(:@propagation_styles)[style]).to_not be_nil
30+
end
31+
end
32+
end

0 commit comments

Comments
 (0)