instana 1.11.2-java → 1.11.8-java

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.
@@ -5,8 +5,8 @@ require 'resque'
5
5
 
6
6
  if ENV.key?('REDIS_URL')
7
7
  ::Resque.redis = ENV['REDIS_URL']
8
- elsif ENV.key?('I_REDIS_URL')
9
- ::Resque.redis = ENV['I_REDIS_URL']
8
+ elsif ENV.key?('REDIS_URL')
9
+ ::Resque.redis = ENV['REDIS_URL']
10
10
  else
11
11
  ::Resque.redis = 'localhost:6379'
12
12
  end
@@ -23,16 +23,15 @@ class ResqueClientTest < Minitest::Test
23
23
  end
24
24
 
25
25
  def test_enqueue
26
- ::Instana.tracer.start_or_continue_trace('resque-client_test') do
26
+ ::Instana.tracer.start_or_continue_trace(:'resque-client_test') do
27
27
  ::Resque.enqueue(FastJob)
28
28
  end
29
29
 
30
30
  spans = ::Instana.processor.queued_spans
31
- assert_equal 3, spans.length
31
+ assert_equal 2, spans.length
32
32
 
33
33
  sdk_span = find_first_span_by_name(spans, :'resque-client_test')
34
34
  resque_span = find_first_span_by_name(spans, :'resque-client')
35
- redis_span = find_first_span_by_name(spans, :redis)
36
35
 
37
36
  assert_equal :'resque-client_test', sdk_span[:data][:sdk][:name]
38
37
 
@@ -40,48 +39,42 @@ class ResqueClientTest < Minitest::Test
40
39
  assert_equal "FastJob", resque_span[:data][:'resque-client'][:job]
41
40
  assert_equal :critical, resque_span[:data][:'resque-client'][:queue]
42
41
  assert_equal false, resque_span[:data][:'resque-client'].key?(:error)
43
-
44
- assert_equal :redis, redis_span[:n]
45
42
  end
46
43
 
47
44
  def test_enqueue_to
48
- ::Instana.tracer.start_or_continue_trace('resque-client_test') do
45
+ ::Instana.tracer.start_or_continue_trace(:'resque-client_test') do
49
46
  ::Resque.enqueue_to(:critical, FastJob)
50
47
  end
51
48
 
52
49
  spans = ::Instana.processor.queued_spans
53
- assert_equal 3, spans.length
50
+ assert_equal 2, spans.length
54
51
 
55
52
  sdk_span = find_first_span_by_name(spans, :'resque-client_test')
56
53
  resque_span = find_first_span_by_name(spans, :'resque-client')
57
- redis_span = find_first_span_by_name(spans, :redis)
58
54
 
59
55
  assert_equal :'resque-client_test', sdk_span[:data][:sdk][:name]
60
56
  assert_equal :"resque-client", resque_span[:n]
61
57
  assert_equal "FastJob", resque_span[:data][:'resque-client'][:job]
62
58
  assert_equal :critical, resque_span[:data][:'resque-client'][:queue]
63
59
  assert_equal false, resque_span[:data][:'resque-client'].key?(:error)
64
- assert_equal :redis, redis_span[:n]
65
60
  end
66
61
 
67
62
  def test_dequeue
68
- ::Instana.tracer.start_or_continue_trace('resque-client_test', '', {}) do
63
+ ::Instana.tracer.start_or_continue_trace(:'resque-client_test', '', {}) do
69
64
  ::Resque.dequeue(FastJob, { :generate => :farfalla })
70
65
  end
71
66
 
72
67
  spans = ::Instana.processor.queued_spans
73
- assert_equal 3, spans.length
68
+ assert_equal 2, spans.length
74
69
 
75
70
  sdk_span = find_first_span_by_name(spans, :'resque-client_test')
76
71
  resque_span = find_first_span_by_name(spans, :'resque-client')
77
- redis_span = find_first_span_by_name(spans, :redis)
78
72
 
79
73
  assert_equal :'resque-client_test', sdk_span[:data][:sdk][:name]
80
- assert_equal :"resque-client", spans[1][:n]
74
+ assert_equal :"resque-client", resque_span[:n]
81
75
  assert_equal "FastJob", resque_span[:data][:'resque-client'][:job]
82
76
  assert_equal :critical, resque_span[:data][:'resque-client'][:queue]
83
77
  assert_equal false, resque_span[:data][:'resque-client'].key?(:error)
84
- assert_equal :redis, redis_span[:n]
85
78
  end
86
79
 
87
80
  def test_worker_job
@@ -1,6 +1,13 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class SidekiqClientTest < Minitest::Test
4
+ def setup
5
+ Sidekiq.configure_client do |config|
6
+ config.redis = { url: ENV["REDIS_URL"] }
7
+ end
8
+ ::Sidekiq::Queue.new('some_random_queue').clear
9
+ end
10
+
4
11
  def test_config_defaults
5
12
  assert ::Instana.config[:'sidekiq-client'].is_a?(Hash)
6
13
  assert ::Instana.config[:'sidekiq-client'].key?(:enabled)
@@ -1,6 +1,12 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class SidekiqServerTest < Minitest::Test
4
+ def setup
5
+ Sidekiq.configure_client do |config|
6
+ config.redis = { url: ENV["REDIS_URL"] }
7
+ end
8
+ end
9
+
4
10
  def test_config_defaults
5
11
  assert ::Instana.config[:'sidekiq-worker'].is_a?(Hash)
6
12
  assert ::Instana.config[:'sidekiq-worker'].key?(:enabled)
@@ -7,8 +7,8 @@ class ErrorJob
7
7
  def self.perform
8
8
  if ENV.key?('REDIS_URL')
9
9
  redis = Redis.new(:url => ENV['REDIS_URL'])
10
- elsif ENV.key?('I_REDIS_URL')
11
- redis = Redis.new(:url => ENV['I_REDIS_URL'])
10
+ elsif ENV.key?('REDIS_URL')
11
+ redis = Redis.new(:url => ENV['REDIS_URL'])
12
12
  else
13
13
  redis = Redis.new(:url => 'localhost:6379')
14
14
  end
@@ -7,8 +7,8 @@ class FastJob
7
7
  def self.perform
8
8
  if ENV.key?('REDIS_URL')
9
9
  redis = Redis.new(:url => ENV['REDIS_URL'])
10
- elsif ENV.key?('I_REDIS_URL')
11
- redis = Redis.new(:url => ENV['I_REDIS_URL'])
10
+ elsif ENV.key?('REDIS_URL')
11
+ redis = Redis.new(:url => ENV['REDIS_URL'])
12
12
  else
13
13
  redis = Redis.new(:url => 'redis://localhost:6379')
14
14
  end
@@ -0,0 +1,18 @@
1
+ class Block < ActiveRecord::Base
2
+ def do_work(*args)
3
+ block = Block.first
4
+ block.name = "Charlie"
5
+ block.color = "Black"
6
+ block.save
7
+ end
8
+ end
9
+
10
+ class CreateBlocks < ActiveRecord::Migration[6.0]
11
+ def change
12
+ create_table :blocks do |t|
13
+ t.string :name
14
+ t.string :color
15
+ t.timestamps
16
+ end
17
+ end
18
+ end
@@ -8,7 +8,16 @@ end
8
8
  require "rails/all"
9
9
  require "action_controller/railtie" # require more if needed
10
10
  require 'rack/handler/puma'
11
- require File.expand_path(File.dirname(__FILE__) + '/../models/block')
11
+
12
+ if Rails::VERSION::STRING >= '6.0'
13
+ require File.expand_path(File.dirname(__FILE__) + '/../models/block6')
14
+ system("mkdir -p app/assets/config && echo '{}' > app/assets/config/manifest.js")
15
+ # Rails 6 Issue: https://github.com/rails/rails/issues/37183
16
+ class ApplicationController < ActionController::Base
17
+ end
18
+ else
19
+ require File.expand_path(File.dirname(__FILE__) + '/../models/block')
20
+ end
12
21
 
13
22
  ActiveRecord::Base.establish_connection(ENV['DATABASE_URL'])
14
23
 
@@ -25,7 +25,7 @@ allowed_sites = lambda{|uri|
25
25
  require "./test/servers/rackapp_6511"
26
26
 
27
27
  case File.basename(ENV['BUNDLE_GEMFILE'])
28
- when /rails50|rails42|rails32/
28
+ when /rails/
29
29
  require './test/servers/rails_3205'
30
30
  when /libraries/
31
31
  # Configure gRPC
@@ -39,27 +39,23 @@ when /libraries/
39
39
  end
40
40
  end
41
41
 
42
- ENV['I_REDIS_URL'] ||= 'redis://127.0.0.1:6379'
42
+ ENV['REDIS_URL'] ||= 'redis://127.0.0.1:6379'
43
43
 
44
44
  # Configure redis for sidekiq client
45
45
  Sidekiq.configure_client do |config|
46
- config.redis = { url: ENV['I_REDIS_URL'] }
46
+ config.redis = { url: ENV['REDIS_URL'] }
47
47
  end
48
48
 
49
49
  # Configure redis for sidekiq worker
50
50
  $sidekiq_mode = :server
51
51
  ::Sidekiq.configure_server do |config|
52
- config.redis = { url: ENV['I_REDIS_URL'] }
52
+ config.redis = { url: ENV['REDIS_URL'] }
53
53
  end
54
54
  $sidekiq_mode = :client
55
55
 
56
56
  require './test/servers/sidekiq/worker'
57
57
  end
58
58
 
59
- if defined?(::Redis)
60
- $redis = Redis.new(url: ENV['I_REDIS_URL'])
61
- end
62
-
63
59
  Minitest::Reporters.use! MiniTest::Reporters::SpecReporter.new
64
60
 
65
61
  # Used to reset the gem to boot state. It clears out any queued and/or staged
@@ -68,7 +64,6 @@ Minitest::Reporters.use! MiniTest::Reporters::SpecReporter.new
68
64
  def clear_all!
69
65
  ::Instana.processor.clear!
70
66
  ::Instana.tracer.clear!
71
- $redis.flushall if $redis
72
67
  nil
73
68
  end
74
69
 
@@ -332,4 +332,25 @@ class OpenTracerTest < Minitest::Test
332
332
  assert_equal({:my_bag=>1}, ac_span.context.baggage)
333
333
  assert_equal(nil, av_span.context.baggage)
334
334
  end
335
+
336
+ def test_start_active_span
337
+ clear_all!
338
+
339
+ span = OpenTracing.start_active_span(:rack)
340
+ assert_equal ::Instana::Tracer.current_span, span
341
+
342
+ sleep 0.1
343
+
344
+ span.finish
345
+
346
+ spans = ::Instana.processor.queued_spans
347
+ assert_equal 1, spans.length
348
+ end
349
+
350
+ def test_active_span
351
+ clear_all!
352
+
353
+ span = OpenTracing.start_active_span(:rack)
354
+ assert_equal OpenTracing.active_span, span
355
+ end
335
356
  end
@@ -46,6 +46,37 @@ class TracerTest < Minitest::Test
46
46
  assert_equal ::Instana.agent.agent_uuid, first_span[:f][:h]
47
47
  end
48
48
 
49
+ def test_exotic_tag_types
50
+ clear_all!
51
+
52
+ assert_equal false, ::Instana.tracer.tracing?
53
+
54
+ require 'resolv'
55
+ r = Resolv::DNS.new
56
+ ipv4 = r.getaddress("www.pwpush.com")
57
+
58
+ ::Instana.tracer.start_or_continue_trace(:rack, {:ipaddr => ipv4}) do
59
+ assert_equal true, ::Instana.tracer.tracing?
60
+ sleep 0.1
61
+ end
62
+
63
+ spans = ::Instana.processor.queued_spans
64
+ assert_equal 1, spans.length
65
+
66
+ first_span = spans.first
67
+ assert_equal :rack, first_span[:n]
68
+ assert first_span[:ts].is_a?(Integer)
69
+ assert first_span[:d].is_a?(Integer)
70
+ assert first_span[:d].between?(100, 130)
71
+ assert first_span.key?(:data)
72
+ assert first_span[:data].key?(:ipaddr)
73
+ assert first_span[:data][:ipaddr].is_a?(String)
74
+ assert first_span.key?(:f)
75
+ assert first_span[:f].key?(:e)
76
+ assert first_span[:f].key?(:h)
77
+ assert_equal ::Instana.agent.agent_uuid, first_span[:f][:h]
78
+ end
79
+
49
80
  def test_errors_are_properly_propagated
50
81
  clear_all!
51
82
  exception_raised = false
@@ -198,7 +229,6 @@ class TracerTest < Minitest::Test
198
229
  assert_equal sdk_span[:k], 3
199
230
  assert_equal sdk_span[:data][:sdk][:custom][:tags][:sub_task_info], 1
200
231
  assert_equal sdk_span[:data][:sdk][:custom][:tags][:sub_task_exit_info], 1
201
-
202
232
  end
203
233
 
204
234
  def test_block_tracing_error_capture
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.11.2
4
+ version: 1.11.8
5
5
  platform: java
6
6
  authors:
7
7
  - Peter Giacomo Lombardo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-17 00:00:00.000000000 Z
11
+ date: 2020-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -131,11 +131,11 @@ executables: []
131
131
  extensions: []
132
132
  extra_rdoc_files: []
133
133
  files:
134
+ - ".circleci/config.yml"
134
135
  - ".codeclimate.yml"
135
136
  - ".fasterer.yml"
136
137
  - ".gitignore"
137
138
  - ".rubocop.yml"
138
- - ".travis.yml"
139
139
  - Dockerfile
140
140
  - Gemfile
141
141
  - LICENSE
@@ -159,6 +159,7 @@ files:
159
159
  - gemfiles/rails42.gemfile
160
160
  - gemfiles/rails50.gemfile
161
161
  - gemfiles/rails52.gemfile
162
+ - gemfiles/rails60.gemfile
162
163
  - instana.gemspec
163
164
  - lib/instana.rb
164
165
  - lib/instana/agent.rb
@@ -243,6 +244,7 @@ files:
243
244
  - test/jobs/sidekiq_job_1.rb
244
245
  - test/jobs/sidekiq_job_2.rb
245
246
  - test/models/block.rb
247
+ - test/models/block6.rb
246
248
  - test/servers/grpc_50051.rb
247
249
  - test/servers/helpers/sidekiq_worker_initializer.rb
248
250
  - test/servers/rackapp_6511.rb
@@ -252,7 +254,6 @@ files:
252
254
  - test/tracing/custom_test.rb
253
255
  - test/tracing/id_management_test.rb
254
256
  - test/tracing/opentracing_test.rb
255
- - test/tracing/trace_test.rb
256
257
  - test/tracing/tracer_async_test.rb
257
258
  - test/tracing/tracer_test.rb
258
259
  homepage: https://www.instana.com/
@@ -290,10 +291,10 @@ test_files:
290
291
  - test/tracing/tracer_test.rb
291
292
  - test/tracing/custom_test.rb
292
293
  - test/tracing/opentracing_test.rb
293
- - test/tracing/trace_test.rb
294
294
  - test/tracing/tracer_async_test.rb
295
295
  - test/agent/agent_test.rb
296
296
  - test/models/block.rb
297
+ - test/models/block6.rb
297
298
  - test/instrumentation/sidekiq-client_test.rb
298
299
  - test/instrumentation/resque_test.rb
299
300
  - test/instrumentation/sidekiq-worker_test.rb
@@ -1,43 +0,0 @@
1
- language: ruby
2
-
3
- cache:
4
- bundler: true
5
- directories:
6
- - vendor/bundle
7
-
8
- rvm:
9
- - 2.5
10
- - 2.4
11
-
12
- before_install:
13
- - gem update --system
14
- - gem install bundler
15
- - gem --version
16
-
17
- before_script:
18
- - psql -c 'create database travis_ci_test;' -U postgres
19
- - mysql -e 'CREATE DATABASE travis_ci_test;'
20
-
21
- script: "bundle exec rake test"
22
-
23
- services:
24
- - memcached
25
- - redis
26
- - mysql
27
- - postgresql
28
-
29
- gemfile:
30
- - Gemfile
31
- - gemfiles/libraries.gemfile
32
- - gemfiles/rails50.gemfile
33
-
34
- matrix:
35
- exclude:
36
- # Rails 5.0+ requires Ruby 2.2.2 or higher
37
- - rvm: 2.1.10
38
- gemfile: gemfiles/rails50.gemfile
39
-
40
- notifications:
41
- slack:
42
- rooms:
43
- secure: Ae9tJmBO9/sgYWthHRS5uufAf8s6uIMdtmQn+gBkcAXaMWJgt1IAzpIj98Qsg15/lhHS8ezwCe7WIAWC4mM1cnwl/hP195dbgLzF4D2uOjaIXj55ckIIE06jBX1yHapu0vMFSaKwgL4auEEVg4xkehBb9TzLNG/LbExadZQOIkeLdtgU04VrPfDC9pZWPplXT4kzjMZkMESzBYaCfNl6eenu0sHdoxSvngv52MImog6aZQKT+k3ccAa1yzZNhUdy4gSZi1HafXdSCn4UTPDtkNIlsWBW8yprICLxZV/NvgUTEEJYSHO6Ucx9Er22LzKtNbEYlAs1GErGWjDzpqvvXt/5UwNx0rLDrVKI/xMIELEbT047mSgJ8tpVd0ErGA/bnDfbF2oDFTAEXq4jaeAMaVR9Q1CW0ZZF2Jh5jOKc41U+AVGgaMDaBA0ukDSeXvJcnteZ9EllOO8ZAtC2FKtBNnj36W13KTR0TkjMCl+KOiVJXnOyRJIR+CUL9BdDuODBVPZHqZaZ48N+MOG9dRb+fvkdTnwh7hU+UmR08kOsd4x+dDlm4dBrFrB8v8udQ7XuBN9AOZty2CPWFUSJM1BxtetyS3We0L6lQ8o/B9STFNK4KTa/M8wNq1Fm85h3ZKHHIHDpQnXM6vD8SV1p9u91C5UI8rEyxzW5IaT2oqXsCzU=
@@ -1,67 +0,0 @@
1
- # require 'test_helper'
2
- #
3
- # class TraceTest < Minitest::Test
4
- # def test_trace_spans_count
5
- # t = ::Instana::Trace.new(:test_trace, { :one => 1, :two => 2 })
6
- # t.new_span(:sub_span, { :sub_four => 4 })
7
- # t.end_span(:sub_five => 5)
8
- # t.end_span(:three => 3)
9
- # assert t.spans.size == 2
10
- # end
11
- #
12
- # def test_trace_with_incoming_context
13
- # incoming_context = { :trace_id => "1234", :span_id => "4321" }
14
- # t = ::Instana::Trace.new(:test_trace, { :one => 1, :two => 2 }, incoming_context)
15
- # first_span = t.spans.first
16
- # assert_equal "1234", first_span[:t]
17
- # assert_equal "4321", first_span[:p]
18
- # assert t.spans.size == 1
19
- # end
20
- #
21
- # def test_max_value_of_generated_id
22
- # # Max is the maximum value for a Java signed long
23
- # max_value = 9223372036854775807
24
- # 1000.times do
25
- # assert ::Instana::Util.generate_id <= max_value
26
- # end
27
- # end
28
- #
29
- # def test_min_value_of_generated_id
30
- # # Max is the maximum value for a Java signed long
31
- # max_value = -9223372036854775808
32
- # 1000.times do
33
- # assert ::Instana::Util.generate_id >= max_value
34
- # end
35
- # end
36
- #
37
- # def test_entry_span_doesnt_have_stack_by_default
38
- # t = ::Instana::Trace.new(:rack)
39
- # first_span = t.spans.first
40
- # assert !first_span.key?(:stack)
41
- # end
42
- #
43
- # def test_entry_span_has_stack_by_config
44
- # ::Instana.config[:collect_backtraces] = true
45
- # t = ::Instana::Trace.new(:rack)
46
- # first_span = t.spans.first
47
- # assert first_span.key?(:stack)
48
- # assert_equal 2, first_span[:stack].count
49
- # ::Instana.config[:collect_backtraces] = false
50
- # end
51
- #
52
- # def test_exit_span_doesnt_have_stack_by_default
53
- # t = ::Instana::Trace.new(:trace_test)
54
- # t.new_span(:excon)
55
- # second_span = t.spans.to_a[1]
56
- # assert !second_span.key?(:stack)
57
- # end
58
- #
59
- # def test_exit_span_has_stack_by_config
60
- # ::Instana.config[:collect_backtraces] = true
61
- # t = ::Instana::Trace.new(:trace_test)
62
- # t.new_span(:excon)
63
- # second_span = t.spans.to_a[1]
64
- # assert second_span.key?(:stack)
65
- # ::Instana.config[:collect_backtraces] = false
66
- # end
67
- # end