instana 1.4.2 → 1.4.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3cae516e462dbd350c30cf8e513758b3d9928bc2
4
- data.tar.gz: ccc8a1aab6f2e63249514788d080c546dbe9e44d
3
+ metadata.gz: f2d72e4ebe2d8f5b7c78ea47e40e04a37ba063e4
4
+ data.tar.gz: 97b8eb1c78242d4c94d48370a4916c90c0217012
5
5
  SHA512:
6
- metadata.gz: 6898e624c5943b389c6d116f7c43ec8c4b3eb0582806fd809cbf2528343de990163e1d6d2c375e5d5cae70e5a8ff3efbed1091fac0f3f7dde8cae4c97aad8b39
7
- data.tar.gz: 2cfa76f168aea300c64b74b895d95ac75b792ac86ff15aa84031269a1cdd60a39ec33356be8f9f54034193f38b3a50562dbf7eeed710c907e4819aeb9027ecb9
6
+ metadata.gz: 9d1176fc22477cacbaa80940fb73f422183c938c1228b9134e2b3d3cd36452db779318a5b06ec8ae891afaeabdca8052191aac623c97ddc158c6ae90e655917a
7
+ data.tar.gz: f2523904ba96880a37254e8fcea1ae64d91fa51bb46baebcbccf7831612118232d7ecdd1b91d847717b9864dce8cfaf670121ca4b19b675df8241c06bc0a5484
@@ -24,6 +24,34 @@ module Instana
24
24
  ::Instana.logger.debug "#{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}"
25
25
  return false
26
26
  end
27
+
28
+ # Render can be called with many options across the various supported
29
+ # versions of Rails. This method attempts to make sense and provide
30
+ # insight into what is happening (rendering a layout, file, nothing,
31
+ # plaintext etc.)
32
+ def get_render_topic(opts)
33
+ if opts.key?(:layout)
34
+ case opts[:layout]
35
+ when FalseClass
36
+ name = "Without layout"
37
+ when String
38
+ name = opts[:layout]
39
+ when Proc
40
+ name = "Proc"
41
+ else
42
+ name = "Default"
43
+ end
44
+ end
45
+ name ||= opts[:template]
46
+ name ||= opts[:file]
47
+ name = "Nothing" if opts[:nothing]
48
+ name = "Plaintext" if opts[:plain]
49
+ name = "JSON" if opts[:json]
50
+ name = "XML" if opts[:xml]
51
+ name = "Raw" if opts[:body]
52
+ name = "Javascript" if opts[:js]
53
+ name
54
+ end
27
55
  end
28
56
 
29
57
  # Used in ActionPack versions 5 and beyond, this module provides
@@ -54,7 +82,14 @@ module Instana
54
82
  # for versions 5+.
55
83
  #
56
84
  def render(*args, &blk)
57
- ::Instana.tracer.log_entry(:actionview)
85
+ # Figure out what's being rendered
86
+ if args.length > 0 && args[0].is_a?(Hash)
87
+ name = get_render_topic(args[0])
88
+ end
89
+ name ||= "Default"
90
+
91
+ ::Instana.tracer.log_entry(:actionview, :actionview => { :name => name })
92
+
58
93
  super(*args, &blk)
59
94
  rescue Exception => e
60
95
  ::Instana.tracer.log_error(e) unless has_rails_handler?
@@ -99,7 +134,11 @@ module Instana
99
134
  # for versions 3 and 4.
100
135
  #
101
136
  def render_with_instana(*args, &blk)
102
- ::Instana.tracer.log_entry(:actionview)
137
+ if args.length > 0 && args[0].is_a?(Hash)
138
+ name = get_render_topic(args[0])
139
+ end
140
+ name ||= "Default"
141
+ ::Instana.tracer.log_entry(:actionview, :actionview => { :name => name })
103
142
  render_without_instana(*args, &blk)
104
143
  rescue Exception => e
105
144
  ::Instana.tracer.log_error(e) unless has_rails_handler?
@@ -271,6 +271,15 @@ module Instana
271
271
  if custom?
272
272
  @data[:data][:sdk][:custom] ||= {}
273
273
  @data[:data][:sdk][:custom][key] = value
274
+
275
+ if key.to_sym == :'span.kind'
276
+ case value.to_sym
277
+ when :server || :consumer
278
+ @data[:data][:sdk][:type] = :entry
279
+ when :client || :producer
280
+ @data[:data][:sdk][:type] = :exit
281
+ end
282
+ end
274
283
  else
275
284
  if !@data[:data].key?(key)
276
285
  @data[:data][key] = value
@@ -1,4 +1,4 @@
1
1
  module Instana
2
- VERSION = "1.4.2"
2
+ VERSION = "1.4.4"
3
3
  VERSION_FULL = "instana-#{VERSION}"
4
4
  end
@@ -27,6 +27,153 @@ class ActionViewTest < Minitest::Test
27
27
  assert_equal :actionview, third_span.name
28
28
  end
29
29
 
30
+ def test_render_nothing
31
+ clear_all!
32
+
33
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_nothing'))
34
+
35
+ traces = Instana.processor.queued_traces
36
+ assert_equal 1, traces.count
37
+ trace = traces.first
38
+
39
+ assert_equal 3, trace.spans.count
40
+ spans = trace.spans.to_a
41
+ first_span = spans[0]
42
+ second_span = spans[1]
43
+ third_span = spans[2]
44
+
45
+ assert_equal :rack, first_span.name
46
+ assert_equal :actioncontroller, second_span.name
47
+ assert_equal "Nothing", third_span[:data][:actionview][:name]
48
+ assert_equal :actionview, third_span.name
49
+ end
50
+
51
+ def test_render_file
52
+ clear_all!
53
+
54
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_file'))
55
+
56
+ traces = Instana.processor.queued_traces
57
+ assert_equal 1, traces.count
58
+ trace = traces.first
59
+
60
+ assert_equal 3, trace.spans.count
61
+ spans = trace.spans.to_a
62
+ first_span = spans[0]
63
+ second_span = spans[1]
64
+ third_span = spans[2]
65
+
66
+ assert_equal :rack, first_span.name
67
+ assert_equal :actioncontroller, second_span.name
68
+ assert_equal "/etc/issue", third_span[:data][:actionview][:name]
69
+ assert_equal :actionview, third_span.name
70
+ end
71
+
72
+ def test_render_json
73
+ clear_all!
74
+
75
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_json'))
76
+
77
+ traces = Instana.processor.queued_traces
78
+ assert_equal 1, traces.count
79
+ trace = traces.first
80
+
81
+ assert_equal 3, trace.spans.count
82
+ spans = trace.spans.to_a
83
+ first_span = spans[0]
84
+ second_span = spans[1]
85
+ third_span = spans[2]
86
+
87
+ assert_equal :rack, first_span.name
88
+ assert_equal :actioncontroller, second_span.name
89
+ assert_equal "JSON", third_span[:data][:actionview][:name]
90
+ assert_equal :actionview, third_span.name
91
+ end
92
+
93
+ def test_render_xml
94
+ clear_all!
95
+
96
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_xml'))
97
+
98
+ traces = Instana.processor.queued_traces
99
+ assert_equal 1, traces.count
100
+ trace = traces.first
101
+
102
+ assert_equal 3, trace.spans.count
103
+ spans = trace.spans.to_a
104
+ first_span = spans[0]
105
+ second_span = spans[1]
106
+ third_span = spans[2]
107
+
108
+ assert_equal :rack, first_span.name
109
+ assert_equal :actioncontroller, second_span.name
110
+ assert_equal "XML", third_span[:data][:actionview][:name]
111
+ assert_equal :actionview, third_span.name
112
+ end
113
+
114
+ def test_render_body
115
+ clear_all!
116
+
117
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_rawbody'))
118
+
119
+ traces = Instana.processor.queued_traces
120
+ assert_equal 1, traces.count
121
+ trace = traces.first
122
+
123
+ assert_equal 3, trace.spans.count
124
+ spans = trace.spans.to_a
125
+ first_span = spans[0]
126
+ second_span = spans[1]
127
+ third_span = spans[2]
128
+
129
+ assert_equal :rack, first_span.name
130
+ assert_equal :actioncontroller, second_span.name
131
+ assert_equal "Raw", third_span[:data][:actionview][:name]
132
+ assert_equal :actionview, third_span.name
133
+ end
134
+
135
+ def test_render_js
136
+ clear_all!
137
+
138
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_js'))
139
+
140
+ traces = Instana.processor.queued_traces
141
+ assert_equal 1, traces.count
142
+ trace = traces.first
143
+
144
+ assert_equal 3, trace.spans.count
145
+ spans = trace.spans.to_a
146
+ first_span = spans[0]
147
+ second_span = spans[1]
148
+ third_span = spans[2]
149
+
150
+ assert_equal :rack, first_span.name
151
+ assert_equal :actioncontroller, second_span.name
152
+ assert_equal "Javascript", third_span[:data][:actionview][:name]
153
+ assert_equal :actionview, third_span.name
154
+ end
155
+
156
+ def test_render_alternate_layout
157
+ clear_all!
158
+
159
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_alternate_layout'))
160
+
161
+ traces = Instana.processor.queued_traces
162
+ assert_equal 1, traces.count
163
+ trace = traces.first
164
+
165
+ assert_equal 3, trace.spans.count
166
+ spans = trace.spans.to_a
167
+ first_span = spans[0]
168
+ second_span = spans[1]
169
+ third_span = spans[2]
170
+
171
+ assert_equal :rack, first_span.name
172
+ assert_equal :actioncontroller, second_span.name
173
+ assert_equal "layouts/mobile", third_span[:data][:actionview][:name]
174
+ assert_equal :actionview, third_span.name
175
+ end
176
+
30
177
  def test_render_partial
31
178
  clear_all!
32
179
 
@@ -106,4 +253,3 @@ class ActionViewTest < Minitest::Test
106
253
  assert_equal 'blocks/block', fifth_span[:data][:render][:name]
107
254
  end
108
255
  end
109
-
@@ -27,6 +27,153 @@ class ActionViewTest < Minitest::Test
27
27
  assert_equal :actionview, third_span.name
28
28
  end
29
29
 
30
+ def test_render_nothing
31
+ clear_all!
32
+
33
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_nothing'))
34
+
35
+ traces = Instana.processor.queued_traces
36
+ assert_equal 1, traces.count
37
+ trace = traces.first
38
+
39
+ assert_equal 3, trace.spans.count
40
+ spans = trace.spans.to_a
41
+ first_span = spans[0]
42
+ second_span = spans[1]
43
+ third_span = spans[2]
44
+
45
+ assert_equal :rack, first_span.name
46
+ assert_equal :actioncontroller, second_span.name
47
+ assert_equal "Nothing", third_span[:data][:actionview][:name]
48
+ assert_equal :actionview, third_span.name
49
+ end
50
+
51
+ def test_render_file
52
+ clear_all!
53
+
54
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_file'))
55
+
56
+ traces = Instana.processor.queued_traces
57
+ assert_equal 1, traces.count
58
+ trace = traces.first
59
+
60
+ assert_equal 3, trace.spans.count
61
+ spans = trace.spans.to_a
62
+ first_span = spans[0]
63
+ second_span = spans[1]
64
+ third_span = spans[2]
65
+
66
+ assert_equal :rack, first_span.name
67
+ assert_equal :actioncontroller, second_span.name
68
+ assert_equal "/etc/issue", third_span[:data][:actionview][:name]
69
+ assert_equal :actionview, third_span.name
70
+ end
71
+
72
+ def test_render_json
73
+ clear_all!
74
+
75
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_json'))
76
+
77
+ traces = Instana.processor.queued_traces
78
+ assert_equal 1, traces.count
79
+ trace = traces.first
80
+
81
+ assert_equal 3, trace.spans.count
82
+ spans = trace.spans.to_a
83
+ first_span = spans[0]
84
+ second_span = spans[1]
85
+ third_span = spans[2]
86
+
87
+ assert_equal :rack, first_span.name
88
+ assert_equal :actioncontroller, second_span.name
89
+ assert_equal "JSON", third_span[:data][:actionview][:name]
90
+ assert_equal :actionview, third_span.name
91
+ end
92
+
93
+ def test_render_xml
94
+ clear_all!
95
+
96
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_xml'))
97
+
98
+ traces = Instana.processor.queued_traces
99
+ assert_equal 1, traces.count
100
+ trace = traces.first
101
+
102
+ assert_equal 3, trace.spans.count
103
+ spans = trace.spans.to_a
104
+ first_span = spans[0]
105
+ second_span = spans[1]
106
+ third_span = spans[2]
107
+
108
+ assert_equal :rack, first_span.name
109
+ assert_equal :actioncontroller, second_span.name
110
+ assert_equal "XML", third_span[:data][:actionview][:name]
111
+ assert_equal :actionview, third_span.name
112
+ end
113
+
114
+ def test_render_body
115
+ clear_all!
116
+
117
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_rawbody'))
118
+
119
+ traces = Instana.processor.queued_traces
120
+ assert_equal 1, traces.count
121
+ trace = traces.first
122
+
123
+ assert_equal 3, trace.spans.count
124
+ spans = trace.spans.to_a
125
+ first_span = spans[0]
126
+ second_span = spans[1]
127
+ third_span = spans[2]
128
+
129
+ assert_equal :rack, first_span.name
130
+ assert_equal :actioncontroller, second_span.name
131
+ assert_equal "Raw", third_span[:data][:actionview][:name]
132
+ assert_equal :actionview, third_span.name
133
+ end
134
+
135
+ def test_render_js
136
+ clear_all!
137
+
138
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_js'))
139
+
140
+ traces = Instana.processor.queued_traces
141
+ assert_equal 1, traces.count
142
+ trace = traces.first
143
+
144
+ assert_equal 3, trace.spans.count
145
+ spans = trace.spans.to_a
146
+ first_span = spans[0]
147
+ second_span = spans[1]
148
+ third_span = spans[2]
149
+
150
+ assert_equal :rack, first_span.name
151
+ assert_equal :actioncontroller, second_span.name
152
+ assert_equal "Javascript", third_span[:data][:actionview][:name]
153
+ assert_equal :actionview, third_span.name
154
+ end
155
+
156
+ def test_render_alternate_layout
157
+ clear_all!
158
+
159
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_alternate_layout'))
160
+
161
+ traces = Instana.processor.queued_traces
162
+ assert_equal 1, traces.count
163
+ trace = traces.first
164
+
165
+ assert_equal 3, trace.spans.count
166
+ spans = trace.spans.to_a
167
+ first_span = spans[0]
168
+ second_span = spans[1]
169
+ third_span = spans[2]
170
+
171
+ assert_equal :rack, first_span.name
172
+ assert_equal :actioncontroller, second_span.name
173
+ assert_equal "layouts/mobile", third_span[:data][:actionview][:name]
174
+ assert_equal :actionview, third_span.name
175
+ end
176
+
30
177
  def test_render_partial
31
178
  clear_all!
32
179
 
@@ -105,4 +252,3 @@ class ActionViewTest < Minitest::Test
105
252
  assert_equal 'blocks/block', fifth_span[:data][:render][:name]
106
253
  end
107
254
  end
108
-
@@ -27,6 +27,153 @@ class ActionViewTest < Minitest::Test
27
27
  assert_equal :actionview, third_span.name
28
28
  end
29
29
 
30
+ def test_render_nothing
31
+ clear_all!
32
+
33
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_nothing'))
34
+
35
+ traces = Instana.processor.queued_traces
36
+ assert_equal 1, traces.count
37
+ trace = traces.first
38
+
39
+ assert_equal 3, trace.spans.count
40
+ spans = trace.spans.to_a
41
+ first_span = spans[0]
42
+ second_span = spans[1]
43
+ third_span = spans[2]
44
+
45
+ assert_equal :rack, first_span.name
46
+ assert_equal :actioncontroller, second_span.name
47
+ assert_equal "Nothing", third_span[:data][:actionview][:name]
48
+ assert_equal :actionview, third_span.name
49
+ end
50
+
51
+ def test_render_file
52
+ clear_all!
53
+
54
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_file'))
55
+
56
+ traces = Instana.processor.queued_traces
57
+ assert_equal 1, traces.count
58
+ trace = traces.first
59
+
60
+ assert_equal 3, trace.spans.count
61
+ spans = trace.spans.to_a
62
+ first_span = spans[0]
63
+ second_span = spans[1]
64
+ third_span = spans[2]
65
+
66
+ assert_equal :rack, first_span.name
67
+ assert_equal :actioncontroller, second_span.name
68
+ assert_equal "/etc/issue", third_span[:data][:actionview][:name]
69
+ assert_equal :actionview, third_span.name
70
+ end
71
+
72
+ def test_render_json
73
+ clear_all!
74
+
75
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_json'))
76
+
77
+ traces = Instana.processor.queued_traces
78
+ assert_equal 1, traces.count
79
+ trace = traces.first
80
+
81
+ assert_equal 3, trace.spans.count
82
+ spans = trace.spans.to_a
83
+ first_span = spans[0]
84
+ second_span = spans[1]
85
+ third_span = spans[2]
86
+
87
+ assert_equal :rack, first_span.name
88
+ assert_equal :actioncontroller, second_span.name
89
+ assert_equal "JSON", third_span[:data][:actionview][:name]
90
+ assert_equal :actionview, third_span.name
91
+ end
92
+
93
+ def test_render_xml
94
+ clear_all!
95
+
96
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_xml'))
97
+
98
+ traces = Instana.processor.queued_traces
99
+ assert_equal 1, traces.count
100
+ trace = traces.first
101
+
102
+ assert_equal 3, trace.spans.count
103
+ spans = trace.spans.to_a
104
+ first_span = spans[0]
105
+ second_span = spans[1]
106
+ third_span = spans[2]
107
+
108
+ assert_equal :rack, first_span.name
109
+ assert_equal :actioncontroller, second_span.name
110
+ assert_equal "XML", third_span[:data][:actionview][:name]
111
+ assert_equal :actionview, third_span.name
112
+ end
113
+
114
+ def test_render_body
115
+ clear_all!
116
+
117
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_rawbody'))
118
+
119
+ traces = Instana.processor.queued_traces
120
+ assert_equal 1, traces.count
121
+ trace = traces.first
122
+
123
+ assert_equal 3, trace.spans.count
124
+ spans = trace.spans.to_a
125
+ first_span = spans[0]
126
+ second_span = spans[1]
127
+ third_span = spans[2]
128
+
129
+ assert_equal :rack, first_span.name
130
+ assert_equal :actioncontroller, second_span.name
131
+ assert_equal "Raw", third_span[:data][:actionview][:name]
132
+ assert_equal :actionview, third_span.name
133
+ end
134
+
135
+ def test_render_js
136
+ clear_all!
137
+
138
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_js'))
139
+
140
+ traces = Instana.processor.queued_traces
141
+ assert_equal 1, traces.count
142
+ trace = traces.first
143
+
144
+ assert_equal 3, trace.spans.count
145
+ spans = trace.spans.to_a
146
+ first_span = spans[0]
147
+ second_span = spans[1]
148
+ third_span = spans[2]
149
+
150
+ assert_equal :rack, first_span.name
151
+ assert_equal :actioncontroller, second_span.name
152
+ assert_equal "Javascript", third_span[:data][:actionview][:name]
153
+ assert_equal :actionview, third_span.name
154
+ end
155
+
156
+ def test_render_alternate_layout
157
+ clear_all!
158
+
159
+ Net::HTTP.get(URI.parse('http://localhost:3205/test/render_alternate_layout'))
160
+
161
+ traces = Instana.processor.queued_traces
162
+ assert_equal 1, traces.count
163
+ trace = traces.first
164
+
165
+ assert_equal 3, trace.spans.count
166
+ spans = trace.spans.to_a
167
+ first_span = spans[0]
168
+ second_span = spans[1]
169
+ third_span = spans[2]
170
+
171
+ assert_equal :rack, first_span.name
172
+ assert_equal :actioncontroller, second_span.name
173
+ assert_equal "layouts/mobile", third_span[:data][:actionview][:name]
174
+ assert_equal :actionview, third_span.name
175
+ end
176
+
30
177
  def test_render_partial
31
178
  clear_all!
32
179
 
@@ -113,4 +260,3 @@ class ActionViewTest < Minitest::Test
113
260
  assert_equal 'blocks/block', fifth_span[:data][:render][:name]
114
261
  end
115
262
  end
116
-
@@ -27,8 +27,15 @@ class RailsTestApp < Rails::Application
27
27
  get "/test/error" => "test#error"
28
28
  get "/test/render_view" => "test#render_view"
29
29
  get "/test/render_partial" => "test#render_partial"
30
- get "/test/render_partial_that_errors" => "test#render_partial_that_errors"
31
30
  get "/test/render_collection" => "test#render_collection"
31
+ get "/test/render_file" => "test#render_file"
32
+ get "/test/render_nothing" => "test#render_nothing"
33
+ get "/test/render_json" => "test#render_json"
34
+ get "/test/render_xml" => "test#render_xml"
35
+ get "/test/render_rawbody" => "test#render_rawbody"
36
+ get "/test/render_js" => "test#render_js"
37
+ get "/test/render_alternate_layout" => "test#render_alternate_layout"
38
+ get "/test/render_partial_that_errors" => "test#render_partial_that_errors"
32
39
 
33
40
  get "/api/world" => "socket#world"
34
41
  get "/api/error" => "socket#error"
@@ -91,6 +98,41 @@ class TestController < ActionController::Base
91
98
  @blocks = Block.all
92
99
  end
93
100
 
101
+ def render_file
102
+ @message = "Hello Instana!"
103
+ render :file => '/etc/issue'
104
+ end
105
+
106
+ def render_alternate_layout
107
+ @message = "Hello Instana!"
108
+ render :layout => 'layouts/mobile'
109
+ end
110
+
111
+ def render_nothing
112
+ @message = "Hello Instana!"
113
+ render :nothing => true
114
+ end
115
+
116
+ def render_json
117
+ @message = "Hello Instana!"
118
+ render :json => @message
119
+ end
120
+
121
+ def render_xml
122
+ @message = "Hello Instana!"
123
+ render :xml => @message
124
+ end
125
+
126
+ def render_rawbody
127
+ @message = "Hello Instana!"
128
+ render :body => 'raw body output'
129
+ end
130
+
131
+ def render_js
132
+ @message = "Hello Instana!"
133
+ render :js => @message
134
+ end
135
+
94
136
  def error
95
137
  raise Exception.new("Warning: This is a simulated Error")
96
138
  end
@@ -160,6 +160,33 @@ class OpenTracerTest < Minitest::Test
160
160
  span.finish
161
161
  end
162
162
 
163
+ def test_span_kind_translation
164
+ clear_all!
165
+ span = OpenTracing.start_span('my_app_entry')
166
+
167
+ assert span.is_a?(::Instana::Span)
168
+ assert_equal :my_app_entry, OpenTracing.current_trace.current_span.name
169
+
170
+ span.set_tag(:'span.kind', :server)
171
+ assert_equal :entry, span[:data][:sdk][:type]
172
+
173
+ span.set_tag(:'span.kind', :consumer)
174
+ assert_equal :entry, span[:data][:sdk][:type]
175
+
176
+ span.set_tag(:'span.kind', :client)
177
+ assert_equal :exit, span[:data][:sdk][:type]
178
+
179
+ span.set_tag(:'span.kind', :producer)
180
+ assert_equal :exit, span[:data][:sdk][:type]
181
+
182
+ span[:data][:sdk].delete(:type)
183
+ span.set_tag(:'span.kind', :blah)
184
+ assert_equal false, span[:data][:sdk].key?(:type)
185
+ assert_equal :blah, span[:data][:sdk][:custom][:'span.kind']
186
+
187
+ span.finish
188
+ end
189
+
163
190
  def test_start_span_with_baggage
164
191
  clear_all!
165
192
  span = OpenTracing.start_span('my_app_entry')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Giacomo Lombardo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-28 00:00:00.000000000 Z
11
+ date: 2017-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler