aws-xray 0.16.3 → 0.16.4
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|