traceview 3.6.0-java → 3.7.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -1
  3. data/CHANGELOG.md +11 -0
  4. data/CONFIG.md +22 -5
  5. data/Rakefile +2 -2
  6. data/gemfiles/delayed_job.gemfile +1 -1
  7. data/gemfiles/frameworks.gemfile +1 -1
  8. data/gemfiles/libraries.gemfile +4 -3
  9. data/gemfiles/rails31.gemfile +2 -0
  10. data/gemfiles/rails32.gemfile +5 -2
  11. data/gemfiles/rails40.gemfile +5 -3
  12. data/gemfiles/rails41.gemfile +6 -4
  13. data/gemfiles/rails42.gemfile +3 -1
  14. data/gemfiles/rails50.gemfile +43 -0
  15. data/lib/rails/generators/traceview/templates/traceview_initializer.rb +56 -32
  16. data/lib/traceview/base.rb +1 -1
  17. data/lib/traceview/frameworks/rails.rb +6 -9
  18. data/lib/traceview/frameworks/rails/inst/action_controller.rb +2 -135
  19. data/lib/traceview/frameworks/rails/inst/action_controller2.rb +59 -0
  20. data/lib/traceview/frameworks/rails/inst/action_controller3.rb +49 -0
  21. data/lib/traceview/frameworks/rails/inst/action_controller4.rb +40 -0
  22. data/lib/traceview/frameworks/rails/inst/action_controller5.rb +39 -0
  23. data/lib/traceview/frameworks/rails/inst/action_view.rb +1 -1
  24. data/lib/traceview/frameworks/rails/inst/active_record.rb +6 -3
  25. data/lib/traceview/frameworks/rails/inst/connection_adapters/postgresql.rb +1 -1
  26. data/lib/traceview/frameworks/rails/inst/connection_adapters/utils.rb +30 -36
  27. data/lib/traceview/frameworks/rails/inst/connection_adapters/utils5x.rb +100 -0
  28. data/lib/traceview/test.rb +39 -0
  29. data/lib/traceview/version.rb +1 -1
  30. data/test/frameworks/rails3x_test.rb +163 -7
  31. data/test/frameworks/rails4x_test.rb +162 -13
  32. data/test/frameworks/rails5x_test.rb +213 -0
  33. data/test/instrumentation/excon_test.rb +3 -0
  34. data/test/instrumentation/sequel_mysql2_test.rb +2 -5
  35. data/test/instrumentation/sequel_mysql_test.rb +2 -5
  36. data/test/instrumentation/sequel_pg_test.rb +2 -5
  37. data/test/minitest_helper.rb +25 -21
  38. data/test/servers/delayed_job.rb +2 -6
  39. data/test/servers/rails3x_8140.rb +16 -6
  40. data/test/servers/rails4x_8140.rb +20 -9
  41. data/test/servers/rails5x_8140.rb +112 -0
  42. metadata +12 -3
  43. data/lib/traceview/frameworks/rails/inst/connection_adapters/oracle.rb +0 -18
@@ -0,0 +1,112 @@
1
+ # Taken from: https://www.amberbit.com/blog/2014/2/14/putting-ruby-on-rails-on-a-diet/
2
+ # Port of https://gist.github.com/josevalim/1942658 to Rails 4
3
+ # Original author: Jose Valim
4
+ # Updated by: Peter Giacomo Lombardo
5
+ #
6
+ # Run this file with:
7
+ #
8
+ # bundle exec RAILS_ENV=production rackup -p 3000 -s thin
9
+ #
10
+ # And access:
11
+ #
12
+ # http://localhost:3000/hello/world
13
+ #
14
+ # The following lines should come as no surprise. Except by
15
+ # ActionController::Metal, it follows the same structure of
16
+ # config/application.rb, config/environment.rb and config.ru
17
+ # existing in any Rails 4 app. Here they are simply in one
18
+ # file and without the comments.
19
+ #
20
+
21
+ # Set the database. Default is postgresql.
22
+ if ENV['DBTYPE'] == 'mysql2'
23
+ TraceView::Test.set_mysql2_env
24
+ elsif ENV['DBTYPE'] == 'postgresql'
25
+ TraceView::Test.set_postgresql_env
26
+ else
27
+ TV.logger.warn "Unidentified DBTYPE: #{ENV['DBTYPE']}" unless ENV['DBTYPE'] == "postgresql"
28
+ TV.logger.debug "Defaulting to postgres DB for background Rails server."
29
+ TraceView::Test.set_postgresql_env
30
+ end
31
+
32
+ require "rails/all"
33
+ require "action_controller/railtie" # require more if needed
34
+ require 'rack/handler/puma'
35
+ require File.expand_path(File.dirname(__FILE__) + '/../models/widget')
36
+
37
+ TraceView.logger.info "[traceview/info] Starting background utility rails app on localhost:8140."
38
+
39
+ ActiveRecord::Base.establish_connection(ENV['DATABASE_URL'])
40
+
41
+ unless ActiveRecord::Base.connection.table_exists? 'widgets'
42
+ ActiveRecord::Migration.run(CreateWidgets)
43
+ end
44
+
45
+ class Rails50MetalStack < Rails::Application
46
+ routes.append do
47
+ get "/hello/world" => "hello#world"
48
+ get "/hello/metal" => "ferro#world"
49
+ get "/hello/db" => "hello#db"
50
+ end
51
+
52
+ # Enable cache classes. Production style.
53
+ config.cache_classes = true
54
+ config.eager_load = false
55
+
56
+ # uncomment below to display errors
57
+ # config.consider_all_requests_local = true
58
+
59
+ config.active_support.deprecation = :stderr
60
+
61
+ # Here you could remove some middlewares, for example
62
+ # Rack::Lock, ActionDispatch::Flash and ActionDispatch::BestStandardsSupport below.
63
+ # The remaining stack is printed on rackup (for fun!).
64
+ # Rails API has config.middleware.api_only! to get
65
+ # rid of browser related middleware.
66
+ config.middleware.delete Rack::Lock
67
+ config.middleware.delete ActionDispatch::Flash
68
+
69
+ # We need a secret token for session, cookies, etc.
70
+ config.secret_token = "49837489qkuweoiuoqwehisuakshdjksadhaisdy78o34y138974xyqp9rmye8yrpiokeuioqwzyoiuxftoyqiuxrhm3iou1hrzmjk"
71
+ config.secret_key_base = "2048671-96803948"
72
+ end
73
+
74
+ #################################################
75
+ # Controllers
76
+ #################################################
77
+
78
+ class HelloController < ActionController::Base
79
+ def world
80
+ render :plain => "Hello world!"
81
+ end
82
+
83
+ def db
84
+ # Create a widget
85
+ w1 = Widget.new(:name => 'blah', :description => 'This is an amazing widget.')
86
+ w1.save
87
+
88
+ # query for that widget
89
+ w2 = Widget.where(:name => 'blah').first
90
+ w2.delete
91
+
92
+ render :plain => "Hello database!"
93
+ end
94
+ end
95
+
96
+ class FerroController < ActionController::Metal
97
+ include AbstractController::Rendering
98
+
99
+ def world
100
+ render :plain => "Hello world!"
101
+ end
102
+ end
103
+
104
+ TraceView::API.profile_method(FerroController, :world)
105
+
106
+ Rails50MetalStack.initialize!
107
+
108
+ Thread.new do
109
+ Rack::Handler::Puma.run(Rails50MetalStack.to_app, {:Host => '127.0.0.1', :Port => 8140})
110
+ end
111
+
112
+ sleep(2)
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.6.0
4
+ version: 3.7.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: 2016-03-02 00:00:00.000000000 Z
12
+ date: 2016-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -95,6 +95,7 @@ files:
95
95
  - gemfiles/rails40.gemfile
96
96
  - gemfiles/rails41.gemfile
97
97
  - gemfiles/rails42.gemfile
98
+ - gemfiles/rails50.gemfile
98
99
  - get_version.rb
99
100
  - init.rb
100
101
  - lib/joboe_metal.rb
@@ -123,15 +124,19 @@ files:
123
124
  - lib/traceview/frameworks/rails/helpers/rum/rum_footer.js.erb
124
125
  - lib/traceview/frameworks/rails/helpers/rum/rum_header.js.erb
125
126
  - lib/traceview/frameworks/rails/inst/action_controller.rb
127
+ - lib/traceview/frameworks/rails/inst/action_controller2.rb
128
+ - lib/traceview/frameworks/rails/inst/action_controller3.rb
129
+ - lib/traceview/frameworks/rails/inst/action_controller4.rb
130
+ - lib/traceview/frameworks/rails/inst/action_controller5.rb
126
131
  - lib/traceview/frameworks/rails/inst/action_view.rb
127
132
  - lib/traceview/frameworks/rails/inst/action_view_2x.rb
128
133
  - lib/traceview/frameworks/rails/inst/action_view_30.rb
129
134
  - lib/traceview/frameworks/rails/inst/active_record.rb
130
135
  - lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
131
136
  - lib/traceview/frameworks/rails/inst/connection_adapters/mysql2.rb
132
- - lib/traceview/frameworks/rails/inst/connection_adapters/oracle.rb
133
137
  - lib/traceview/frameworks/rails/inst/connection_adapters/postgresql.rb
134
138
  - lib/traceview/frameworks/rails/inst/connection_adapters/utils.rb
139
+ - lib/traceview/frameworks/rails/inst/connection_adapters/utils5x.rb
135
140
  - lib/traceview/frameworks/sinatra.rb
136
141
  - lib/traceview/frameworks/sinatra/templates.rb
137
142
  - lib/traceview/inst/bunny-client.rb
@@ -177,6 +182,7 @@ files:
177
182
  - test/frameworks/padrino_test.rb
178
183
  - test/frameworks/rails3x_test.rb
179
184
  - test/frameworks/rails4x_test.rb
185
+ - test/frameworks/rails5x_test.rb
180
186
  - test/frameworks/sinatra_test.rb
181
187
  - test/instrumentation/bunny_client_test.rb
182
188
  - test/instrumentation/bunny_consumer_test.rb
@@ -228,6 +234,7 @@ files:
228
234
  - test/servers/rackapp_8101.rb
229
235
  - test/servers/rails3x_8140.rb
230
236
  - test/servers/rails4x_8140.rb
237
+ - test/servers/rails5x_8140.rb
231
238
  - test/servers/sidekiq.rb
232
239
  - test/servers/sidekiq.yml
233
240
  - test/servers/sidekiq_initializer.rb
@@ -272,6 +279,7 @@ test_files:
272
279
  - test/servers/sidekiq_initializer.rb
273
280
  - test/servers/rails4x_8140.rb
274
281
  - test/servers/rails3x_8140.rb
282
+ - test/servers/rails5x_8140.rb
275
283
  - test/servers/delayed_job.rb
276
284
  - test/servers/sidekiq.rb
277
285
  - test/servers/rackapp_8101.rb
@@ -310,6 +318,7 @@ test_files:
310
318
  - test/profiling/method_profiling_test.rb
311
319
  - test/profiling/legacy_method_profiling_test.rb
312
320
  - test/frameworks/sinatra_test.rb
321
+ - test/frameworks/rails5x_test.rb
313
322
  - test/frameworks/grape_test.rb
314
323
  - test/frameworks/rails3x_test.rb
315
324
  - test/frameworks/padrino_test.rb
@@ -1,18 +0,0 @@
1
- # Copyright (c) 2013 AppNeta, Inc.
2
- # All rights reserved.
3
-
4
- module TraceView
5
- module Inst
6
- module ConnectionAdapters
7
- module FlavorInitializers
8
- def self.oracle
9
- TraceView.logger.info '[traceview/loading] Instrumenting activerecord oracleenhancedadapter' if TraceView::Config[:verbose]
10
- ::ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.module_eval do
11
- include TraceView::Inst::ConnectionAdapters
12
- end if defined?(::ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter)
13
- end
14
- end
15
- end
16
- end
17
- end
18
-