traceview 3.6.0-java → 3.7.0-java

Sign up to get free protection for your applications and to get access to all the features.
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
-