aws-xray 0.16.3 → 0.16.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 +4 -4
- data/lib/aws/xray/faraday.rb +1 -14
- data/lib/aws/xray/hooks/net_http.rb +1 -15
- data/lib/aws/xray/rack.rb +2 -1
- data/lib/aws/xray/segment.rb +22 -0
- data/lib/aws/xray/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c18e62bee058b20f2bbfc0a46732b491974cfd1b
|
4
|
+
data.tar.gz: 245d0a54a8eda2e84fb317eaed923f7aa340a042
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c25b50647422653efcaecaae9fef3d22be3aa70dd90ee24839531f0a64e39905d34bd43c529793cda76a90865ba43e6674245640127a804479b480978f662952
|
7
|
+
data.tar.gz: 4e7ef29b919b9ae8d97d9027c7c99397611df28216196d6782bdee3476269aff99aaed83cc5034979e112b13c5c8d7bdd71b233b3c6521bea657bc70b371203d
|
data/lib/aws/xray/faraday.rb
CHANGED
@@ -23,20 +23,7 @@ module Aws
|
|
23
23
|
|
24
24
|
res = Context.current.disable_trace(:net_http) { @app.call(req_env) }
|
25
25
|
res.on_complete do |res_env|
|
26
|
-
sub.
|
27
|
-
case res_env.status
|
28
|
-
when 499
|
29
|
-
cause = Cause.new(stack: caller, message: 'Got 499', type: 'http_request_error')
|
30
|
-
sub.set_error(error: true, throttle: true, cause: cause)
|
31
|
-
when 400..498
|
32
|
-
cause = Cause.new(stack: caller, message: 'Got 4xx', type: 'http_request_error')
|
33
|
-
sub.set_error(error: true, cause: cause)
|
34
|
-
when 500..599
|
35
|
-
cause = Cause.new(stack: caller, message: 'Got 5xx', type: 'http_request_error')
|
36
|
-
sub.set_error(fault: true, remote: true, cause: cause)
|
37
|
-
else
|
38
|
-
# pass
|
39
|
-
end
|
26
|
+
sub.set_http_response_with_error(res_env.status, res_env.response_headers['Content-Length'], remote: true)
|
40
27
|
end
|
41
28
|
end
|
42
29
|
end
|
@@ -28,21 +28,7 @@ module Aws
|
|
28
28
|
|
29
29
|
res = request_without_aws_xray(req, *args, &block)
|
30
30
|
|
31
|
-
sub.
|
32
|
-
case res.code.to_i
|
33
|
-
when 499
|
34
|
-
cause = Cause.new(stack: caller, message: 'Got 499', type: 'http_request_error')
|
35
|
-
sub.set_error(error: true, throttle: true, cause: cause)
|
36
|
-
when 400..498
|
37
|
-
cause = Cause.new(stack: caller, message: 'Got 4xx', type: 'http_request_error')
|
38
|
-
sub.set_error(error: true, cause: cause)
|
39
|
-
when 500..599
|
40
|
-
cause = Cause.new(stack: caller, message: 'Got 5xx', type: 'http_request_error')
|
41
|
-
sub.set_error(fault: true, remote: true, cause: cause)
|
42
|
-
else
|
43
|
-
# pass
|
44
|
-
end
|
45
|
-
|
31
|
+
sub.set_http_response_with_error(res.code.to_i, res['Content-Length'], remote: true)
|
46
32
|
res
|
47
33
|
end
|
48
34
|
end
|
data/lib/aws/xray/rack.rb
CHANGED
@@ -39,7 +39,8 @@ module Aws
|
|
39
39
|
Context.current.base_trace do |seg|
|
40
40
|
seg.set_http_request(Request.build_from_rack_env(env))
|
41
41
|
status, headers, body = @app.call(env)
|
42
|
-
|
42
|
+
length = headers['Content-Length'] || 0
|
43
|
+
seg.set_http_response_with_error(status, length, remote: false)
|
43
44
|
headers[TRACE_HEADER] = trace.to_header_value
|
44
45
|
[status, headers, body]
|
45
46
|
end
|
data/lib/aws/xray/segment.rb
CHANGED
@@ -43,6 +43,28 @@ module Aws
|
|
43
43
|
@http_response = Response.new(status, length)
|
44
44
|
end
|
45
45
|
|
46
|
+
# Automatically set error according to status code.
|
47
|
+
# @param [Integer] status HTTP status
|
48
|
+
# @param [Integer] length Size of HTTP response body
|
49
|
+
# @param [Boolean] remote Whether the response is from remote server or not.
|
50
|
+
def set_http_response_with_error(status, length, remote:)
|
51
|
+
set_http_response(status, length)
|
52
|
+
type = remote ? 'http_request_error' : 'http_response_error'
|
53
|
+
case status.to_i
|
54
|
+
when 499
|
55
|
+
cause = Cause.new(stack: caller, message: 'Got 499', type: type)
|
56
|
+
set_error(error: true, throttle: true, cause: cause)
|
57
|
+
when 400..498
|
58
|
+
cause = Cause.new(stack: caller, message: 'Got 4xx', type: type)
|
59
|
+
set_error(error: true, cause: cause)
|
60
|
+
when 500..599
|
61
|
+
cause = Cause.new(stack: caller, message: 'Got 5xx', type: type)
|
62
|
+
set_error(fault: true, remote: remote, cause: cause)
|
63
|
+
else
|
64
|
+
# pass
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
46
68
|
# @param [Boolean] error Indicating that a client error occurred (response status code was 4XX Client Error).
|
47
69
|
# @param [Boolean] throttle Indicating that a request was throttled (response status code was 429 Too Many Requests).
|
48
70
|
# @param [Boolean] fault Indicating that a server error occurred (response status code was 5XX Server Error).
|
data/lib/aws/xray/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-xray
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.
|
4
|
+
version: 0.16.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taiki Ono
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -177,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
177
|
version: '0'
|
178
178
|
requirements: []
|
179
179
|
rubyforge_project:
|
180
|
-
rubygems_version: 2.
|
180
|
+
rubygems_version: 2.5.2
|
181
181
|
signing_key:
|
182
182
|
specification_version: 4
|
183
183
|
summary: The unofficial X-Ray Tracing SDK for Ruby.
|