instana 1.4.6 → 1.4.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 359eb9e6f94b0a6ea70072310f8eb59c4b964766
4
- data.tar.gz: 06daf1c2ef5af35a81216572131b5d0dca9212f9
3
+ metadata.gz: 46ca5cff704edd13d94cd98eff05943e16d54132
4
+ data.tar.gz: da416ea68943aee4b223683c8a0a1a7e33d5fbe8
5
5
  SHA512:
6
- metadata.gz: b8ccc331cc71b9b8d63f9fcd88f4aa83e89a346bd4072a30f140ef64252785bb3ac852fc5184bfc26781323281ccad46da8d2fc4a6167beb1940c36a7d97eeec
7
- data.tar.gz: f0cdf9f600f5cffefe78bb5809fc16601a56bf57ddc69a3e57e7b1ed7a472215ba49e9ca143907bbd0e8af14839ab384051f5341cb5b07b16e04f27103b3d626
6
+ metadata.gz: 1a109723a6d7285203e57d93163c7be999dd3ed7f90b3aff053d40b625a0631dc814773db35d8abed7dbdf62cf08b615649e1f0d8597841ed963354061bdd556
7
+ data.tar.gz: ca5605829d78d18841516c6af59a70d552479affd0d353169d86e245fe5e2ec0b3d5e6d1708baa92c57f1ab3f680cb4332bf6246b1e565af83cff93060215c43
@@ -393,7 +393,7 @@ module Instana
393
393
  # Indicates if the name of the current span matches <candidate>
394
394
  #
395
395
  def current_span_name?(candidate)
396
- self.current_trace && self.current_trace.current_span.name == candidate
396
+ self.current_trace && self.current_trace.current_span.name == candidate.to_sym
397
397
  end
398
398
 
399
399
  # Used in the test suite, this resets the tracer to non-tracing state.
data/lib/instana/util.rb CHANGED
@@ -191,7 +191,7 @@ module Instana
191
191
  Instana.logger.debug "id_to_header received a #{id.class}: returning empty string"
192
192
  return String.new
193
193
  end
194
- [id.to_i].pack('q>').unpack('H*')[0]
194
+ [id.to_i].pack('q>').unpack('H*')[0].gsub(/^0+/, '')
195
195
  rescue => e
196
196
  Instana.logger.error "#{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}"
197
197
  Instana.logger.debug e.backtrace.join("\r\n")
@@ -208,6 +208,12 @@ module Instana
208
208
  Instana.logger.debug "header_to_id received a #{header_id.class}: returning 0"
209
209
  return 0
210
210
  end
211
+ if header_id.length < 16
212
+ # The header is less than 16 chars. Prepend
213
+ # zeros so we can convert correctly
214
+ missing = 16 - header_id.length
215
+ header_id = ("0" * missing) + header_id
216
+ end
211
217
  [header_id].pack("H*").unpack("q>")[0]
212
218
  rescue => e
213
219
  Instana.logger.error "#{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}"
@@ -1,4 +1,4 @@
1
1
  module Instana
2
- VERSION = "1.4.6"
2
+ VERSION = "1.4.7"
3
3
  VERSION_FULL = "instana-#{VERSION}"
4
4
  end
@@ -26,7 +26,7 @@ class TracerIDMgmtTest < Minitest::Test
26
26
 
27
27
  # Assert that it is a string and there are no non-hex characters
28
28
  assert converted_id.is_a?(String)
29
- assert converted_id == "0000000000000000"
29
+ assert converted_id == ''
30
30
 
31
31
  # Test passing a nil
32
32
  converted_id = Instana::Util.id_to_header(nil)
@@ -78,6 +78,23 @@ class TracerIDMgmtTest < Minitest::Test
78
78
  id = Instana::Util.header_to_id(original_header_id)
79
79
  converted_back_header_id = Instana::Util.id_to_header(id)
80
80
  assert_equal original_header_id, converted_back_header_id
81
+
82
+ # Test a random value
83
+ id = -7815363404733516491
84
+ header = "938a406416457535"
85
+
86
+ result = Instana::Util.header_to_id(header)
87
+ assert_equal id, result
88
+
89
+ result = Instana::Util.id_to_header(id)
90
+ assert_equal header, result
91
+
92
+ 10000.times do
93
+ original_id = ::Instana::Util.generate_id
94
+ header_id = Instana::Util.id_to_header(original_id)
95
+ converted_back_id = Instana::Util.header_to_id(header_id)
96
+ assert original_id == converted_back_id
97
+ end
81
98
  end
82
99
 
83
100
  def test_id_max_value_and_conversion
@@ -93,4 +110,21 @@ class TracerIDMgmtTest < Minitest::Test
93
110
  assert_equal min_id, Instana::Util.header_to_id(min_hex)
94
111
  end
95
112
 
113
+ def test_that_leading_zeros_handled_correctly
114
+
115
+ header = ::Instana::Util.id_to_header(16)
116
+ assert_equal "10", header
117
+
118
+ id = ::Instana::Util.header_to_id("10")
119
+ assert_equal 16, id
120
+
121
+ id = ::Instana::Util.header_to_id("0000000000000010")
122
+ assert_equal 16, id
123
+
124
+ id = ::Instana::Util.header_to_id("88b6c735206ca42")
125
+ assert_equal 615705016619420226, id
126
+
127
+ id = ::Instana::Util.header_to_id("088b6c735206ca42")
128
+ assert_equal 615705016619420226, id
129
+ end
96
130
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.6
4
+ version: 1.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Giacomo Lombardo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-11 00:00:00.000000000 Z
11
+ date: 2017-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler