aws-xray 0.9.5 → 0.9.6
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/configuration.rb +1 -0
- data/lib/aws/xray/header_parser.rb +1 -2
- data/lib/aws/xray/rack.rb +10 -8
- data/lib/aws/xray/segment.rb +0 -1
- data/lib/aws/xray/trace.rb +3 -3
- data/lib/aws/xray/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49d78b0969ee078afa62cbc258f473c778b70058
|
4
|
+
data.tar.gz: 5f9f8dd748de3e9792d6f89a820fb67e4af1e8cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf5667f8ddfc6b89c5c1ff5131925e4a75da426716401511b039ccf219f0761180301ea53d2431b70fb3a3589fd2753a6817d76bf65261152388a7ff61d28d46
|
7
|
+
data.tar.gz: fb0a771492810d55279fafe53b94a8ab530baf7945f300e433cfa73aa17f31cd25aa20b2b9137e4485755839b748d50ab3e8d7bbe39a22dbb9176424e1074cb9
|
@@ -3,7 +3,6 @@ module Aws
|
|
3
3
|
module HeaderParser
|
4
4
|
extend self
|
5
5
|
|
6
|
-
# XXX: returns error when given invaild header_value
|
7
6
|
# Header format document: http://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader
|
8
7
|
def parse(header_value)
|
9
8
|
h = {}
|
@@ -13,7 +12,7 @@ module Aws
|
|
13
12
|
header_value.chars.each_with_index do |c, i|
|
14
13
|
next if space?(c)
|
15
14
|
if delim?(c)
|
16
|
-
h[key] = value
|
15
|
+
h[key] = value unless key.empty?
|
17
16
|
key, value = '', ''
|
18
17
|
value_mode = false
|
19
18
|
next
|
data/lib/aws/xray/rack.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'aws/xray/trace'
|
2
2
|
require 'aws/xray/client'
|
3
3
|
require 'aws/xray/context'
|
4
|
-
require 'aws/xray/version_detector'
|
5
4
|
|
6
5
|
module Aws
|
7
6
|
module Xray
|
@@ -32,12 +31,7 @@ module Aws
|
|
32
31
|
private
|
33
32
|
|
34
33
|
def call_with_tracing(env)
|
35
|
-
|
36
|
-
trace = if header_value
|
37
|
-
Trace.build_from_header_value(header_value)
|
38
|
-
else
|
39
|
-
Trace.generate
|
40
|
-
end
|
34
|
+
trace = build_trace(env[TRACE_ENV])
|
41
35
|
env[ORIGINAL_TRACE_ENV] = env[TRACE_ENV] # just for the record
|
42
36
|
env[TRACE_ENV] = trace.to_header_value
|
43
37
|
|
@@ -45,12 +39,20 @@ module Aws
|
|
45
39
|
Context.current.base_trace do |seg|
|
46
40
|
seg.set_http_request(Request.build_from_rack_env(env))
|
47
41
|
status, headers, body = @app.call(env)
|
48
|
-
seg.set_http_response(status, headers['Content-Length'])
|
42
|
+
seg.set_http_response(status, headers['Content-Length'] || 0)
|
49
43
|
headers[TRACE_HEADER] = trace.to_header_value
|
50
44
|
[status, headers, body]
|
51
45
|
end
|
52
46
|
end
|
53
47
|
end
|
48
|
+
|
49
|
+
def build_trace(header_value)
|
50
|
+
if header_value
|
51
|
+
Trace.build_from_header_value(header_value)
|
52
|
+
else
|
53
|
+
Trace.generate
|
54
|
+
end
|
55
|
+
end
|
54
56
|
end
|
55
57
|
end
|
56
58
|
end
|
data/lib/aws/xray/segment.rb
CHANGED
data/lib/aws/xray/trace.rb
CHANGED
@@ -9,14 +9,14 @@ module Aws
|
|
9
9
|
new(root: generate_root(now))
|
10
10
|
end
|
11
11
|
|
12
|
-
def build_from_header_value(header_value)
|
12
|
+
def build_from_header_value(header_value, now = Time.now)
|
13
13
|
h = HeaderParser.parse(header_value)
|
14
|
-
|
14
|
+
root = h['Root'] || generate_root(now)
|
15
|
+
new(root: root, sampled: h['Sampled'] != '0', parent: h['Parent'])
|
15
16
|
end
|
16
17
|
|
17
18
|
private
|
18
19
|
|
19
|
-
# XXX: securerandom?
|
20
20
|
def generate_root(now)
|
21
21
|
"1-#{now.to_i.to_s(16)}-#{SecureRandom.hex(12)}"
|
22
22
|
end
|
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.9.
|
4
|
+
version: 0.9.6
|
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-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|