freddy 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/freddy/delivery.rb +5 -6
- data/lib/freddy/version.rb +1 -1
- data/spec/integration/tracing_spec.rb +31 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ccc6957f658f70ad21c03dbdd3a1477ae0e84cbb3c91c18b127fea5b02c2e67
|
4
|
+
data.tar.gz: d6f766526c1d60f8f324846cb92de6c284e3f22357545fc0590bba93ab8726e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b3a9b5de12182558c09cad3f029fec1ab221688a56c6473d6b7fe110d55ea3d0fcf6f31106798190f54ef4ba8a362928d82c983eca23c8a7b6c32cede406e18
|
7
|
+
data.tar.gz: 3f0e57546ad9671ec00381a4da2b12c2e574d4a2d807a9929d65d2f81887dd3318f94a7a3bc4a4a388b4745a9576ae3648acebe6ecd634b70a1d2e605a6072e1
|
data/lib/freddy/delivery.rb
CHANGED
@@ -35,12 +35,11 @@ class Freddy
|
|
35
35
|
links = []
|
36
36
|
links << OpenTelemetry::Trace::Link.new(producer_span_context) if producer_span_context.valid?
|
37
37
|
|
38
|
-
|
39
|
-
|
40
|
-
# So even though the root trace could finish before anything here
|
41
|
-
# starts executing, we'll continue with the root trace here as well.
|
42
|
-
OpenTelemetry::Context.with_current(producer_context) do
|
38
|
+
root_span = Freddy.tracer.start_root_span(name, attributes: span_attributes, links: links, kind: kind)
|
39
|
+
OpenTelemetry::Trace.with_span(root_span) do
|
43
40
|
Freddy.tracer.in_span(name, attributes: span_attributes, links: links, kind: kind, &block)
|
41
|
+
ensure
|
42
|
+
root_span.finish
|
44
43
|
end
|
45
44
|
else
|
46
45
|
OpenTelemetry::Context.with_current(producer_context) do
|
@@ -60,7 +59,7 @@ class Freddy
|
|
60
59
|
OpenTelemetry::SemanticConventions::Trace::MESSAGING_DESTINATION => @exchange,
|
61
60
|
OpenTelemetry::SemanticConventions::Trace::MESSAGING_DESTINATION_KIND => destination_kind,
|
62
61
|
OpenTelemetry::SemanticConventions::Trace::MESSAGING_RABBITMQ_ROUTING_KEY => @routing_key,
|
63
|
-
OpenTelemetry::SemanticConventions::Trace::MESSAGING_OPERATION => '
|
62
|
+
OpenTelemetry::SemanticConventions::Trace::MESSAGING_OPERATION => 'process'
|
64
63
|
}
|
65
64
|
|
66
65
|
# There's no correlation_id when a message was sent using
|
data/lib/freddy/version.rb
CHANGED
@@ -106,11 +106,41 @@ describe 'Tracing' do
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
|
+
context 'when receiving a broadcast' do
|
110
|
+
let(:freddy) { Freddy.build(logger, config) }
|
111
|
+
let(:destination) { random_destination }
|
112
|
+
|
113
|
+
before do
|
114
|
+
freddy.tap_into(destination) do
|
115
|
+
@deliver_span = current_span_attributes
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
after do
|
120
|
+
freddy.close
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'creates a new trace and links it with the sender' do
|
124
|
+
initiator_span = nil
|
125
|
+
Freddy.tracer.in_span('test') do
|
126
|
+
initiator_span = current_span_attributes
|
127
|
+
freddy.deliver(destination, {})
|
128
|
+
end
|
129
|
+
wait_for { @deliver_span }
|
130
|
+
|
131
|
+
expect(@deliver_span.fetch(:trace_id)).not_to eq(initiator_span.fetch(:trace_id))
|
132
|
+
|
133
|
+
link = @deliver_span.fetch(:links)[0]
|
134
|
+
expect(link.span_context.trace_id).to eq(initiator_span.fetch(:trace_id))
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
109
138
|
def current_span_attributes
|
110
139
|
{
|
111
140
|
trace_id: current_span.context.trace_id,
|
112
141
|
parent_id: current_span.parent_span_id,
|
113
|
-
span_id: current_span.context.span_id
|
142
|
+
span_id: current_span.context.span_id,
|
143
|
+
links: current_span.links || []
|
114
144
|
}
|
115
145
|
end
|
116
146
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: freddy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Glia TechMovers
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -181,7 +181,7 @@ homepage: https://github.com/salemove/freddy
|
|
181
181
|
licenses:
|
182
182
|
- MIT
|
183
183
|
metadata: {}
|
184
|
-
post_install_message:
|
184
|
+
post_install_message:
|
185
185
|
rdoc_options: []
|
186
186
|
require_paths:
|
187
187
|
- lib
|
@@ -196,8 +196,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
196
|
- !ruby/object:Gem::Version
|
197
197
|
version: '0'
|
198
198
|
requirements: []
|
199
|
-
rubygems_version: 3.1.
|
200
|
-
signing_key:
|
199
|
+
rubygems_version: 3.1.6
|
200
|
+
signing_key:
|
201
201
|
specification_version: 4
|
202
202
|
summary: API for inter-application messaging supporting acknowledgements and request-response
|
203
203
|
test_files:
|