newrelic_rpm 3.1.0.djlogging → 3.1.0.djlogging2
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.
Potentially problematic release.
This version of newrelic_rpm might be problematic. Click here for more details.
- data/lib/new_relic/delayed_job_injection.rb +1 -0
- data/lib/new_relic/rack/developer_mode.rb +5 -0
- data/lib/new_relic/version.rb +1 -1
- data/newrelic_rpm.gemspec +3 -2
- data/test/new_relic/rack/developer_mode_test.rb +43 -0
- data/test/test_helper.rb +18 -0
- data/ui/views/newrelic/_show_sample_sql.rhtml +8 -4
- data/ui/views/newrelic/file/stylesheets/style.css +6 -0
- data/ui/views/newrelic/show_sample.rhtml +2 -1
- metadata +5 -4
@@ -16,6 +16,7 @@ DependencyDetection.defer do
|
|
16
16
|
NewRelic::Control.instance.log.info("Attempting to install Delayed Job initialization hook")
|
17
17
|
value = defined?(::Delayed) && defined?(::Delayed::Worker)
|
18
18
|
NewRelic::Control.instance.log.info("Delayed Job and Delayed Worker instrumentation #{value ? 'is' : 'is not'} being installed")
|
19
|
+
value
|
19
20
|
end
|
20
21
|
|
21
22
|
executes do
|
@@ -224,6 +224,11 @@ module NewRelic
|
|
224
224
|
@sample_controller_name = metric_parser.controller_name
|
225
225
|
@sample_action_name = metric_parser.action_name
|
226
226
|
|
227
|
+
@sql_segments = @sample.sql_segments
|
228
|
+
if params['d']
|
229
|
+
@sql_segments.sort!{|a,b| b.duration <=> a.duration }
|
230
|
+
end
|
231
|
+
|
227
232
|
render(:show_sample)
|
228
233
|
end
|
229
234
|
|
data/lib/new_relic/version.rb
CHANGED
@@ -4,7 +4,7 @@ module NewRelic
|
|
4
4
|
MAJOR = 3
|
5
5
|
MINOR = 1
|
6
6
|
TINY = 0
|
7
|
-
BUILD = '
|
7
|
+
BUILD = 'djlogging2' #'0' # Set to nil for a release, 'beta1', 'alpha', etc for prerelease builds
|
8
8
|
STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
|
9
9
|
end
|
10
10
|
|
data/newrelic_rpm.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{newrelic_rpm}
|
8
|
-
s.version = "3.1.0.
|
8
|
+
s.version = "3.1.0.djlogging2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Bill Kayser", "Justin George"]
|
12
|
-
s.date = %q{2011-05-
|
12
|
+
s.date = %q{2011-05-31}
|
13
13
|
s.description = %q{New Relic is a performance management system, developed by New Relic,
|
14
14
|
Inc (http://www.newrelic.com). New Relic provides you with deep
|
15
15
|
information about the performance of your web application as it runs
|
@@ -186,6 +186,7 @@ http://github.com/newrelic/rpm/
|
|
186
186
|
"test/new_relic/metric_data_test.rb",
|
187
187
|
"test/new_relic/metric_spec_test.rb",
|
188
188
|
"test/new_relic/rack/all_test.rb",
|
189
|
+
"test/new_relic/rack/developer_mode_test.rb",
|
189
190
|
"test/new_relic/stats_test.rb",
|
190
191
|
"test/new_relic/transaction_analysis/segment_summary_test.rb",
|
191
192
|
"test/new_relic/transaction_analysis_test.rb",
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# ENV['SKIP_RAILS'] = 'true'
|
2
|
+
require File.expand_path(File.join(File.dirname(__FILE__),'..', '..',
|
3
|
+
'test_helper'))
|
4
|
+
require 'rack/test'
|
5
|
+
require 'new_relic/rack/developer_mode'
|
6
|
+
|
7
|
+
ENV['RACK_ENV'] = 'test'
|
8
|
+
|
9
|
+
class DeveloperModeTest < Test::Unit::TestCase
|
10
|
+
include Rack::Test::Methods
|
11
|
+
include TransactionSampleTestHelper
|
12
|
+
|
13
|
+
def app
|
14
|
+
mock_app = lambda { |env| [500, {}, "Don't touch me!"] }
|
15
|
+
NewRelic::Rack::DeveloperMode.new(mock_app)
|
16
|
+
end
|
17
|
+
|
18
|
+
def setup
|
19
|
+
@sampler = NewRelic::Agent::TransactionSampler.new
|
20
|
+
run_sample_trace_on(@sampler, '/here')
|
21
|
+
run_sample_trace_on(@sampler, '/there')
|
22
|
+
run_sample_trace_on(@sampler, '/somewhere')
|
23
|
+
NewRelic::Agent.instance.stubs(:transaction_sampler).returns(@sampler)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_index_displays_all_samples
|
27
|
+
get '/newrelic'
|
28
|
+
|
29
|
+
assert last_response.ok?
|
30
|
+
assert last_response.body.include?('/here')
|
31
|
+
assert last_response.body.include?('/there')
|
32
|
+
assert last_response.body.include?('/somewhere')
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_show_sample_summary_displays_sample_details
|
36
|
+
get "/newrelic/show_sample_summary?id=#{@sampler.samples[0].sample_id}"
|
37
|
+
|
38
|
+
assert last_response.ok?
|
39
|
+
assert last_response.body.include?('/here')
|
40
|
+
assert last_response.body.include?('SandwichesController')
|
41
|
+
assert last_response.body.include?('index')
|
42
|
+
end
|
43
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -123,4 +123,22 @@ module TransactionSampleTestHelper
|
|
123
123
|
|
124
124
|
sampler.samples[0]
|
125
125
|
end
|
126
|
+
|
127
|
+
def run_sample_trace_on(sampler, path='/path')
|
128
|
+
sampler.notice_first_scope_push Time.now.to_f
|
129
|
+
sampler.notice_transaction path, path, {}
|
130
|
+
sampler.notice_push_scope "Controller/sandwiches/index"
|
131
|
+
sampler.notice_sql("SELECT * FROM sandwiches WHERE bread = 'wheat'", nil, 0)
|
132
|
+
sampler.notice_push_scope "ab"
|
133
|
+
sampler.notice_sql("SELECT * FROM sandwiches WHERE bread = 'white'", nil, 0)
|
134
|
+
yield sampler if block_given?
|
135
|
+
sampler.notice_pop_scope "ab"
|
136
|
+
sampler.notice_push_scope "lew"
|
137
|
+
sampler.notice_sql("SELECT * FROM sandwiches WHERE bread = 'french'", nil, 0)
|
138
|
+
sampler.notice_pop_scope "lew"
|
139
|
+
sampler.notice_pop_scope "Controller/sandwiches/index"
|
140
|
+
sampler.notice_scope_empty
|
141
|
+
sampler.samples[0]
|
142
|
+
end
|
143
|
+
|
126
144
|
end
|
@@ -6,15 +6,19 @@
|
|
6
6
|
so that the rows logger is loaded first.
|
7
7
|
<% else %>
|
8
8
|
<%= render :partial => 'segment_limit_message' if trace_row_display_limit_reached %>
|
9
|
-
<table width="100%">
|
9
|
+
<table width="100%" class="segment_list_table">
|
10
10
|
<thead>
|
11
11
|
<tr>
|
12
|
-
<td>
|
13
|
-
|
12
|
+
<td>
|
13
|
+
<%= link_to_if params['d'], "Timestamp", "show_sample_sql?id=#{sample.sample_id}" %>
|
14
|
+
</td>
|
15
|
+
<td colspan="2">
|
16
|
+
<%= link_to_if !params['d'], "Duration", "show_sample_sql?id=#{sample.sample_id}&d=y" %>
|
17
|
+
</td>
|
14
18
|
<td>SQL</td>
|
15
19
|
</tr>
|
16
20
|
</thead>
|
17
21
|
|
18
|
-
|
22
|
+
<%= render :partial => 'sql_row', :collection => @sql_segments[0...trace_row_display_limit] %>
|
19
23
|
</table>
|
20
24
|
<% end %>
|
@@ -70,9 +70,10 @@
|
|
70
70
|
<%= show_view_link 'SQL', 'show_sample_sql' %>
|
71
71
|
</div>
|
72
72
|
<br/>
|
73
|
+
|
73
74
|
<%= %w[show_sample_summary show_sample_sql show_sample_detail].collect do |p|
|
74
75
|
options = {:align => 'center', :id => p}
|
75
|
-
options[:style] = 'display: none' unless p
|
76
|
+
options[:style] = 'display: none' unless @req.path.include?(p)
|
76
77
|
content_tag('div', render(:partial => p), options)
|
77
78
|
end.join(' ') %>
|
78
79
|
<% end %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic_rpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: -511226757
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 1
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 3.1.0.
|
10
|
+
- djlogging2
|
11
|
+
version: 3.1.0.djlogging2
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Bill Kayser
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-05-
|
20
|
+
date: 2011-05-31 00:00:00 -07:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
@@ -243,6 +243,7 @@ files:
|
|
243
243
|
- test/new_relic/metric_data_test.rb
|
244
244
|
- test/new_relic/metric_spec_test.rb
|
245
245
|
- test/new_relic/rack/all_test.rb
|
246
|
+
- test/new_relic/rack/developer_mode_test.rb
|
246
247
|
- test/new_relic/stats_test.rb
|
247
248
|
- test/new_relic/transaction_analysis/segment_summary_test.rb
|
248
249
|
- test/new_relic/transaction_analysis_test.rb
|