instana 1.4.6 → 1.4.7

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,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