instana 1.11.8 → 1.193.2
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/.editorconfig +10 -0
- data/Rakefile +26 -37
- data/gemfiles/libraries.gemfile +2 -0
- data/lib/instana/agent.rb +6 -0
- data/lib/instana/base.rb +2 -0
- data/lib/instana/config.rb +11 -0
- data/lib/instana/frameworks/cuba.rb +33 -0
- data/lib/instana/frameworks/instrumentation/abstract_mysql_adapter.rb +5 -7
- data/lib/instana/frameworks/instrumentation/action_controller.rb +11 -0
- data/lib/instana/frameworks/instrumentation/action_view.rb +6 -10
- data/lib/instana/frameworks/instrumentation/active_record.rb +4 -4
- data/lib/instana/frameworks/instrumentation/mysql2_adapter.rb +17 -15
- data/lib/instana/frameworks/instrumentation/mysql_adapter.rb +11 -7
- data/lib/instana/frameworks/instrumentation/postgresql_adapter.rb +33 -19
- data/lib/instana/frameworks/roda.rb +41 -0
- data/lib/instana/frameworks/sinatra.rb +17 -0
- data/lib/instana/instrumentation/dalli.rb +9 -14
- data/lib/instana/instrumentation/excon.rb +1 -1
- data/lib/instana/instrumentation/graphql.rb +77 -0
- data/lib/instana/instrumentation/grpc.rb +72 -62
- data/lib/instana/instrumentation/instrumented_request.rb +68 -0
- data/lib/instana/instrumentation/net-http.rb +44 -43
- data/lib/instana/instrumentation/rack.rb +17 -52
- data/lib/instana/instrumentation/redis.rb +15 -18
- data/lib/instana/instrumentation/resque.rb +17 -28
- data/lib/instana/instrumentation/rest-client.rb +3 -13
- data/lib/instana/secrets.rb +42 -0
- data/lib/instana/setup.rb +1 -0
- data/lib/instana/tracer.rb +6 -0
- data/lib/instana/tracing/span.rb +14 -10
- data/lib/instana/util.rb +15 -69
- data/lib/instana/version.rb +1 -1
- data/test/apps/cuba.rb +4 -0
- data/test/apps/roda.rb +3 -0
- data/test/apps/sinatra.rb +4 -0
- data/test/config_test.rb +1 -17
- data/test/frameworks/cuba_test.rb +14 -1
- data/test/frameworks/rack_test.rb +52 -19
- data/test/frameworks/rails/actioncontroller_test.rb +12 -0
- data/test/frameworks/rails/activerecord_test.rb +80 -28
- data/test/frameworks/roda_test.rb +14 -0
- data/test/frameworks/sinatra_test.rb +14 -0
- data/test/instrumentation/excon_test.rb +0 -2
- data/test/instrumentation/graphql_test.rb +116 -0
- data/test/instrumentation/instrumented_request_test.rb +84 -0
- data/test/instrumentation/redis_test.rb +10 -0
- data/test/secrets_test.rb +73 -0
- data/test/test_helper.rb +3 -9
- data/test/tracing/id_management_test.rb +4 -66
- metadata +16 -6
data/test/test_helper.rb
CHANGED
@@ -68,17 +68,11 @@ def clear_all!
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def disable_redis_instrumentation
|
71
|
-
::
|
72
|
-
alias call call_without_instana
|
73
|
-
alias call_pipeline call_pipeline_without_instana
|
74
|
-
end
|
71
|
+
::Instana.config[:redis][:enabled] = false
|
75
72
|
end
|
76
73
|
|
77
74
|
def enable_redis_instrumentation
|
78
|
-
::
|
79
|
-
alias call call_with_instana
|
80
|
-
alias call_pipeline call_pipeline_with_instana
|
81
|
-
end
|
75
|
+
::Instana.config[:redis][:enabled] = true
|
82
76
|
end
|
83
77
|
|
84
78
|
def validate_sdk_span(json_span, sdk_hash = {}, errored = false, ec = 1)
|
@@ -156,4 +150,4 @@ def find_first_span_by_qualifier(spans, &block)
|
|
156
150
|
end
|
157
151
|
end
|
158
152
|
raise Exception.new("Span with qualifier not found")
|
159
|
-
end
|
153
|
+
end
|
@@ -49,82 +49,20 @@ class TracerIDMgmtTest < Minitest::Test
|
|
49
49
|
converted_id = Instana::Util.header_to_id(header_id)
|
50
50
|
|
51
51
|
# Assert that it is an Integer
|
52
|
-
assert converted_id.is_a?(
|
52
|
+
assert converted_id.is_a?(String)
|
53
53
|
end
|
54
54
|
|
55
55
|
def test_header_to_id_conversion_with_bogus_header
|
56
56
|
# Bogus nil arg
|
57
57
|
bogus_result = Instana::Util.header_to_id(nil)
|
58
|
-
assert_equal
|
58
|
+
assert_equal '', bogus_result
|
59
59
|
|
60
60
|
# Bogus Integer arg
|
61
61
|
bogus_result = Instana::Util.header_to_id(1234)
|
62
|
-
assert_equal
|
62
|
+
assert_equal '', bogus_result
|
63
63
|
|
64
64
|
# Bogus Array arg
|
65
65
|
bogus_result = Instana::Util.header_to_id([1234])
|
66
|
-
assert_equal
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_id_conversion_back_and_forth
|
70
|
-
# id --> header --> id
|
71
|
-
original_id = ::Instana::Util.generate_id
|
72
|
-
header_id = Instana::Util.id_to_header(original_id)
|
73
|
-
converted_back_id = Instana::Util.header_to_id(header_id)
|
74
|
-
assert original_id == converted_back_id
|
75
|
-
|
76
|
-
# header --> id --> header
|
77
|
-
original_header_id = "c025ee93b1aeda7b"
|
78
|
-
id = Instana::Util.header_to_id(original_header_id)
|
79
|
-
converted_back_header_id = Instana::Util.id_to_header(id)
|
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
|
98
|
-
end
|
99
|
-
|
100
|
-
def test_id_max_value_and_conversion
|
101
|
-
max_id = 9223372036854775807
|
102
|
-
min_id = -9223372036854775808
|
103
|
-
max_hex = "7fffffffffffffff"
|
104
|
-
min_hex = "8000000000000000"
|
105
|
-
|
106
|
-
assert_equal max_hex, Instana::Util.id_to_header(max_id)
|
107
|
-
assert_equal min_hex, Instana::Util.id_to_header(min_id)
|
108
|
-
|
109
|
-
assert_equal max_id, Instana::Util.header_to_id(max_hex)
|
110
|
-
assert_equal min_id, Instana::Util.header_to_id(min_hex)
|
111
|
-
end
|
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
|
66
|
+
assert_equal '', bogus_result
|
129
67
|
end
|
130
68
|
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
|
+
version: 1.193.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Giacomo Lombardo
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -175,6 +175,7 @@ extra_rdoc_files: []
|
|
175
175
|
files:
|
176
176
|
- ".circleci/config.yml"
|
177
177
|
- ".codeclimate.yml"
|
178
|
+
- ".editorconfig"
|
178
179
|
- ".fasterer.yml"
|
179
180
|
- ".gitignore"
|
180
181
|
- ".rubocop.yml"
|
@@ -231,7 +232,9 @@ files:
|
|
231
232
|
- lib/instana/instrumentation.rb
|
232
233
|
- lib/instana/instrumentation/dalli.rb
|
233
234
|
- lib/instana/instrumentation/excon.rb
|
235
|
+
- lib/instana/instrumentation/graphql.rb
|
234
236
|
- lib/instana/instrumentation/grpc.rb
|
237
|
+
- lib/instana/instrumentation/instrumented_request.rb
|
235
238
|
- lib/instana/instrumentation/net-http.rb
|
236
239
|
- lib/instana/instrumentation/rack.rb
|
237
240
|
- lib/instana/instrumentation/redis.rb
|
@@ -242,6 +245,7 @@ files:
|
|
242
245
|
- lib/instana/opentracing/carrier.rb
|
243
246
|
- lib/instana/opentracing/tracer.rb
|
244
247
|
- lib/instana/rack.rb
|
248
|
+
- lib/instana/secrets.rb
|
245
249
|
- lib/instana/setup.rb
|
246
250
|
- lib/instana/test.rb
|
247
251
|
- lib/instana/thread_local.rb
|
@@ -274,7 +278,9 @@ files:
|
|
274
278
|
- test/instana_test.rb
|
275
279
|
- test/instrumentation/dalli_test.rb
|
276
280
|
- test/instrumentation/excon_test.rb
|
281
|
+
- test/instrumentation/graphql_test.rb
|
277
282
|
- test/instrumentation/grpc_test.rb
|
283
|
+
- test/instrumentation/instrumented_request_test.rb
|
278
284
|
- test/instrumentation/net-http_test.rb
|
279
285
|
- test/instrumentation/redis_test.rb
|
280
286
|
- test/instrumentation/resque_test.rb
|
@@ -287,6 +293,7 @@ files:
|
|
287
293
|
- test/jobs/sidekiq_job_2.rb
|
288
294
|
- test/models/block.rb
|
289
295
|
- test/models/block6.rb
|
296
|
+
- test/secrets_test.rb
|
290
297
|
- test/servers/grpc_50051.rb
|
291
298
|
- test/servers/helpers/sidekiq_worker_initializer.rb
|
292
299
|
- test/servers/rackapp_6511.rb
|
@@ -306,7 +313,7 @@ metadata:
|
|
306
313
|
documentation_uri: https://docs.instana.io/ecosystem/ruby/
|
307
314
|
homepage_uri: https://www.instana.com/
|
308
315
|
source_code_uri: https://github.com/instana/ruby-sensor
|
309
|
-
post_install_message:
|
316
|
+
post_install_message:
|
310
317
|
rdoc_options: []
|
311
318
|
require_paths:
|
312
319
|
- lib
|
@@ -321,8 +328,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
321
328
|
- !ruby/object:Gem::Version
|
322
329
|
version: '0'
|
323
330
|
requirements: []
|
324
|
-
rubygems_version: 3.
|
325
|
-
signing_key:
|
331
|
+
rubygems_version: 3.2.6
|
332
|
+
signing_key:
|
326
333
|
specification_version: 4
|
327
334
|
summary: Ruby Distributed Tracing & Metrics Sensor for Instana
|
328
335
|
test_files:
|
@@ -335,6 +342,8 @@ test_files:
|
|
335
342
|
- test/agent/agent_test.rb
|
336
343
|
- test/models/block.rb
|
337
344
|
- test/models/block6.rb
|
345
|
+
- test/secrets_test.rb
|
346
|
+
- test/instrumentation/graphql_test.rb
|
338
347
|
- test/instrumentation/sidekiq-client_test.rb
|
339
348
|
- test/instrumentation/resque_test.rb
|
340
349
|
- test/instrumentation/sidekiq-worker_test.rb
|
@@ -342,6 +351,7 @@ test_files:
|
|
342
351
|
- test/instrumentation/rest-client_test.rb
|
343
352
|
- test/instrumentation/dalli_test.rb
|
344
353
|
- test/instrumentation/excon_test.rb
|
354
|
+
- test/instrumentation/instrumented_request_test.rb
|
345
355
|
- test/instrumentation/grpc_test.rb
|
346
356
|
- test/instrumentation/net-http_test.rb
|
347
357
|
- test/benchmarks/bench_opentracing.rb
|