instana 1.9.7 → 1.10.0.slimfast
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/instana/agent.rb +19 -19
- data/lib/instana/agent/helpers.rb +2 -2
- data/lib/instana/agent/tasks.rb +2 -2
- data/lib/instana/collectors/gc.rb +1 -1
- data/lib/instana/collectors/memory.rb +1 -1
- data/lib/instana/collectors/thread.rb +1 -1
- data/lib/instana/frameworks/instrumentation/mysql2_adapter.rb +1 -1
- data/lib/instana/frameworks/instrumentation/mysql_adapter.rb +1 -1
- data/lib/instana/helpers.rb +2 -2
- data/lib/instana/instrumentation.rb +1 -1
- data/lib/instana/instrumentation/excon.rb +8 -5
- data/lib/instana/instrumentation/rack.rb +2 -2
- data/lib/instana/instrumentation/resque.rb +3 -3
- data/lib/instana/tracer.rb +92 -117
- data/lib/instana/tracing/processor.rb +18 -133
- data/lib/instana/tracing/span.rb +40 -35
- data/lib/instana/tracing/span_context.rb +3 -1
- data/lib/instana/util.rb +5 -5
- data/lib/instana/version.rb +1 -1
- data/lib/opentracing.rb +1 -1
- data/test/frameworks/rack_test.rb +6 -11
- data/test/frameworks/rails/actioncontroller_test.rb +32 -62
- data/test/frameworks/rails/actionview5_test.rb +91 -132
- data/test/frameworks/rails/activerecord5_test.rb +14 -17
- data/test/instrumentation/dalli_test.rb +51 -72
- data/test/instrumentation/excon_test.rb +70 -94
- data/test/instrumentation/grpc_test.rb +164 -126
- data/test/instrumentation/net-http_test.rb +48 -57
- data/test/instrumentation/redis_test.rb +4 -6
- data/test/instrumentation/resque_test.rb +41 -41
- data/test/instrumentation/rest-client_test.rb +25 -31
- data/test/instrumentation/sidekiq-client_test.rb +12 -20
- data/test/instrumentation/sidekiq-worker_test.rb +48 -63
- data/test/jobs/resque_error_job.rb +7 -1
- data/test/jobs/resque_fast_job.rb +7 -1
- data/test/servers/sidekiq/worker.rb +1 -3
- data/test/test_helper.rb +58 -0
- data/test/tracing/custom_test.rb +11 -19
- data/test/tracing/opentracing_test.rb +48 -156
- data/test/tracing/trace_test.rb +67 -67
- data/test/tracing/tracer_async_test.rb +75 -175
- data/test/tracing/tracer_test.rb +75 -75
- metadata +4 -5
- data/lib/instana/tracing/trace.rb +0 -316
@@ -5,7 +5,13 @@ class ErrorJob
|
|
5
5
|
@queue = :critical
|
6
6
|
|
7
7
|
def self.perform
|
8
|
-
|
8
|
+
if ENV.key?('REDIS_URL')
|
9
|
+
redis = Redis.new(:url => ENV['REDIS_URL'])
|
10
|
+
elsif ENV.key?('I_REDIS_URL')
|
11
|
+
redis = Redis.new(:url => ENV['I_REDIS_URL'])
|
12
|
+
else
|
13
|
+
redis = Redis.new(:url => 'localhost:6379')
|
14
|
+
end
|
9
15
|
|
10
16
|
dt = Time.now
|
11
17
|
redis.set('ts', dt)
|
@@ -5,7 +5,13 @@ class FastJob
|
|
5
5
|
@queue = :critical
|
6
6
|
|
7
7
|
def self.perform
|
8
|
-
|
8
|
+
if ENV.key?('REDIS_URL')
|
9
|
+
redis = Redis.new(:url => ENV['REDIS_URL'])
|
10
|
+
elsif ENV.key?('I_REDIS_URL')
|
11
|
+
redis = Redis.new(:url => ENV['I_REDIS_URL'])
|
12
|
+
else
|
13
|
+
redis = Redis.new(:url => 'redis://localhost:6379')
|
14
|
+
end
|
9
15
|
|
10
16
|
dt = Time.now
|
11
17
|
redis.set('ts', dt)
|
data/test/test_helper.rb
CHANGED
@@ -85,3 +85,61 @@ def enable_redis_instrumentation
|
|
85
85
|
alias call_pipeline call_pipeline_with_instana
|
86
86
|
end
|
87
87
|
end
|
88
|
+
|
89
|
+
def validate_sdk_span(json_span, sdk_hash = {}, errored = false, ec = 1)
|
90
|
+
assert_equal :sdk, json_span[:n]
|
91
|
+
assert json_span.key?(:k)
|
92
|
+
assert json_span.key?(:d)
|
93
|
+
assert json_span.key?(:ts)
|
94
|
+
|
95
|
+
for k,v in sdk_hash
|
96
|
+
assert_equal v, json_span[:data][:sdk][k]
|
97
|
+
end
|
98
|
+
|
99
|
+
if errored
|
100
|
+
assert_equal true, json_span[:error]
|
101
|
+
assert_equal 1, json_span[:ec]
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
def find_spans_by_name(spans, name)
|
106
|
+
result = []
|
107
|
+
for span in spans
|
108
|
+
if span[:n] == :sdk
|
109
|
+
if span[:data][:sdk][:name] == name
|
110
|
+
result << span
|
111
|
+
end
|
112
|
+
elsif span[:n] == name
|
113
|
+
result << span
|
114
|
+
end
|
115
|
+
end
|
116
|
+
if result.empty?
|
117
|
+
raise Exception.new("No SDK spans (#{name}) could be found")
|
118
|
+
else
|
119
|
+
return result
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def find_first_span_by_name(spans, name)
|
124
|
+
for span in spans
|
125
|
+
if span[:n] == :sdk
|
126
|
+
if span[:data][:sdk][:name] == name
|
127
|
+
return span
|
128
|
+
end
|
129
|
+
else
|
130
|
+
if span[:n] == name
|
131
|
+
return span
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
raise Exception.new("Span (#{name}) not found")
|
136
|
+
end
|
137
|
+
|
138
|
+
def find_span_by_id(spans, id)
|
139
|
+
for span in spans
|
140
|
+
if span[:s] == id
|
141
|
+
return span
|
142
|
+
end
|
143
|
+
end
|
144
|
+
raise Exception.new("Span with id (#{id}) not found")
|
145
|
+
end
|
data/test/tracing/custom_test.rb
CHANGED
@@ -13,13 +13,10 @@ class CustomTracingTest < Minitest::Test
|
|
13
13
|
::Instana.tracer.log_end(:custom_trace, {:close_one => 1})
|
14
14
|
assert_equal false, ::Instana.tracer.tracing?
|
15
15
|
|
16
|
-
|
17
|
-
assert_equal 1,
|
18
|
-
t = traces.first
|
19
|
-
assert_equal 1, t.spans.size
|
20
|
-
assert t.valid?
|
16
|
+
spans = ::Instana.processor.queued_spans
|
17
|
+
assert_equal 1, spans.length
|
21
18
|
|
22
|
-
first_span =
|
19
|
+
first_span = spans.first
|
23
20
|
assert_equal :sdk, first_span[:n]
|
24
21
|
|
25
22
|
assert first_span[:ts].is_a?(Integer)
|
@@ -33,7 +30,6 @@ class CustomTracingTest < Minitest::Test
|
|
33
30
|
assert first_span[:data][:sdk][:custom].key?(:tags)
|
34
31
|
assert_equal :custom_trace, first_span[:data][:sdk][:name]
|
35
32
|
assert_equal 1, first_span[:data][:sdk][:custom][:tags][:one]
|
36
|
-
assert_equal :ruby, first_span[:ta]
|
37
33
|
|
38
34
|
assert first_span.key?(:f)
|
39
35
|
assert first_span[:f].key?(:e)
|
@@ -62,13 +58,11 @@ class CustomTracingTest < Minitest::Test
|
|
62
58
|
::Instana.tracer.log_end(:rack, {:on_trace_end => 1})
|
63
59
|
assert_equal false, ::Instana.tracer.tracing?
|
64
60
|
|
65
|
-
|
66
|
-
assert_equal
|
67
|
-
t = traces.first
|
68
|
-
assert_equal 2, t.spans.size
|
69
|
-
assert t.valid?
|
61
|
+
spans = ::Instana.processor.queued_spans
|
62
|
+
assert_equal 2, spans.length
|
70
63
|
|
71
|
-
first_span
|
64
|
+
first_span = find_first_span_by_name(spans, :rack)
|
65
|
+
second_span = find_first_span_by_name(spans, :custom_span)
|
72
66
|
|
73
67
|
assert first_span[:ts].is_a?(Integer)
|
74
68
|
assert first_span[:ts] > 0
|
@@ -121,13 +115,11 @@ class CustomTracingTest < Minitest::Test
|
|
121
115
|
::Instana.tracer.log_end(:rack, {:on_trace_end => 1})
|
122
116
|
assert_equal false, ::Instana.tracer.tracing?
|
123
117
|
|
124
|
-
|
125
|
-
assert_equal
|
126
|
-
t = traces.first
|
127
|
-
assert_equal 2, t.spans.size
|
128
|
-
assert t.valid?
|
118
|
+
spans = ::Instana.processor.queued_spans
|
119
|
+
assert_equal 2, spans.length
|
129
120
|
|
130
|
-
first_span
|
121
|
+
first_span = find_first_span_by_name(spans, :rack)
|
122
|
+
second_span = find_first_span_by_name(spans, :custom_span)
|
131
123
|
|
132
124
|
assert first_span[:ts].is_a?(Integer)
|
133
125
|
assert first_span[:ts] > 0
|
@@ -79,17 +79,14 @@ class OpenTracerTest < Minitest::Test
|
|
79
79
|
get '/mrlobster'
|
80
80
|
assert last_response.ok?
|
81
81
|
|
82
|
-
|
83
|
-
assert_equal
|
82
|
+
spans = ::Instana.processor.queued_spans
|
83
|
+
assert_equal 3, spans.length
|
84
84
|
|
85
|
-
|
86
|
-
|
85
|
+
first_span = find_first_span_by_name(spans, :rack)
|
86
|
+
second_span = find_first_span_by_name(spans, :otrack1)
|
87
|
+
third_span = find_first_span_by_name(spans, :otrack2)
|
87
88
|
|
88
|
-
|
89
|
-
assert_equal 3, trace.spans.length
|
90
|
-
first_span, second_span, third_span = trace.spans.to_a
|
91
|
-
|
92
|
-
assert_equal :rack, first_span.name
|
89
|
+
assert_equal :rack, first_span[:n]
|
93
90
|
assert first_span[:ts].is_a?(Integer)
|
94
91
|
assert first_span[:ts] > 0
|
95
92
|
assert first_span[:d].is_a?(Integer)
|
@@ -100,21 +97,18 @@ class OpenTracerTest < Minitest::Test
|
|
100
97
|
assert_equal "/mrlobster", first_span[:data][:http][:url]
|
101
98
|
assert_equal 200, first_span[:data][:http][:status]
|
102
99
|
assert_equal 'example.org', first_span[:data][:http][:host]
|
103
|
-
assert_equal :otrack1, second_span
|
100
|
+
assert_equal :otrack1, second_span[:data][:sdk][:name]
|
104
101
|
assert second_span.key?(:data)
|
105
102
|
assert second_span[:data].key?(:sdk)
|
106
103
|
assert second_span[:data][:sdk].key?(:name)
|
107
|
-
assert_equal :otrack2, third_span
|
104
|
+
assert_equal :otrack2, third_span[:data][:sdk][:name]
|
108
105
|
assert third_span.key?(:data)
|
109
106
|
assert third_span[:data].key?(:sdk)
|
110
107
|
assert third_span[:data][:sdk].key?(:name)
|
111
108
|
|
112
109
|
# ID Validation
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
# Linkage
|
117
|
-
assert_equal second_span[:s], third_span[:p]
|
110
|
+
refute_equal first_span[:t], second_span[:t]
|
111
|
+
refute_equal second_span[:t], third_span[:t]
|
118
112
|
end
|
119
113
|
|
120
114
|
def test_get_with_inject_extract
|
@@ -129,19 +123,14 @@ class OpenTracerTest < Minitest::Test
|
|
129
123
|
get '/mrlobster'
|
130
124
|
assert last_response.ok?
|
131
125
|
|
132
|
-
|
133
|
-
assert_equal 1, traces.length
|
134
|
-
|
135
|
-
trace = traces[0]
|
136
|
-
assert trace.valid?
|
126
|
+
spans = ::Instana.processor.queued_spans
|
137
127
|
|
138
|
-
|
139
|
-
|
140
|
-
first_span = trace.spans.to_a.first
|
128
|
+
assert_equal 3, spans.length
|
129
|
+
first_span = find_first_span_by_name(spans, :rack)
|
141
130
|
|
142
131
|
# Make sure context was picked up and continued in the resulting
|
143
132
|
# trace
|
144
|
-
assert_equal trace_id,
|
133
|
+
assert_equal trace_id, first_span[:t]
|
145
134
|
assert_equal span_id, first_span[:p]
|
146
135
|
end
|
147
136
|
|
@@ -150,7 +139,6 @@ class OpenTracerTest < Minitest::Test
|
|
150
139
|
span = OpenTracing.start_span('my_app_entry')
|
151
140
|
|
152
141
|
assert span.is_a?(::Instana::Span)
|
153
|
-
assert_equal :my_app_entry, OpenTracing.current_trace.current_span.name
|
154
142
|
|
155
143
|
span.set_tag(:tag_integer, 1234)
|
156
144
|
span.set_tag(:tag_boolean, true)
|
@@ -172,7 +160,6 @@ class OpenTracerTest < Minitest::Test
|
|
172
160
|
span = OpenTracing.start_span('my_app_entry', :start_time => now)
|
173
161
|
|
174
162
|
assert span.is_a?(::Instana::Span)
|
175
|
-
assert_equal :my_app_entry, OpenTracing.current_trace.current_span.name
|
176
163
|
|
177
164
|
span.set_tag(:tag_integer, 1234)
|
178
165
|
span.set_tag(:tag_boolean, true)
|
@@ -196,28 +183,27 @@ class OpenTracerTest < Minitest::Test
|
|
196
183
|
span = OpenTracing.start_span('my_app_entry')
|
197
184
|
|
198
185
|
assert span.is_a?(::Instana::Span)
|
199
|
-
assert_equal :my_app_entry, OpenTracing.current_trace.current_span.name
|
200
186
|
|
201
187
|
span.set_tag(:'span.kind', :server)
|
202
188
|
assert_equal :entry, span[:data][:sdk][:type]
|
203
|
-
assert_equal
|
189
|
+
assert_equal 1, span[:k]
|
204
190
|
|
205
191
|
span.set_tag(:'span.kind', :consumer)
|
206
192
|
assert_equal :entry, span[:data][:sdk][:type]
|
207
|
-
assert_equal
|
193
|
+
assert_equal 1, span[:k]
|
208
194
|
|
209
195
|
span.set_tag(:'span.kind', :client)
|
210
196
|
assert_equal :exit, span[:data][:sdk][:type]
|
211
|
-
assert_equal
|
197
|
+
assert_equal 2, span[:k]
|
212
198
|
|
213
199
|
span.set_tag(:'span.kind', :producer)
|
214
200
|
assert_equal :exit, span[:data][:sdk][:type]
|
215
|
-
assert_equal
|
201
|
+
assert_equal 2, span[:k]
|
216
202
|
|
217
203
|
span[:data][:sdk].delete(:type)
|
218
204
|
span.set_tag(:'span.kind', :blah)
|
219
205
|
assert_equal :intermediate, span[:data][:sdk][:type]
|
220
|
-
assert_equal
|
206
|
+
assert_equal 3, span[:k]
|
221
207
|
assert_equal :blah, span[:data][:sdk][:custom][:tags][:'span.kind']
|
222
208
|
|
223
209
|
span.finish
|
@@ -270,53 +256,19 @@ class OpenTracerTest < Minitest::Test
|
|
270
256
|
ac_span.finish
|
271
257
|
entry_span.finish
|
272
258
|
|
273
|
-
|
274
|
-
|
275
|
-
assert_equal 1, traces.length
|
276
|
-
|
277
|
-
trace = traces.first
|
278
|
-
first_span, second_span, third_span = trace.spans.to_a
|
279
|
-
|
280
|
-
assert_equal 3, trace.spans.length
|
281
|
-
assert trace.valid?
|
282
|
-
|
283
|
-
# IDs
|
284
|
-
assert_equal trace.id, first_span[:t]
|
285
|
-
assert_equal trace.id, second_span[:t]
|
286
|
-
assert_equal trace.id, third_span[:t]
|
287
|
-
|
288
|
-
# Linkage
|
289
|
-
assert first_span.is_root?
|
290
|
-
assert_equal first_span[:s], second_span[:p]
|
291
|
-
assert_equal second_span[:s], third_span[:p]
|
292
|
-
end
|
293
|
-
|
294
|
-
def test_start_span_with_nested_spans
|
295
|
-
clear_all!
|
296
|
-
entry_span = OpenTracing.start_span(:rack)
|
297
|
-
ac_span = OpenTracing.start_span(:action_controller)
|
298
|
-
av_span = OpenTracing.start_span(:action_view)
|
299
|
-
sleep 0.1
|
300
|
-
av_span.finish
|
301
|
-
ac_span.finish
|
302
|
-
entry_span.finish
|
303
|
-
|
304
|
-
traces = ::Instana.processor.queued_traces
|
305
|
-
|
306
|
-
assert_equal 1, traces.length
|
307
|
-
trace = traces.first
|
308
|
-
assert trace.valid?
|
309
|
-
assert_equal 3, trace.spans.length
|
259
|
+
spans = ::Instana.processor.queued_spans
|
260
|
+
assert_equal 3, spans.length
|
310
261
|
|
311
|
-
first_span
|
262
|
+
first_span = find_first_span_by_name(spans, :rack)
|
263
|
+
second_span = find_first_span_by_name(spans, :action_controller)
|
264
|
+
third_span = find_first_span_by_name(spans, :action_view)
|
312
265
|
|
313
266
|
# IDs
|
314
|
-
assert_equal
|
315
|
-
assert_equal
|
316
|
-
assert_equal trace.id, third_span[:t]
|
267
|
+
assert_equal first_span[:t], second_span[:t]
|
268
|
+
assert_equal second_span[:t], third_span[:t]
|
317
269
|
|
318
270
|
# Linkage
|
319
|
-
assert first_span.
|
271
|
+
assert first_span[:p].nil?
|
320
272
|
assert_equal first_span[:s], second_span[:p]
|
321
273
|
assert_equal second_span[:s], third_span[:p]
|
322
274
|
end
|
@@ -324,37 +276,34 @@ class OpenTracerTest < Minitest::Test
|
|
324
276
|
def test_nested_spans_with_baggage
|
325
277
|
clear_all!
|
326
278
|
entry_span = OpenTracing.start_span(:rack)
|
327
|
-
ac_span = OpenTracing.start_span(:action_controller)
|
279
|
+
ac_span = OpenTracing.start_span(:action_controller, child_of: entry_span)
|
328
280
|
ac_span.set_baggage_item(:my_bag, 1)
|
329
|
-
av_span = OpenTracing.start_span(:action_view)
|
281
|
+
av_span = OpenTracing.start_span(:action_view, child_of: ac_span)
|
330
282
|
sleep 0.1
|
331
283
|
av_span.finish
|
332
284
|
ac_span.finish
|
333
285
|
entry_span.finish
|
334
286
|
|
335
|
-
|
336
|
-
|
337
|
-
assert_equal 1, traces.length
|
338
|
-
trace = traces.first
|
339
|
-
assert trace.valid?
|
340
|
-
assert_equal 3, trace.spans.length
|
287
|
+
spans = ::Instana.processor.queued_spans
|
288
|
+
assert_equal 3, spans.length
|
341
289
|
|
342
|
-
first_span
|
290
|
+
first_span = find_first_span_by_name(spans, :rack)
|
291
|
+
second_span = find_first_span_by_name(spans, :action_controller)
|
292
|
+
third_span = find_first_span_by_name(spans, :action_view)
|
343
293
|
|
344
294
|
# IDs
|
345
|
-
assert_equal
|
346
|
-
assert_equal
|
347
|
-
assert_equal trace.id, third_span[:t]
|
295
|
+
assert_equal first_span[:t], second_span[:t]
|
296
|
+
assert_equal second_span[:t], third_span[:t]
|
348
297
|
|
349
298
|
# Linkage
|
350
|
-
assert first_span.
|
299
|
+
assert first_span[:p].nil?
|
351
300
|
assert_equal first_span[:s], second_span[:p]
|
352
301
|
assert_equal second_span[:s], third_span[:p]
|
353
302
|
|
354
303
|
# Every span should have baggage
|
355
|
-
assert_equal
|
356
|
-
assert_equal
|
357
|
-
assert_equal
|
304
|
+
assert_equal(nil, entry_span.context.baggage)
|
305
|
+
assert_equal({:my_bag=>1}, ac_span.context.baggage)
|
306
|
+
assert_equal({:my_bag=>1}, av_span.context.baggage)
|
358
307
|
end
|
359
308
|
|
360
309
|
def test_context_should_carry_baggage
|
@@ -363,81 +312,24 @@ class OpenTracerTest < Minitest::Test
|
|
363
312
|
entry_span = OpenTracing.start_span(:rack)
|
364
313
|
entry_span_context = entry_span.context
|
365
314
|
|
366
|
-
ac_span = OpenTracing.start_span(:action_controller)
|
315
|
+
ac_span = OpenTracing.start_span(:action_controller, child_of: entry_span)
|
367
316
|
ac_span.set_baggage_item(:my_bag, 1)
|
368
317
|
ac_span_context = ac_span.context
|
369
318
|
|
370
|
-
av_span = OpenTracing.start_span(:action_view)
|
319
|
+
av_span = OpenTracing.start_span(:action_view, child_of: entry_span)
|
371
320
|
av_span_context = av_span.context
|
372
321
|
|
373
322
|
sleep 0.1
|
374
|
-
av_span.finish
|
375
|
-
ac_span.finish
|
376
|
-
entry_span.finish
|
377
|
-
|
378
|
-
traces = ::Instana.processor.queued_traces
|
379
|
-
|
380
|
-
assert_equal 1, traces.length
|
381
|
-
trace = traces.first
|
382
|
-
assert trace.valid?
|
383
|
-
assert_equal 3, trace.spans.length
|
384
323
|
|
385
|
-
assert_equal nil, entry_span_context.baggage[:my_bag]
|
386
|
-
assert_equal 1, ac_span_context.baggage[:my_bag]
|
387
|
-
assert_equal 1, av_span_context.baggage[:my_bag]
|
388
|
-
end
|
389
|
-
|
390
|
-
def test_baggage_with_complex_data
|
391
|
-
clear_all!
|
392
|
-
|
393
|
-
entry_span = OpenTracing.start_span(:rack)
|
394
|
-
entry_span_context = entry_span.context
|
395
|
-
|
396
|
-
ac_span = OpenTracing.start_span(:action_controller)
|
397
|
-
|
398
|
-
ac_span.set_baggage_item(:integer, 1)
|
399
|
-
ac_span.set_baggage_item(:float, 1.0123948293)
|
400
|
-
ac_span.set_baggage_item(:hash, { :hash_sublevel => "blah",
|
401
|
-
:another => {} })
|
402
|
-
ac_span_context = ac_span.context
|
403
|
-
|
404
|
-
av_span = OpenTracing.start_span(:action_view)
|
405
|
-
av_span_context = av_span.context
|
406
|
-
|
407
|
-
sleep 0.1
|
408
324
|
av_span.finish
|
409
325
|
ac_span.finish
|
410
326
|
entry_span.finish
|
411
327
|
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
assert_equal
|
418
|
-
|
419
|
-
# Context
|
420
|
-
assert_equal true, entry_span_context.baggage.empty?
|
421
|
-
assert_equal true, entry_span.baggage.empty?
|
422
|
-
|
423
|
-
assert_equal 1, ac_span_context.baggage[:integer]
|
424
|
-
assert_equal 1.0123948293, ac_span_context.baggage[:float]
|
425
|
-
assert_equal true, ac_span_context.baggage[:hash][:another].empty?
|
426
|
-
assert_equal "blah", ac_span_context.baggage[:hash][:hash_sublevel]
|
427
|
-
assert_equal 1, av_span_context.baggage[:integer]
|
428
|
-
assert_equal 1.0123948293, av_span_context.baggage[:float]
|
429
|
-
assert_equal true, av_span_context.baggage[:hash][:another].empty?
|
430
|
-
assert_equal "blah", av_span_context.baggage[:hash][:hash_sublevel]
|
431
|
-
|
432
|
-
# Spans
|
433
|
-
assert_equal true, entry_span.baggage.empty?
|
434
|
-
assert_equal 1, ac_span.baggage[:integer]
|
435
|
-
assert_equal 1.0123948293, ac_span.baggage[:float]
|
436
|
-
assert_equal true, ac_span.baggage[:hash][:another].empty?
|
437
|
-
assert_equal "blah", ac_span.baggage[:hash][:hash_sublevel]
|
438
|
-
assert_equal 1, av_span.baggage[:integer]
|
439
|
-
assert_equal 1.0123948293, av_span.baggage[:float]
|
440
|
-
assert_equal true, av_span.baggage[:hash][:another].empty?
|
441
|
-
assert_equal "blah", av_span.baggage[:hash][:hash_sublevel]
|
328
|
+
spans = ::Instana.processor.queued_spans
|
329
|
+
assert_equal 3, spans.length
|
330
|
+
|
331
|
+
assert_equal(nil, entry_span.context.baggage)
|
332
|
+
assert_equal({:my_bag=>1}, ac_span.context.baggage)
|
333
|
+
assert_equal(nil, av_span.context.baggage)
|
442
334
|
end
|
443
335
|
end
|