zipkin-tracer 0.18.2 → 0.18.3

Sign up to get free protection for your applications and to get access to all the features.
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: []