zipkin-tracer 0.18.2 → 0.18.3

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MTBmYTA3OWEyN2U5MzA2NDMxMjBmZGJmMjQxOGQ4YzJjZDQyMDhkMw==
5
- data.tar.gz: !binary |-
6
- NmQyMjYwNzQ2NDMwMTAyNmIzYmYzZWIzMGZkZTJlZWE1ODU2NzA1OQ==
2
+ SHA1:
3
+ metadata.gz: f0811282d262c38e02aae5a1475905bcd933e3ed
4
+ data.tar.gz: 0fa985c319e8a7d6856b34f9c02e9a3b36ab0e2c
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YTM5ZmU2YzI3Y2MzNmZlYTIyMjgxYWRkMzVjZjM5NGI2YWViZTg4YzM1YTFl
10
- OTRkNmFhZmM0MDQwNjQ4YWMzNGMwNzZlOTc0NGYzNGMyNjdhMmNkZjdkZWQ3
11
- NWFiZTNhMjQyYTgwYmUyZTZlYmI0NWQyNWVkMjVhOTU0MDRkNzc=
12
- data.tar.gz: !binary |-
13
- NWY4ZGI1NjliYmU0YThiYzRiZTMxMDgzNjk4YzAyMTE1NTI2NzAxNDJkN2Vj
14
- OTIyM2JmNGU1ZTQzZWEyZjZjMGM5ZWRiOGE0YjcxZjkwMzlkYjVlZDU2ZGJi
15
- NjFkZjcwNzU4ZDlkNzlkMThmNGI0N2RhNWVjNTI1Y2RiNDVkOWU=
6
+ metadata.gz: 324ef871126c9271ad6b1859f871cca9aba9411063cfbd77c15555ac788976cfca9d0cf938d5631e027311ebc92ff683645b540d830f66a7d4d146553c5dd16f
7
+ data.tar.gz: 8a3a5ad94e777233560edc9da77b6d22048b057249c0563f2817e84d82aaf835a3c34362331764b1d0f00ae9571b8cfd87166f66bcdfddfc927dc02cc2db9726
@@ -1,3 +1,5 @@
1
+ require 'resolv'
2
+
1
3
  module ZipkinTracer
2
4
  # Resolves hostnames in the endpoints of the annotations.
3
5
  # Resolving hostnames is a very expensive operation. We want to store them raw in the main thread
@@ -8,7 +10,7 @@ module ZipkinTracer
8
10
 
9
11
  each_annotation(spans) do |annotation|
10
12
  hostname = annotation.host.ipv4
11
- if hostname.to_s =~ /\A[a-zA-Z]/ # hostnames start with letters, else we already have an IP
13
+ unless resolved_ip_address?(hostname.to_s)
12
14
  annotation.host.ipv4 = host_to_ip[hostname]
13
15
  end
14
16
  end
@@ -19,6 +21,13 @@ module ZipkinTracer
19
21
  LOCALHOST_I32 = 0x7f000001.freeze
20
22
  IP_FIELD = 3
21
23
 
24
+ def resolved_ip_address?(ip_string)
25
+ # When the ip_format is string, we will match with one of these two regexp
26
+ # When the ip_format is :i32 (used by kafka), we just check the string is a number
27
+ !!(ip_string =~ Regexp.union(Resolv::IPv4::Regex, Resolv::IPv6::Regex)) ||
28
+ ip_string.to_i.to_s == ip_string
29
+ end
30
+
22
31
  def each_annotation(spans, &block)
23
32
  spans.each do |span|
24
33
  span.annotations.each do |annotation|
@@ -12,5 +12,5 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  module ZipkinTracer
15
- VERSION = '0.18.2'.freeze
15
+ VERSION = '0.18.3'.freeze
16
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zipkin-tracer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.2
4
+ version: 0.18.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franklin Hu
@@ -13,132 +13,132 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2016-06-22 00:00:00.000000000 Z
16
+ date: 2016-11-02 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: faraday
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
- - - ~>
22
+ - - "~>"
23
23
  - !ruby/object:Gem::Version
24
24
  version: '0.8'
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
28
  requirements:
29
- - - ~>
29
+ - - "~>"
30
30
  - !ruby/object:Gem::Version
31
31
  version: '0.8'
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: finagle-thrift
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - ~>
36
+ - - "~>"
37
37
  - !ruby/object:Gem::Version
38
38
  version: 1.4.1
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
42
42
  requirements:
43
- - - ~>
43
+ - - "~>"
44
44
  - !ruby/object:Gem::Version
45
45
  version: 1.4.1
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: rack
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
- - - ! '>='
50
+ - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: '1.0'
53
53
  type: :runtime
54
54
  prerelease: false
55
55
  version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ! '>='
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
59
  version: '1.0'
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: sucker_punch
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ~>
64
+ - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '2.0'
67
67
  type: :runtime
68
68
  prerelease: false
69
69
  version_requirements: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ~>
71
+ - - "~>"
72
72
  - !ruby/object:Gem::Version
73
73
  version: '2.0'
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: rspec
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ~>
78
+ - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '3.3'
81
81
  type: :development
82
82
  prerelease: false
83
83
  version_requirements: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - ~>
85
+ - - "~>"
86
86
  - !ruby/object:Gem::Version
87
87
  version: '3.3'
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: rack-test
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - ~>
92
+ - - "~>"
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0.6'
95
95
  type: :development
96
96
  prerelease: false
97
97
  version_requirements: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - ~>
99
+ - - "~>"
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0.6'
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rake
104
104
  requirement: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - ~>
106
+ - - "~>"
107
107
  - !ruby/object:Gem::Version
108
108
  version: '10.0'
109
109
  type: :development
110
110
  prerelease: false
111
111
  version_requirements: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - ~>
113
+ - - "~>"
114
114
  - !ruby/object:Gem::Version
115
115
  version: '10.0'
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: timecop
118
118
  requirement: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - ~>
120
+ - - "~>"
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0.8'
123
123
  type: :development
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - ~>
127
+ - - "~>"
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0.8'
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: webmock
132
132
  requirement: !ruby/object:Gem::Requirement
133
133
  requirements:
134
- - - ~>
134
+ - - "~>"
135
135
  - !ruby/object:Gem::Version
136
136
  version: '1.22'
137
137
  type: :development
138
138
  prerelease: false
139
139
  version_requirements: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - ~>
141
+ - - "~>"
142
142
  - !ruby/object:Gem::Version
143
143
  version: '1.22'
144
144
  description: Adds tracing instrumentation for ruby applications
@@ -177,12 +177,12 @@ require_paths:
177
177
  - lib
178
178
  required_ruby_version: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - ! '>='
180
+ - - ">="
181
181
  - !ruby/object:Gem::Version
182
- version: '0'
182
+ version: 2.0.0
183
183
  required_rubygems_version: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ! '>='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: 1.3.5
188
188
  requirements: []