traceview 3.3.3-java → 3.4.0-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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +18 -18
  3. data/CHANGELOG.md +13 -0
  4. data/README.md +3 -1
  5. data/Rakefile +18 -9
  6. data/gemfiles/delayed_job.gemfile +38 -0
  7. data/gemfiles/frameworks.gemfile +1 -2
  8. data/gemfiles/libraries.gemfile +1 -2
  9. data/gemfiles/rails23.gemfile +1 -2
  10. data/gemfiles/rails30.gemfile +4 -2
  11. data/gemfiles/rails31.gemfile +4 -2
  12. data/gemfiles/rails32.gemfile +4 -2
  13. data/gemfiles/rails40.gemfile +4 -2
  14. data/gemfiles/rails41.gemfile +4 -2
  15. data/gemfiles/rails42.gemfile +4 -2
  16. data/lib/traceview/api/layerinit.rb +3 -5
  17. data/lib/traceview/api/logging.rb +63 -50
  18. data/lib/traceview/api/memcache.rb +10 -9
  19. data/lib/traceview/api/profiling.rb +6 -7
  20. data/lib/traceview/api/util.rb +1 -1
  21. data/lib/traceview/base.rb +21 -7
  22. data/lib/traceview/config.rb +8 -4
  23. data/lib/traceview/frameworks/padrino.rb +2 -2
  24. data/lib/traceview/frameworks/rails/inst/action_controller.rb +3 -3
  25. data/lib/traceview/frameworks/rails/inst/action_view.rb +4 -2
  26. data/lib/traceview/frameworks/rails/inst/action_view_2x.rb +4 -2
  27. data/lib/traceview/frameworks/rails/inst/action_view_30.rb +4 -2
  28. data/lib/traceview/frameworks/rails/inst/connection_adapters/utils.rb +3 -3
  29. data/lib/traceview/frameworks/rails.rb +26 -32
  30. data/lib/traceview/frameworks/sinatra/templates.rb +1 -1
  31. data/lib/traceview/frameworks/sinatra.rb +1 -1
  32. data/lib/traceview/inst/dalli.rb +4 -5
  33. data/lib/traceview/inst/delayed_job.rb +92 -0
  34. data/lib/traceview/inst/em-http-request.rb +3 -0
  35. data/lib/traceview/inst/excon.rb +3 -3
  36. data/lib/traceview/inst/faraday.rb +4 -1
  37. data/lib/traceview/inst/mongo.rb +10 -5
  38. data/lib/traceview/inst/moped.rb +4 -4
  39. data/lib/traceview/inst/redis.rb +5 -7
  40. data/lib/traceview/inst/resque.rb +3 -3
  41. data/lib/traceview/inst/rest-client.rb +2 -2
  42. data/lib/traceview/inst/sidekiq-client.rb +3 -0
  43. data/lib/traceview/inst/sidekiq-worker.rb +3 -0
  44. data/lib/traceview/inst/twitter-cassandra.rb +8 -4
  45. data/lib/traceview/test.rb +30 -1
  46. data/lib/traceview/util.rb +7 -0
  47. data/lib/traceview/version.rb +2 -2
  48. data/test/frameworks/rails3x_test.rb +12 -2
  49. data/test/frameworks/rails4x_test.rb +12 -2
  50. data/test/instrumentation/curb_test.rb +2 -2
  51. data/test/instrumentation/dalli_test.rb +121 -118
  52. data/test/instrumentation/httpclient_test.rb +0 -1
  53. data/test/jobs/delayed_job/db_worker_job.rb +29 -0
  54. data/test/jobs/delayed_job/error_worker_job.rb +10 -0
  55. data/test/jobs/delayed_job/remote_call_worker_job.rb +20 -0
  56. data/test/minitest_helper.rb +8 -3
  57. data/test/models/widget.rb +19 -0
  58. data/test/queues/delayed_job-client_test.rb +95 -0
  59. data/test/queues/delayed_job-worker_test.rb +91 -0
  60. data/test/servers/delayed_job.rb +102 -0
  61. data/test/servers/rails3x_8140.rb +17 -1
  62. data/test/servers/rails4x_8140.rb +18 -1
  63. data/test/support/auto_tracing.rb +40 -0
  64. data/test/support/config_test.rb +5 -1
  65. data/traceview.gemspec +1 -0
  66. metadata +34 -6
  67. data/test/instrumentation/delayed_job-client_test.rb +0 -128
  68. data/test/instrumentation/delayed_job-worker_test.rb +0 -177
@@ -0,0 +1,19 @@
1
+ class Widget < ActiveRecord::Base
2
+ def do_work(*args)
3
+ Widget.first
4
+ end
5
+
6
+ def do_error(*args)
7
+ raise "FakeTestError"
8
+ end
9
+ end
10
+
11
+ class CreateWidgets < ActiveRecord::Migration
12
+ def change
13
+ create_table :widgets do |t|
14
+ t.string :name
15
+ t.text :description
16
+ t.timestamps
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,95 @@
1
+ # Copyright (c) 2015 AppNeta, Inc.
2
+ # All rights reserved.
3
+
4
+ require 'minitest_helper'
5
+ require_relative "../jobs/delayed_job/remote_call_worker_job"
6
+ require_relative "../jobs/delayed_job/db_worker_job"
7
+ require_relative "../jobs/delayed_job/error_worker_job"
8
+ require_relative '../models/widget'
9
+
10
+ # Delete all pre-existing jobs before we start
11
+ Delayed::Job.delete_all
12
+
13
+ class DelayedJobClientTest < Minitest::Test
14
+ def setup
15
+ clear_all_traces
16
+ @collect_backtraces = TraceView::Config[:delayed_jobclient][:collect_backtraces]
17
+ @log_args = TraceView::Config[:delayed_jobclient][:log_args]
18
+ end
19
+
20
+ def teardown
21
+ TraceView::Config[:delayed_jobclient][:collect_backtraces] = @collect_backtraces
22
+ TraceView::Config[:delayed_jobclient][:log_args] = @log_args
23
+ end
24
+
25
+ def test_delay
26
+ w = Widget.new(:name => 'blah', :description => 'This is a wonderful widget.')
27
+ w.save
28
+
29
+ TV::API.start_trace('dj_delay') do
30
+ w.delay.do_work(1, 2, 3)
31
+ end
32
+
33
+ sleep 15
34
+
35
+ traces = get_all_traces
36
+ valid_edges?(traces)
37
+
38
+ assert_equal 'dj_delay', traces[0]['Layer']
39
+ assert_equal 'entry', traces[0]['Label']
40
+ assert_equal 'delayed_job-client', traces[1]['Layer']
41
+ assert_equal 'entry', traces[1]['Label']
42
+ assert_equal 'pushq', traces[1]['Spec']
43
+ assert_equal 'DelayedJob', traces[1]['Flavor']
44
+ assert_equal 'Widget#do_work', traces[1]['JobName']
45
+ assert_equal 'delayed_job-client', traces[2]['Layer']
46
+ assert_equal 'exit', traces[2]['Label']
47
+ assert_equal 'dj_delay', traces[3]['Layer']
48
+ assert_equal 'exit', traces[3]['Label']
49
+
50
+ end
51
+
52
+ def test_collect_backtraces_default_value
53
+ assert_equal TV::Config[:delayed_jobclient][:collect_backtraces], false, "default backtrace collection"
54
+ end
55
+
56
+ def test_log_args_default_value
57
+ assert_equal TV::Config[:delayed_jobclient][:log_args], true, "log_args default "
58
+ end
59
+
60
+ def test_obey_collect_backtraces_when_false
61
+ TraceView::Config[:delayed_jobclient][:collect_backtraces] = false
62
+
63
+ w = Widget.new(:name => 'blah', :description => 'This is a wonderful widget.')
64
+ w.save
65
+
66
+ TV::API.start_trace('dj_delay') do
67
+ w.delay.do_work(1, 2, 3)
68
+ end
69
+
70
+ traces = get_all_traces
71
+ valid_edges?(traces)
72
+
73
+ assert_equal 'delayed_job-client', traces[1]['Layer']
74
+ assert_equal 'entry', traces[1]['Label']
75
+ assert_equal false, traces[1].key?('Backtrace')
76
+ end
77
+
78
+ def test_obey_collect_backtraces_when_true
79
+ TraceView::Config[:delayed_jobclient][:collect_backtraces] = true
80
+
81
+ w = Widget.new(:name => 'blah', :description => 'This is a wonderful widget.')
82
+ w.save
83
+
84
+ TV::API.start_trace('dj_delay') do
85
+ w.delay.do_work(1, 2, 3)
86
+ end
87
+
88
+ traces = get_all_traces
89
+ valid_edges?(traces)
90
+
91
+ assert_equal 'delayed_job-client', traces[1]['Layer']
92
+ assert_equal 'entry', traces[1]['Label']
93
+ assert_equal true, traces[1].key?('Backtrace')
94
+ end
95
+ end
@@ -0,0 +1,91 @@
1
+ # Copyright (c) 2015 AppNeta, Inc.
2
+ # All rights reserved.
3
+
4
+ require 'minitest_helper'
5
+ require_relative '../jobs/delayed_job/remote_call_worker_job'
6
+ require_relative '../jobs/delayed_job/db_worker_job'
7
+ require_relative '../jobs/delayed_job/error_worker_job'
8
+ require_relative '../models/widget'
9
+
10
+ class DelayedJobWorkerTest < Minitest::Test
11
+ def setup
12
+ # Delete all pre-existing jobs before we start
13
+ Delayed::Job.delete_all
14
+
15
+ clear_all_traces
16
+ @collect_backtraces = TraceView::Config[:delayed_jobworker][:collect_backtraces]
17
+ @log_args = TraceView::Config[:delayed_jobworker][:log_args]
18
+ end
19
+
20
+ def teardown
21
+ TraceView::Config[:delayed_jobworker][:collect_backtraces] = @collect_backtraces
22
+ TraceView::Config[:delayed_jobworker][:log_args] = @log_args
23
+ end
24
+
25
+ def test_reports_version_init
26
+ init_kvs = ::TraceView::Util.build_init_report
27
+ assert init_kvs.key?('Ruby.DelayedJob.Version')
28
+ assert_equal "DelayedJob-#{Gem.loaded_specs['delayed_job'].version.to_s}", init_kvs['Ruby.DelayedJob.Version']
29
+ end
30
+
31
+ def test_job_run
32
+ w = Widget.new(:name => 'blah', :description => 'This is a wonderful wonderful widget.')
33
+ w.save
34
+
35
+ w.delay.do_work(1, 2, 3)
36
+
37
+ sleep 15
38
+
39
+ traces = get_all_traces
40
+ assert_equal 2, traces.count, "Trace count"
41
+ valid_edges?(traces)
42
+
43
+ assert_equal 'delayed_job-worker', traces[0]['Layer']
44
+ assert_equal 'entry', traces[0]['Label']
45
+ assert_equal 'job', traces[0]['Spec']
46
+ assert_equal 'DelayedJob', traces[0]['Flavor']
47
+ assert_equal 'Widget#do_work', traces[0]['JobName']
48
+ assert_equal 0, traces[0]['priority']
49
+ assert_equal 0, traces[0]['attempts']
50
+ assert traces[0].key?('WorkerName'), "Worker Name"
51
+ assert traces[0].key?('SampleRate')
52
+ assert traces[0].key?('SampleSource')
53
+ assert_equal false, traces[0].key?('Backtrace')
54
+
55
+ assert_equal 'delayed_job-worker', traces[1]['Layer']
56
+ assert_equal 'exit', traces[1]['Label']
57
+ end
58
+
59
+ def test_jobs_with_errors
60
+ w = Widget.new(:name => 'blah', :description => 'This is a wonderful wonderful widget.')
61
+ w.save
62
+
63
+ w.delay.do_error(1, 2, 3)
64
+
65
+ sleep 15
66
+
67
+ traces = get_all_traces
68
+ assert_equal 3, traces.count, "Trace count"
69
+ valid_edges?(traces)
70
+
71
+ assert_equal 'delayed_job-worker', traces[0]['Layer']
72
+ assert_equal 'entry', traces[0]['Label']
73
+
74
+ assert_equal 'error', traces[1]['Label']
75
+ assert_equal 'FakeTestError', traces[1]['ErrorMsg']
76
+ assert traces[1].key?('Backtrace')
77
+ assert traces[1].key?('ErrorClass')
78
+
79
+ assert_equal 'delayed_job-worker', traces[2]['Layer']
80
+ assert_equal 'exit', traces[2]['Label']
81
+
82
+ end
83
+
84
+ def test_collect_backtraces_default_value
85
+ assert_equal TV::Config[:delayed_jobworker][:collect_backtraces], false, "default backtrace collection"
86
+ end
87
+
88
+ def test_log_args_default_value
89
+ assert_equal TV::Config[:delayed_jobworker][:log_args], true, "log_args default "
90
+ end
91
+ end
@@ -0,0 +1,102 @@
1
+ # Copyright (c) 2015 AppNeta, Inc.
2
+ # All rights reserved.
3
+
4
+ require "rails/all"
5
+ require "delayed_job"
6
+ require "action_controller/railtie" # require more if needed
7
+ require 'rack/handler/puma'
8
+ require File.expand_path(File.dirname(__FILE__) + '/../models/widget')
9
+
10
+ TraceView.logger.level = Logger::DEBUG
11
+ TraceView.logger.info "[traceview/info] Starting background utility rails app on localhost:8140."
12
+
13
+ if ENV.key?('TRAVIS_PSQL_PASS')
14
+ DJ_DB_URL = "postgres://postgres:#{ENV['TRAVIS_PSQL_PASS']}@127.0.0.1:5432/travis_ci_test"
15
+ else
16
+ DJ_DB_URL = 'postgres://postgres@127.0.0.1:5432/travis_ci_test'
17
+ end
18
+
19
+ ActiveRecord::Base.establish_connection(DJ_DB_URL)
20
+
21
+ unless ActiveRecord::Base.connection.table_exists? :delayed_jobs
22
+ TraceView.logger.info "[traceview/servers] Creating DelayedJob DB table."
23
+ require 'generators/delayed_job/templates/migration'
24
+ ActiveRecord::Migration.run(CreateDelayedJobs)
25
+ end
26
+
27
+ unless ActiveRecord::Base.connection.table_exists? 'widgets'
28
+ ActiveRecord::Migration.run(CreateWidgets)
29
+ end
30
+
31
+ class Rails40MetalStack < Rails::Application
32
+ routes.append do
33
+ get "/hello/world" => "hello#world"
34
+ get "/hello/metal" => "ferro#world"
35
+ end
36
+
37
+ # Enable cache classes. Production style.
38
+ config.cache_classes = true
39
+ config.eager_load = false
40
+
41
+ # uncomment below to display errors
42
+ # config.consider_all_requests_local = true
43
+
44
+ config.active_support.deprecation = :stderr
45
+
46
+ # Here you could remove some middlewares, for example
47
+ # Rack::Lock, ActionDispatch::Flash and ActionDispatch::BestStandardsSupport below.
48
+ # The remaining stack is printed on rackup (for fun!).
49
+ # Rails API has config.middleware.api_only! to get
50
+ # rid of browser related middleware.
51
+ config.middleware.delete "Rack::Lock"
52
+ config.middleware.delete "ActionDispatch::Flash"
53
+ config.middleware.delete "ActionDispatch::BestStandardsSupport"
54
+
55
+ # We need a secret token for session, cookies, etc.
56
+ config.secret_token = "49837489qkuweoiuoqwehisuakshdjksadhaisdy78o34y138974xyqp9rmye8yrpiokeuioqwzyoiuxftoyqiuxrhm3iou1hrzmjk"
57
+ config.secret_key_base = "2048671-96803948"
58
+ end
59
+
60
+ #################################################
61
+ # Controllers
62
+ #################################################
63
+
64
+ class HelloController < ActionController::Base
65
+ def world
66
+ render :text => "Hello world!"
67
+ end
68
+ end
69
+
70
+ class FerroController < ActionController::Metal
71
+ include AbstractController::Rendering
72
+
73
+ def world
74
+ render :text => "Hello world!"
75
+ end
76
+ end
77
+
78
+ Delayed::Job.delete_all
79
+
80
+ @worker_options = {
81
+ :min_priority => ENV['MIN_PRIORITY'],
82
+ :max_priority => ENV['MAX_PRIORITY'],
83
+ :queues => (ENV['QUEUES'] || ENV['QUEUE'] || '').split(','),
84
+ :quiet => ENV['QUIET']
85
+ }
86
+
87
+ @worker_options[:sleep_delay] = ENV['SLEEP_DELAY'].to_i if ENV['SLEEP_DELAY']
88
+ @worker_options[:read_ahead] = ENV['READ_AHEAD'].to_i if ENV['READ_AHEAD']
89
+
90
+ TraceView.logger.info "[traceview/servers] Starting up background DelayedJob."
91
+
92
+ #Delayed::Worker.delay_jobs = false
93
+ Delayed::Worker.max_attempts = 1
94
+ Delayed::Worker.sleep_delay = 10
95
+
96
+ Thread.new do
97
+ Delayed::Worker.new(@worker_options).start
98
+ end
99
+
100
+ # Allow it to boot
101
+ TraceView.logger.info "[traceview/servers] Waiting 5 seconds for DJ to boot..."
102
+ sleep 5
@@ -1,6 +1,7 @@
1
1
  # Taken from: https://www.amberbit.com/blog/2014/2/14/putting-ruby-on-rails-on-a-diet/
2
2
  # Port of https://gist.github.com/josevalim/1942658 to Rails 4
3
3
  # Original author: Jose Valim
4
+ # Updated by: Peter Giacomo Lombardo
4
5
  #
5
6
  # Run this file with:
6
7
  #
@@ -15,12 +16,25 @@
15
16
  # config/application.rb, config/environment.rb and config.ru
16
17
  # existing in any Rails 4 app. Here they are simply in one
17
18
  # file and without the comments.
18
- require "rails"
19
+ require "rails/all"
19
20
  require "action_controller/railtie" # require more if needed
20
21
  require 'rack/handler/puma'
22
+ require File.expand_path(File.dirname(__FILE__) + '/../models/widget')
21
23
 
22
24
  TraceView.logger.info "[traceview/info] Starting background utility rails app on localhost:8140."
23
25
 
26
+ if ENV.key?('TRAVIS_PSQL_PASS')
27
+ ENV['DATABASE_URL'] = "postgresql://postgres:#{ENV['TRAVIS_PSQL_PASS']}@127.0.0.1:5432/travis_ci_test"
28
+ else
29
+ ENV['DATABASE_URL'] = 'postgresql://postgres@127.0.0.1:5432/travis_ci_test'
30
+ end
31
+
32
+ ActiveRecord::Base.establish_connection(ENV['DATABASE_URL'])
33
+
34
+ unless ActiveRecord::Base.connection.table_exists? 'widgets'
35
+ CreateWidgets.migrate(:up)
36
+ end
37
+
24
38
  class Rails32MetalStack < Rails::Application
25
39
  routes.append do
26
40
  get "/hello/world" => "hello#world"
@@ -34,6 +48,8 @@ class Rails32MetalStack < Rails::Application
34
48
  # uncomment below to display errors
35
49
  # config.consider_all_requests_local = true
36
50
 
51
+ config.active_support.deprecation = :stderr
52
+
37
53
  # Here you could remove some middlewares, for example
38
54
  # Rack::Lock, ActionDispatch::Flash and ActionDispatch::BestStandardsSupport below.
39
55
  # The remaining stack is printed on rackup (for fun!).
@@ -1,6 +1,7 @@
1
1
  # Taken from: https://www.amberbit.com/blog/2014/2/14/putting-ruby-on-rails-on-a-diet/
2
2
  # Port of https://gist.github.com/josevalim/1942658 to Rails 4
3
3
  # Original author: Jose Valim
4
+ # Updated by: Peter Giacomo Lombardo
4
5
  #
5
6
  # Run this file with:
6
7
  #
@@ -15,12 +16,26 @@
15
16
  # config/application.rb, config/environment.rb and config.ru
16
17
  # existing in any Rails 4 app. Here they are simply in one
17
18
  # file and without the comments.
18
- require "rails"
19
+ #
20
+ if ENV.key?('TRAVIS_PSQL_PASS')
21
+ ENV['DATABASE_URL'] = "postgresql://postgres:#{ENV['TRAVIS_PSQL_PASS']}@127.0.0.1:5432/travis_ci_test"
22
+ else
23
+ ENV['DATABASE_URL'] = 'postgresql://postgres@127.0.0.1:5432/travis_ci_test'
24
+ end
25
+
26
+ require "rails/all"
19
27
  require "action_controller/railtie" # require more if needed
20
28
  require 'rack/handler/puma'
29
+ require File.expand_path(File.dirname(__FILE__) + '/../models/widget')
21
30
 
22
31
  TraceView.logger.info "[traceview/info] Starting background utility rails app on localhost:8140."
23
32
 
33
+ ActiveRecord::Base.establish_connection(ENV['DATABASE_URL'])
34
+
35
+ unless ActiveRecord::Base.connection.table_exists? 'widgets'
36
+ ActiveRecord::Migration.run(CreateWidgets)
37
+ end
38
+
24
39
  class Rails40MetalStack < Rails::Application
25
40
  routes.append do
26
41
  get "/hello/world" => "hello#world"
@@ -34,6 +49,8 @@ class Rails40MetalStack < Rails::Application
34
49
  # uncomment below to display errors
35
50
  # config.consider_all_requests_local = true
36
51
 
52
+ config.active_support.deprecation = :stderr
53
+
37
54
  # Here you could remove some middlewares, for example
38
55
  # Rack::Lock, ActionDispatch::Flash and ActionDispatch::BestStandardsSupport below.
39
56
  # The remaining stack is printed on rackup (for fun!).
@@ -0,0 +1,40 @@
1
+ # Copyright (c) 2015 AppNeta, Inc.
2
+ # All rights reserved.
3
+
4
+ require 'minitest_helper'
5
+
6
+ class AutoTraceTest < Minitest::Test
7
+ def setup
8
+ @tm = TraceView::Config[:tracing_mode]
9
+ end
10
+
11
+ def teardown
12
+ TraceView::Config[:tracing_mode] = @tm
13
+ end
14
+
15
+ def test_entry_layers
16
+ TraceView.entry_layer?('delayed_job-worker').must_equal true
17
+ TraceView.entry_layer?('asdf-worker').must_equal false
18
+ end
19
+
20
+ def test_entry_layers_supports_symbols
21
+ TraceView.entry_layer?(:'delayed_job-worker').must_equal true
22
+ TraceView.entry_layer?(:asdfworker).must_equal false
23
+ end
24
+
25
+ def test_trace_when_default_tm
26
+ TraceView::Config[:tracing_mode] = :through
27
+
28
+ TV::API.start_trace('delayed_job-worker') do
29
+ TraceView.tracing?.must_equal true
30
+ end
31
+ end
32
+
33
+ def test_dont_trace_when_never
34
+ TraceView::Config[:tracing_mode] = :never
35
+
36
+ TV::API.start_trace('delayed_job-worker') do
37
+ TraceView.tracing?.must_equal false
38
+ end
39
+ end
40
+ end
@@ -30,7 +30,7 @@ describe "TraceView::Config" do
30
30
  instrumentation = TraceView::Config.instrumentation
31
31
 
32
32
  # Verify the number of individual instrumentations
33
- instrumentation.count.must_equal 25
33
+ instrumentation.count.must_equal 27
34
34
 
35
35
  TraceView::Config[:action_controller][:enabled].must_equal true
36
36
  TraceView::Config[:action_view][:enabled].must_equal true
@@ -38,6 +38,8 @@ describe "TraceView::Config" do
38
38
  TraceView::Config[:cassandra][:enabled].must_equal true
39
39
  TraceView::Config[:curb][:enabled].must_equal true
40
40
  TraceView::Config[:dalli][:enabled].must_equal true
41
+ TraceView::Config[:delayed_jobclient][:enabled].must_equal true
42
+ TraceView::Config[:delayed_jobworker][:enabled].must_equal true
41
43
  TraceView::Config[:em_http_request][:enabled].must_equal false
42
44
  TraceView::Config[:excon][:enabled].must_equal true
43
45
  TraceView::Config[:faraday][:enabled].must_equal true
@@ -64,6 +66,8 @@ describe "TraceView::Config" do
64
66
  TraceView::Config[:cassandra][:log_args].must_equal true
65
67
  TraceView::Config[:curb][:log_args].must_equal true
66
68
  TraceView::Config[:dalli][:log_args].must_equal true
69
+ TraceView::Config[:delayed_jobclient][:log_args].must_equal true
70
+ TraceView::Config[:delayed_jobworker][:log_args].must_equal true
67
71
  TraceView::Config[:em_http_request][:log_args].must_equal true
68
72
  TraceView::Config[:excon][:log_args].must_equal true
69
73
  TraceView::Config[:faraday][:log_args].must_equal true
data/traceview.gemspec CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.extensions = ['ext/oboe_metal/extconf.rb'] unless defined?(JRUBY_VERSION)
23
23
 
24
24
  s.add_runtime_dependency('json', '>= 0')
25
+ s.add_runtime_dependency('bson', '< 4.0')
25
26
  s.add_development_dependency('rake', '>= 0')
26
27
 
27
28
  s.required_ruby_version = '>= 1.8.6'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traceview
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.3
4
+ version: 3.4.0
5
5
  platform: java
6
6
  authors:
7
7
  - Peter Giacomo Lombardo
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-11 00:00:00.000000000 Z
12
+ date: 2015-12-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -25,6 +25,20 @@ dependencies:
25
25
  version: '0'
26
26
  prerelease: false
27
27
  type: :runtime
28
+ - !ruby/object:Gem::Dependency
29
+ name: bson
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: '4.0'
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "<"
38
+ - !ruby/object:Gem::Version
39
+ version: '4.0'
40
+ prerelease: false
41
+ type: :runtime
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: rake
30
44
  version_requirements: !ruby/object:Gem::Requirement
@@ -71,6 +85,7 @@ files:
71
85
  - ext/oboe_metal/src/oboe.hpp
72
86
  - ext/oboe_metal/src/oboe_wrap.cxx
73
87
  - ext/oboe_metal/tests/test.rb
88
+ - gemfiles/delayed_job.gemfile
74
89
  - gemfiles/frameworks.gemfile
75
90
  - gemfiles/libraries.gemfile
76
91
  - gemfiles/rails23.gemfile
@@ -121,6 +136,7 @@ files:
121
136
  - lib/traceview/frameworks/sinatra/templates.rb
122
137
  - lib/traceview/inst/curb.rb
123
138
  - lib/traceview/inst/dalli.rb
139
+ - lib/traceview/inst/delayed_job.rb
124
140
  - lib/traceview/inst/em-http-request.rb
125
141
  - lib/traceview/inst/excon.rb
126
142
  - lib/traceview/inst/faraday.rb
@@ -163,8 +179,6 @@ files:
163
179
  - test/instrumentation/cassandra_test.rb
164
180
  - test/instrumentation/curb_test.rb
165
181
  - test/instrumentation/dalli_test.rb
166
- - test/instrumentation/delayed_job-client_test.rb
167
- - test/instrumentation/delayed_job-worker_test.rb
168
182
  - test/instrumentation/em_http_request_test.rb
169
183
  - test/instrumentation/excon_test.rb
170
184
  - test/instrumentation/faraday_test.rb
@@ -190,6 +204,9 @@ files:
190
204
  - test/instrumentation/sidekiq-client_test.rb
191
205
  - test/instrumentation/sidekiq-worker_test.rb
192
206
  - test/instrumentation/typhoeus_test.rb
207
+ - test/jobs/delayed_job/db_worker_job.rb
208
+ - test/jobs/delayed_job/error_worker_job.rb
209
+ - test/jobs/delayed_job/remote_call_worker_job.rb
193
210
  - test/jobs/resque/db_worker_job.rb
194
211
  - test/jobs/resque/error_worker_job.rb
195
212
  - test/jobs/resque/remote_call_worker_job.rb
@@ -197,15 +214,20 @@ files:
197
214
  - test/jobs/sidekiq/error_worker_job.rb
198
215
  - test/jobs/sidekiq/remote_call_worker_job.rb
199
216
  - test/minitest_helper.rb
217
+ - test/models/widget.rb
200
218
  - test/profiling/legacy_method_profiling_test.rb
201
219
  - test/profiling/method_profiling_test.rb
220
+ - test/queues/delayed_job-client_test.rb
221
+ - test/queues/delayed_job-worker_test.rb
202
222
  - test/reporter/reporter_test.rb
223
+ - test/servers/delayed_job.rb
203
224
  - test/servers/rackapp_8101.rb
204
225
  - test/servers/rails3x_8140.rb
205
226
  - test/servers/rails4x_8140.rb
206
227
  - test/servers/sidekiq.rb
207
228
  - test/servers/sidekiq.yml
208
229
  - test/servers/sidekiq_initializer.rb
230
+ - test/support/auto_tracing.rb
209
231
  - test/support/backcompat_test.rb
210
232
  - test/support/config_test.rb
211
233
  - test/support/dnt_test.rb
@@ -244,11 +266,11 @@ test_files:
244
266
  - test/servers/sidekiq_initializer.rb
245
267
  - test/servers/rails4x_8140.rb
246
268
  - test/servers/rails3x_8140.rb
269
+ - test/servers/delayed_job.rb
247
270
  - test/servers/sidekiq.rb
248
271
  - test/servers/rackapp_8101.rb
249
272
  - test/instrumentation/excon_test.rb
250
273
  - test/instrumentation/sequel_pg_test.rb
251
- - test/instrumentation/delayed_job-worker_test.rb
252
274
  - test/instrumentation/moped_test.rb
253
275
  - test/instrumentation/httpclient_test.rb
254
276
  - test/instrumentation/sequel_mysql_test.rb
@@ -260,7 +282,6 @@ test_files:
260
282
  - test/instrumentation/cassandra_test.rb
261
283
  - test/instrumentation/redis_strings_test.rb
262
284
  - test/instrumentation/typhoeus_test.rb
263
- - test/instrumentation/delayed_job-client_test.rb
264
285
  - test/instrumentation/sequel_mysql2_test.rb
265
286
  - test/instrumentation/sidekiq-worker_test.rb
266
287
  - test/instrumentation/redis_misc_test.rb
@@ -277,6 +298,7 @@ test_files:
277
298
  - test/instrumentation/em_http_request_test.rb
278
299
  - test/instrumentation/rest-client_test.rb
279
300
  - test/reporter/reporter_test.rb
301
+ - test/models/widget.rb
280
302
  - test/profiling/method_profiling_test.rb
281
303
  - test/profiling/legacy_method_profiling_test.rb
282
304
  - test/frameworks/sinatra_test.rb
@@ -288,8 +310,11 @@ test_files:
288
310
  - test/frameworks/apps/sinatra_simple.rb
289
311
  - test/frameworks/apps/padrino_simple.rb
290
312
  - test/frameworks/apps/grape_nested.rb
313
+ - test/queues/delayed_job-worker_test.rb
314
+ - test/queues/delayed_job-client_test.rb
291
315
  - test/support/config_test.rb
292
316
  - test/support/noop_test.rb
317
+ - test/support/auto_tracing.rb
293
318
  - test/support/dnt_test.rb
294
319
  - test/support/sql_sanitize_test.rb
295
320
  - test/support/tvalias_test.rb
@@ -302,3 +327,6 @@ test_files:
302
327
  - test/jobs/resque/remote_call_worker_job.rb
303
328
  - test/jobs/resque/error_worker_job.rb
304
329
  - test/jobs/resque/db_worker_job.rb
330
+ - test/jobs/delayed_job/remote_call_worker_job.rb
331
+ - test/jobs/delayed_job/error_worker_job.rb
332
+ - test/jobs/delayed_job/db_worker_job.rb