traceview 3.6.0 → 3.7.0
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.
- 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
|
-
|