instana 1.10.9-java → 1.10.10-java
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/instrumentation/rack.rb +6 -2
- data/lib/instana/version.rb +1 -1
- data/test/frameworks/rails/actioncontroller_test.rb +65 -2
- data/test/servers/rails_3205.rb +10 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f41161af3f02da722d5c6ea5909141cbae165095a623213f4734f1ff6f7d8ea2
|
4
|
+
data.tar.gz: ecfdd99be5ccca896b46c53db9be42c1b542d89ef7f036c28ecd42c8290144b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e00c3e9d3f66f7585e5b6f41a6cc44d692296f1f048083976eb1949c51cd2c05e0912d7f2e4de052c09f8c2669b972598371e6311ca121f8a7131531f52b496
|
7
|
+
data.tar.gz: 65e824158c542d2cf0756bc37da41288e14d7c4efa22df38b9cadc18c1736b7d140eadede22f1d8dd8be5656b107fde8ee4ddbe39523ee606180481676ef3823
|
@@ -51,9 +51,13 @@ module Instana
|
|
51
51
|
status, headers, response = @app.call(env)
|
52
52
|
|
53
53
|
if ::Instana.tracer.tracing?
|
54
|
-
|
54
|
+
# In case some previous middleware returned a string status, make sure that we're dealing with
|
55
|
+
# an integer. In Ruby nil.to_i, "asdfasdf".to_i will always return 0 from Ruby versions 1.8.7 and newer.
|
56
|
+
# So if an 0 status is reported here, it indicates some other issue (e.g. no status from previous middleware)
|
57
|
+
# See Rack Spec: https://www.rubydoc.info/github/rack/rack/file/SPEC#label-The+Status
|
58
|
+
kvs[:http][:status] = status.to_i
|
55
59
|
|
56
|
-
if
|
60
|
+
if status.to_i.between?(500, 511)
|
57
61
|
# Because of the 5xx response, we flag this span as errored but
|
58
62
|
# without a backtrace (no exception)
|
59
63
|
::Instana.tracer.log_error(nil)
|
data/lib/instana/version.rb
CHANGED
@@ -78,6 +78,49 @@ class ActionControllerTest < Minitest::Test
|
|
78
78
|
assert_equal "Exception", ac_span[:data][:log][:parameters]
|
79
79
|
end
|
80
80
|
|
81
|
+
def test_api_controller_404
|
82
|
+
# Run only when ActionController::API is used/defined
|
83
|
+
skip unless defined?(::ActionController::API)
|
84
|
+
|
85
|
+
clear_all!
|
86
|
+
|
87
|
+
Net::HTTP.get(URI.parse('http://localhost:3205/api/thispathdoesnotexist'))
|
88
|
+
|
89
|
+
spans = ::Instana.processor.queued_spans
|
90
|
+
assert_equal 1, spans.length
|
91
|
+
|
92
|
+
rack_span = find_first_span_by_name(spans, :rack)
|
93
|
+
|
94
|
+
assert_equal false, rack_span.key?(:error)
|
95
|
+
assert_equal "/api/thispathdoesnotexist", rack_span[:data][:http][:url]
|
96
|
+
assert_equal 404, rack_span[:data][:http][:status]
|
97
|
+
assert_equal "GET", rack_span[:data][:http][:method]
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_api_controller_raise_routing_error
|
101
|
+
# Run only when ActionController::API is used/defined
|
102
|
+
skip unless defined?(::ActionController::API)
|
103
|
+
|
104
|
+
clear_all!
|
105
|
+
|
106
|
+
Net::HTTP.get(URI.parse('http://localhost:3205/api/raise_route_error'))
|
107
|
+
|
108
|
+
spans = ::Instana.processor.queued_spans
|
109
|
+
assert_equal 2, spans.length
|
110
|
+
|
111
|
+
rack_span = find_first_span_by_name(spans, :rack)
|
112
|
+
ac_span = find_first_span_by_name(spans, :actioncontroller)
|
113
|
+
|
114
|
+
assert_equal false, rack_span.key?(:error)
|
115
|
+
assert_equal "/api/raise_route_error", rack_span[:data][:http][:url]
|
116
|
+
assert_equal 404, rack_span[:data][:http][:status]
|
117
|
+
assert_equal "GET", rack_span[:data][:http][:method]
|
118
|
+
|
119
|
+
assert_equal true, ac_span[:error]
|
120
|
+
assert ac_span.key?(:stack)
|
121
|
+
assert 1, ac_span[:ec]
|
122
|
+
end
|
123
|
+
|
81
124
|
def test_404
|
82
125
|
clear_all!
|
83
126
|
|
@@ -86,8 +129,28 @@ class ActionControllerTest < Minitest::Test
|
|
86
129
|
spans = ::Instana.processor.queued_spans
|
87
130
|
assert_equal 1, spans.length
|
88
131
|
|
89
|
-
|
132
|
+
rack_span = find_first_span_by_name(spans, :rack)
|
90
133
|
|
91
|
-
assert_equal
|
134
|
+
assert_equal false, rack_span.key?(:error)
|
135
|
+
assert_equal 404, rack_span[:data][:http][:status]
|
136
|
+
end
|
137
|
+
|
138
|
+
def test_raise_routing_error
|
139
|
+
clear_all!
|
140
|
+
|
141
|
+
Net::HTTP.get(URI.parse('http://localhost:3205/test/raise_route_error'))
|
142
|
+
|
143
|
+
spans = ::Instana.processor.queued_spans
|
144
|
+
assert_equal 2, spans.length
|
145
|
+
|
146
|
+
rack_span = find_first_span_by_name(spans, :rack)
|
147
|
+
ac_span = find_first_span_by_name(spans, :actioncontroller)
|
148
|
+
|
149
|
+
assert_equal false, rack_span.key?(:error)
|
150
|
+
assert_equal 404, rack_span[:data][:http][:status]
|
151
|
+
|
152
|
+
assert_equal true, ac_span[:error]
|
153
|
+
assert ac_span.key?(:stack)
|
154
|
+
assert 1, ac_span[:ec]
|
92
155
|
end
|
93
156
|
end
|
data/test/servers/rails_3205.rb
CHANGED
@@ -39,9 +39,11 @@ class RailsTestApp < Rails::Application
|
|
39
39
|
get "/test/render_js" => "test#render_js"
|
40
40
|
get "/test/render_alternate_layout" => "test#render_alternate_layout"
|
41
41
|
get "/test/render_partial_that_errors" => "test#render_partial_that_errors"
|
42
|
+
get "/test/raise_route_error" => "test#raise_route_error"
|
42
43
|
|
43
44
|
get "/api/world" => "socket#world"
|
44
45
|
get "/api/error" => "socket#error"
|
46
|
+
get "/api/raise_route_error" => "socket#raise_route_error"
|
45
47
|
end
|
46
48
|
|
47
49
|
# Enable cache classes. Production style.
|
@@ -172,6 +174,10 @@ class TestController < ActionController::Base
|
|
172
174
|
def error
|
173
175
|
raise Exception.new("Warning: This is a simulated Error")
|
174
176
|
end
|
177
|
+
|
178
|
+
def raise_route_error
|
179
|
+
raise ActionController::RoutingError.new('Simulated not found')
|
180
|
+
end
|
175
181
|
end
|
176
182
|
|
177
183
|
if ::Rails::VERSION::MAJOR > 4
|
@@ -184,6 +190,10 @@ if ::Rails::VERSION::MAJOR > 4
|
|
184
190
|
end
|
185
191
|
end
|
186
192
|
|
193
|
+
def raise_route_error
|
194
|
+
raise ActionController::RoutingError.new('Simulated not found')
|
195
|
+
end
|
196
|
+
|
187
197
|
def error
|
188
198
|
raise Exception.new("Warning: This is a simulated Socket API Error")
|
189
199
|
end
|
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.10.
|
4
|
+
version: 1.10.10
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Peter Giacomo Lombardo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|