traceview 3.6.0 → 3.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +12 -1
- data/CHANGELOG.md +11 -0
- data/CONFIG.md +22 -5
- data/Rakefile +2 -2
- data/gemfiles/delayed_job.gemfile +1 -1
- data/gemfiles/frameworks.gemfile +1 -1
- data/gemfiles/libraries.gemfile +4 -3
- data/gemfiles/rails31.gemfile +2 -0
- data/gemfiles/rails32.gemfile +5 -2
- data/gemfiles/rails40.gemfile +5 -3
- data/gemfiles/rails41.gemfile +6 -4
- data/gemfiles/rails42.gemfile +3 -1
- data/gemfiles/rails50.gemfile +43 -0
- data/lib/rails/generators/traceview/templates/traceview_initializer.rb +56 -32
- data/lib/traceview/base.rb +1 -1
- data/lib/traceview/frameworks/rails.rb +6 -9
- data/lib/traceview/frameworks/rails/inst/action_controller.rb +2 -135
- data/lib/traceview/frameworks/rails/inst/action_controller2.rb +59 -0
- data/lib/traceview/frameworks/rails/inst/action_controller3.rb +49 -0
- data/lib/traceview/frameworks/rails/inst/action_controller4.rb +40 -0
- data/lib/traceview/frameworks/rails/inst/action_controller5.rb +39 -0
- data/lib/traceview/frameworks/rails/inst/action_view.rb +1 -1
- data/lib/traceview/frameworks/rails/inst/active_record.rb +6 -3
- data/lib/traceview/frameworks/rails/inst/connection_adapters/postgresql.rb +1 -1
- data/lib/traceview/frameworks/rails/inst/connection_adapters/utils.rb +30 -36
- data/lib/traceview/frameworks/rails/inst/connection_adapters/utils5x.rb +100 -0
- data/lib/traceview/test.rb +39 -0
- data/lib/traceview/version.rb +1 -1
- data/test/frameworks/rails3x_test.rb +163 -7
- data/test/frameworks/rails4x_test.rb +162 -13
- data/test/frameworks/rails5x_test.rb +213 -0
- data/test/instrumentation/excon_test.rb +3 -0
- data/test/instrumentation/sequel_mysql2_test.rb +2 -5
- data/test/instrumentation/sequel_mysql_test.rb +2 -5
- data/test/instrumentation/sequel_pg_test.rb +2 -5
- data/test/minitest_helper.rb +25 -21
- data/test/servers/delayed_job.rb +2 -6
- data/test/servers/rails3x_8140.rb +16 -6
- data/test/servers/rails4x_8140.rb +20 -9
- data/test/servers/rails5x_8140.rb +112 -0
- metadata +13 -4
- 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.
|
4
|
+
version: 3.7.0
|
5
5
|
platform: ruby
|
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-
|
12
|
+
date: 2016-03-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -125,6 +125,7 @@ files:
|
|
125
125
|
- gemfiles/rails40.gemfile
|
126
126
|
- gemfiles/rails41.gemfile
|
127
127
|
- gemfiles/rails42.gemfile
|
128
|
+
- gemfiles/rails50.gemfile
|
128
129
|
- get_version.rb
|
129
130
|
- init.rb
|
130
131
|
- lib/joboe_metal.rb
|
@@ -153,15 +154,19 @@ files:
|
|
153
154
|
- lib/traceview/frameworks/rails/helpers/rum/rum_footer.js.erb
|
154
155
|
- lib/traceview/frameworks/rails/helpers/rum/rum_header.js.erb
|
155
156
|
- lib/traceview/frameworks/rails/inst/action_controller.rb
|
157
|
+
- lib/traceview/frameworks/rails/inst/action_controller2.rb
|
158
|
+
- lib/traceview/frameworks/rails/inst/action_controller3.rb
|
159
|
+
- lib/traceview/frameworks/rails/inst/action_controller4.rb
|
160
|
+
- lib/traceview/frameworks/rails/inst/action_controller5.rb
|
156
161
|
- lib/traceview/frameworks/rails/inst/action_view.rb
|
157
162
|
- lib/traceview/frameworks/rails/inst/action_view_2x.rb
|
158
163
|
- lib/traceview/frameworks/rails/inst/action_view_30.rb
|
159
164
|
- lib/traceview/frameworks/rails/inst/active_record.rb
|
160
165
|
- lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
|
161
166
|
- lib/traceview/frameworks/rails/inst/connection_adapters/mysql2.rb
|
162
|
-
- lib/traceview/frameworks/rails/inst/connection_adapters/oracle.rb
|
163
167
|
- lib/traceview/frameworks/rails/inst/connection_adapters/postgresql.rb
|
164
168
|
- lib/traceview/frameworks/rails/inst/connection_adapters/utils.rb
|
169
|
+
- lib/traceview/frameworks/rails/inst/connection_adapters/utils5x.rb
|
165
170
|
- lib/traceview/frameworks/sinatra.rb
|
166
171
|
- lib/traceview/frameworks/sinatra/templates.rb
|
167
172
|
- lib/traceview/inst/bunny-client.rb
|
@@ -207,6 +212,7 @@ files:
|
|
207
212
|
- test/frameworks/padrino_test.rb
|
208
213
|
- test/frameworks/rails3x_test.rb
|
209
214
|
- test/frameworks/rails4x_test.rb
|
215
|
+
- test/frameworks/rails5x_test.rb
|
210
216
|
- test/frameworks/sinatra_test.rb
|
211
217
|
- test/instrumentation/bunny_client_test.rb
|
212
218
|
- test/instrumentation/bunny_consumer_test.rb
|
@@ -258,6 +264,7 @@ files:
|
|
258
264
|
- test/servers/rackapp_8101.rb
|
259
265
|
- test/servers/rails3x_8140.rb
|
260
266
|
- test/servers/rails4x_8140.rb
|
267
|
+
- test/servers/rails5x_8140.rb
|
261
268
|
- test/servers/sidekiq.rb
|
262
269
|
- test/servers/sidekiq.yml
|
263
270
|
- test/servers/sidekiq_initializer.rb
|
@@ -293,7 +300,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
293
300
|
version: '0'
|
294
301
|
requirements: []
|
295
302
|
rubyforge_project:
|
296
|
-
rubygems_version: 2.
|
303
|
+
rubygems_version: 2.6.1
|
297
304
|
signing_key:
|
298
305
|
specification_version: 4
|
299
306
|
summary: AppNeta TraceView performance instrumentation gem for Ruby
|
@@ -301,6 +308,7 @@ test_files:
|
|
301
308
|
- test/servers/sidekiq_initializer.rb
|
302
309
|
- test/servers/rails4x_8140.rb
|
303
310
|
- test/servers/rails3x_8140.rb
|
311
|
+
- test/servers/rails5x_8140.rb
|
304
312
|
- test/servers/delayed_job.rb
|
305
313
|
- test/servers/sidekiq.rb
|
306
314
|
- test/servers/rackapp_8101.rb
|
@@ -343,6 +351,7 @@ test_files:
|
|
343
351
|
- test/frameworks/apps/padrino_simple.rb
|
344
352
|
- test/frameworks/apps/grape_nested.rb
|
345
353
|
- test/frameworks/sinatra_test.rb
|
354
|
+
- test/frameworks/rails5x_test.rb
|
346
355
|
- test/frameworks/grape_test.rb
|
347
356
|
- test/frameworks/rails3x_test.rb
|
348
357
|
- 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
|
-
|