instana 1.193.6 → 1.195.4
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/.circleci/config.yml +16 -2
- data/Appraisals +13 -1
- data/docker-compose.yml +20 -0
- data/gemfiles/aws_30.gemfile +3 -0
- data/gemfiles/excon_021.gemfile +18 -0
- data/gemfiles/excon_079.gemfile +18 -0
- data/gemfiles/shoryuken_50.gemfile +19 -0
- data/lib/instana/activators/aws_sdk_s3.rb +20 -0
- data/lib/instana/activators/aws_sdk_sns.rb +20 -0
- data/lib/instana/activators/aws_sdk_sqs.rb +20 -0
- data/lib/instana/activators/excon.rb +1 -1
- data/lib/instana/activators/shoryuken.rb +24 -0
- data/lib/instana/config.rb +3 -0
- data/lib/instana/instrumentation/aws_sdk_dynamodb.rb +21 -2
- data/lib/instana/instrumentation/aws_sdk_s3.rb +55 -0
- data/lib/instana/instrumentation/aws_sdk_sns.rb +29 -0
- data/lib/instana/instrumentation/aws_sdk_sqs.rb +98 -0
- data/lib/instana/instrumentation/excon.rb +17 -4
- data/lib/instana/instrumentation/instrumented_request.rb +64 -7
- data/lib/instana/instrumentation/net-http.rb +9 -2
- data/lib/instana/instrumentation/rack.rb +35 -15
- data/lib/instana/instrumentation/shoryuken.rb +44 -0
- data/lib/instana/secrets.rb +2 -2
- data/lib/instana/tracer.rb +14 -11
- data/lib/instana/tracing/span.rb +3 -3
- data/lib/instana/tracing/span_context.rb +25 -1
- data/lib/instana/version.rb +1 -1
- data/test/instrumentation/aws_test.rb +130 -2
- data/test/instrumentation/excon_test.rb +16 -1
- data/test/instrumentation/net_http_test.rb +18 -0
- data/test/instrumentation/rack_instrumented_request_test.rb +50 -3
- data/test/instrumentation/rack_test.rb +141 -0
- data/test/instrumentation/shoryuken_test.rb +47 -0
- data/test/tracing/opentracing_test.rb +3 -3
- metadata +16 -3
- data/Dockerfile +0 -16
@@ -0,0 +1,47 @@
|
|
1
|
+
# (c) Copyright IBM Corp. 2021
|
2
|
+
# (c) Copyright Instana Inc. 2021
|
3
|
+
|
4
|
+
require 'test_helper'
|
5
|
+
require 'ostruct'
|
6
|
+
|
7
|
+
class ShoryukenTest < Minitest::Test
|
8
|
+
def setup
|
9
|
+
clear_all!
|
10
|
+
@middleware = Instana::Instrumentation::Shoryuken.new
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_start_trace_with_context
|
14
|
+
id = Instana::Util.generate_id
|
15
|
+
message = OpenStruct.new(
|
16
|
+
queue_url: 'http://example.com',
|
17
|
+
message_attributes: {
|
18
|
+
"X_INSTANA_T" => OpenStruct.new(string_value: id),
|
19
|
+
"X_INSTANA_S" => OpenStruct.new(string_value: id),
|
20
|
+
"X_INSTANA_L" => OpenStruct.new(string_value: '1')
|
21
|
+
}
|
22
|
+
)
|
23
|
+
|
24
|
+
@middleware.call(nil, nil, message, nil) {}
|
25
|
+
|
26
|
+
span = ::Instana.processor.queued_spans.first
|
27
|
+
|
28
|
+
assert_equal id, span[:t]
|
29
|
+
assert_equal id, span[:p]
|
30
|
+
assert_equal 'entry', span[:data][:sqs][:sort]
|
31
|
+
assert_equal 'http://example.com', span[:data][:sqs][:queue]
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_start_trace
|
35
|
+
message = OpenStruct.new(
|
36
|
+
queue_url: 'http://example.com'
|
37
|
+
)
|
38
|
+
|
39
|
+
@middleware.call(nil, nil, message, nil) {}
|
40
|
+
|
41
|
+
span = ::Instana.processor.queued_spans.first
|
42
|
+
|
43
|
+
assert_nil span[:p]
|
44
|
+
assert_equal 'entry', span[:data][:sqs][:sort]
|
45
|
+
assert_equal 'http://example.com', span[:data][:sqs][:queue]
|
46
|
+
end
|
47
|
+
end
|
@@ -304,7 +304,7 @@ class OpenTracerTest < Minitest::Test
|
|
304
304
|
assert_equal second_span[:s], third_span[:p]
|
305
305
|
|
306
306
|
# Every span should have baggage
|
307
|
-
assert_equal(
|
307
|
+
assert_equal({}, entry_span.context.baggage)
|
308
308
|
assert_equal({:my_bag=>1}, ac_span.context.baggage)
|
309
309
|
assert_equal({:my_bag=>1}, av_span.context.baggage)
|
310
310
|
end
|
@@ -331,9 +331,9 @@ class OpenTracerTest < Minitest::Test
|
|
331
331
|
spans = ::Instana.processor.queued_spans
|
332
332
|
assert_equal 3, spans.length
|
333
333
|
|
334
|
-
assert_equal(
|
334
|
+
assert_equal({}, entry_span.context.baggage)
|
335
335
|
assert_equal({:my_bag=>1}, ac_span.context.baggage)
|
336
|
-
assert_equal(
|
336
|
+
assert_equal({}, av_span.context.baggage)
|
337
337
|
end
|
338
338
|
|
339
339
|
def test_start_active_span
|
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.195.4
|
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: 2021-
|
11
|
+
date: 2021-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -153,7 +153,6 @@ files:
|
|
153
153
|
- ".rubocop.yml"
|
154
154
|
- ".rubocop_todo.yml"
|
155
155
|
- Appraisals
|
156
|
-
- Dockerfile
|
157
156
|
- Gemfile
|
158
157
|
- LICENSE
|
159
158
|
- README.md
|
@@ -168,6 +167,7 @@ files:
|
|
168
167
|
- benchmarks/time_processing.rb
|
169
168
|
- bin/console
|
170
169
|
- bin/setup
|
170
|
+
- docker-compose.yml
|
171
171
|
- examples/opentracing.rb
|
172
172
|
- examples/tracing.rb
|
173
173
|
- extras/license_header.rb
|
@@ -176,6 +176,8 @@ files:
|
|
176
176
|
- gemfiles/cuba_30.gemfile
|
177
177
|
- gemfiles/dalli_20.gemfile
|
178
178
|
- gemfiles/excon_02.gemfile
|
179
|
+
- gemfiles/excon_021.gemfile
|
180
|
+
- gemfiles/excon_079.gemfile
|
179
181
|
- gemfiles/graphql_10.gemfile
|
180
182
|
- gemfiles/grpc_10.gemfile
|
181
183
|
- gemfiles/net_http_01.gemfile
|
@@ -192,6 +194,7 @@ files:
|
|
192
194
|
- gemfiles/rest_client_20.gemfile
|
193
195
|
- gemfiles/roda_20.gemfile
|
194
196
|
- gemfiles/roda_30.gemfile
|
197
|
+
- gemfiles/shoryuken_50.gemfile
|
195
198
|
- gemfiles/sidekiq_42.gemfile
|
196
199
|
- gemfiles/sidekiq_50.gemfile
|
197
200
|
- gemfiles/sinatra_14.gemfile
|
@@ -204,6 +207,9 @@ files:
|
|
204
207
|
- lib/instana/activators/action_view.rb
|
205
208
|
- lib/instana/activators/active_record.rb
|
206
209
|
- lib/instana/activators/aws_sdk_dynamodb.rb
|
210
|
+
- lib/instana/activators/aws_sdk_s3.rb
|
211
|
+
- lib/instana/activators/aws_sdk_sns.rb
|
212
|
+
- lib/instana/activators/aws_sdk_sqs.rb
|
207
213
|
- lib/instana/activators/cuba.rb
|
208
214
|
- lib/instana/activators/dalli.rb
|
209
215
|
- lib/instana/activators/excon.rb
|
@@ -218,6 +224,7 @@ files:
|
|
218
224
|
- lib/instana/activators/resque_worker.rb
|
219
225
|
- lib/instana/activators/rest_client.rb
|
220
226
|
- lib/instana/activators/roda.rb
|
227
|
+
- lib/instana/activators/shoryuken.rb
|
221
228
|
- lib/instana/activators/sidekiq_client.rb
|
222
229
|
- lib/instana/activators/sidekiq_worker.rb
|
223
230
|
- lib/instana/activators/sinatra.rb
|
@@ -243,6 +250,9 @@ files:
|
|
243
250
|
- lib/instana/instrumentation/action_view.rb
|
244
251
|
- lib/instana/instrumentation/active_record.rb
|
245
252
|
- lib/instana/instrumentation/aws_sdk_dynamodb.rb
|
253
|
+
- lib/instana/instrumentation/aws_sdk_s3.rb
|
254
|
+
- lib/instana/instrumentation/aws_sdk_sns.rb
|
255
|
+
- lib/instana/instrumentation/aws_sdk_sqs.rb
|
246
256
|
- lib/instana/instrumentation/dalli.rb
|
247
257
|
- lib/instana/instrumentation/excon.rb
|
248
258
|
- lib/instana/instrumentation/graphql.rb
|
@@ -253,6 +263,7 @@ files:
|
|
253
263
|
- lib/instana/instrumentation/redis.rb
|
254
264
|
- lib/instana/instrumentation/resque.rb
|
255
265
|
- lib/instana/instrumentation/rest-client.rb
|
266
|
+
- lib/instana/instrumentation/shoryuken.rb
|
256
267
|
- lib/instana/instrumentation/sidekiq-client.rb
|
257
268
|
- lib/instana/instrumentation/sidekiq-worker.rb
|
258
269
|
- lib/instana/opentracing/carrier.rb
|
@@ -294,6 +305,7 @@ files:
|
|
294
305
|
- test/instrumentation/redis_test.rb
|
295
306
|
- test/instrumentation/resque_test.rb
|
296
307
|
- test/instrumentation/rest_client_test.rb
|
308
|
+
- test/instrumentation/shoryuken_test.rb
|
297
309
|
- test/instrumentation/sidekiq-client_test.rb
|
298
310
|
- test/instrumentation/sidekiq-worker_test.rb
|
299
311
|
- test/secrets_test.rb
|
@@ -365,6 +377,7 @@ test_files:
|
|
365
377
|
- test/instrumentation/rails_action_view_test.rb
|
366
378
|
- test/instrumentation/rack_test.rb
|
367
379
|
- test/instrumentation/rack_instrumented_request_test.rb
|
380
|
+
- test/instrumentation/shoryuken_test.rb
|
368
381
|
- test/instrumentation/rails_active_record_test.rb
|
369
382
|
- test/instrumentation/redis_test.rb
|
370
383
|
- test/instrumentation/dalli_test.rb
|
data/Dockerfile
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
# For development/testing, you can run this instrumentation
|
2
|
-
# interactively in a Docker container:
|
3
|
-
# docker build -t instana/ruby-sensor:1.0
|
4
|
-
#
|
5
|
-
# To mount the host ruby-sensor directory in the container:
|
6
|
-
# docker run -v /host/path/to/ruby-sensor:/ruby-sensor instana/ruby-sensor:1.0 /bin/bash
|
7
|
-
#
|
8
|
-
# Once inside the container, you can run `cd /ruby-sensor && bundle install && bundle exec rake console` for a development
|
9
|
-
# console in the gem.
|
10
|
-
#
|
11
|
-
# https://github.com/instana/ruby-sensor#development
|
12
|
-
#
|
13
|
-
FROM ruby:2.6
|
14
|
-
ENV INSTANA_DEBUG=true
|
15
|
-
RUN gem install bundler
|
16
|
-
RUN apt update && apt install -y vim
|