request-log-analyzer 1.9.1 → 1.9.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,7 +13,7 @@ module RequestLogAnalyzer
13
13
 
14
14
  # The current version of request-log-analyzer.
15
15
  # Do not change the value by hand; it will be updated automatically by the gem release script.
16
- VERSION = "1.9.1"
16
+ VERSION = "1.9.2"
17
17
 
18
18
 
19
19
  autoload :Controller, 'request_log_analyzer/controller'
@@ -82,7 +82,7 @@ module RequestLogAnalyzer::FileFormat
82
82
 
83
83
  # Rails > 2.1 completed line example
84
84
  # Completed in 614ms (View: 120, DB: 31) | 200 OK [http://floorplanner.local/demo]
85
- RAILS_22_COMPLETED = /Completed in (\d+)ms \((?:View: (\d+), )?DB: (\d+)\) \| (\d\d\d).+\[(http.+)\]/
85
+ RAILS_22_COMPLETED = /Completed in (\d+)ms \((?:View: (\d+))?(?:, DB: (\d+)\))? \| (\d\d\d).+\[(http.+)\]/
86
86
 
87
87
  # A hash of definitions for all common lines in Rails logs.
88
88
  LINE_DEFINITIONS = {
@@ -2,8 +2,8 @@ Gem::Specification.new do |s|
2
2
  s.name = "request-log-analyzer"
3
3
 
4
4
  # Do not set the version and date field manually, this is done by the release script
5
- s.version = "1.9.1"
6
- s.date = "2010-09-29"
5
+ s.version = "1.9.2"
6
+ s.date = "2010-10-01"
7
7
 
8
8
  s.rubyforge_project = 'r-l-a'
9
9
 
@@ -5,32 +5,32 @@ describe RequestLogAnalyzer::FileFormat do
5
5
  describe '.autodetect' do
6
6
  it "should autodetect a Merb log" do
7
7
  file_format = RequestLogAnalyzer::FileFormat.autodetect(log_fixture(:merb))
8
- file_format.should be_kind_of(RequestLogAnalyzer::FileFormat::Merb)
8
+ file_format.should be_instance_of(RequestLogAnalyzer::FileFormat::Merb)
9
9
  end
10
10
 
11
11
  it "should autodetect a MySQL slow query log" do
12
12
  file_format = RequestLogAnalyzer::FileFormat.autodetect(log_fixture(:mysql_slow_query))
13
- file_format.should be_kind_of(RequestLogAnalyzer::FileFormat::Mysql)
13
+ file_format.should be_instance_of(RequestLogAnalyzer::FileFormat::Mysql)
14
14
  end
15
15
 
16
16
  it "should autodetect a Rails 1.x log" do
17
17
  file_format = RequestLogAnalyzer::FileFormat.autodetect(log_fixture(:rails_1x))
18
- file_format.should be_kind_of(RequestLogAnalyzer::FileFormat::Rails)
18
+ file_format.should be_instance_of(RequestLogAnalyzer::FileFormat::Rails)
19
19
  end
20
20
 
21
21
  it "should autodetect a Rails 2.x log" do
22
22
  file_format = RequestLogAnalyzer::FileFormat.autodetect(log_fixture(:rails_22))
23
- file_format.should be_kind_of(RequestLogAnalyzer::FileFormat::Rails)
23
+ file_format.should be_instance_of(RequestLogAnalyzer::FileFormat::RailsDevelopment)
24
24
  end
25
25
 
26
26
  it "should autodetect an Apache access log" do
27
27
  file_format = RequestLogAnalyzer::FileFormat.autodetect(log_fixture(:apache_common))
28
- file_format.should be_kind_of(RequestLogAnalyzer::FileFormat::Apache)
28
+ file_format.should be_instance_of(RequestLogAnalyzer::FileFormat::Apache)
29
29
  end
30
30
 
31
31
  it "should autodetect a Rack access log" do
32
32
  file_format = RequestLogAnalyzer::FileFormat.autodetect(log_fixture(:sinatra))
33
- file_format.should be_kind_of(RequestLogAnalyzer::FileFormat::Rack)
33
+ file_format.should be_instance_of(RequestLogAnalyzer::FileFormat::Rack)
34
34
  end
35
35
 
36
36
  it "should not find any file format with a bogus file" do
@@ -21,19 +21,12 @@ describe RequestLogAnalyzer::FileFormat::Rails do
21
21
  :controller => 'QueriesController', :action => 'index', :format => 'HTML')
22
22
  end
23
23
 
24
-
25
- # it "should parse beta :completed lines correctly" do
26
- # line = 'Completed in 9ms (Views: 4.9ms | ActiveRecord: 0.5ms) with 200'
27
- # @file_format.should parse_line(line).as(:completed).and_capture(
28
- # :duration => 0.009, :status => 200)
29
- # end
30
-
31
24
  it "should parse :completed lines correctly" do
32
25
  line = 'Completed 200 OK in 170ms (Views: 78.4ms | ActiveRecord: 48.2ms)'
33
26
  @file_format.should parse_line(line).as(:completed).and_capture(
34
27
  :duration => 0.170, :status => 200)
35
28
  end
36
-
29
+
37
30
  it "should pase :failure lines correctly" do
38
31
  line = "ActionView::Template::Error (undefined local variable or method `field' for #<Class>) on line #3 of /Users/willem/Code/warehouse/app/views/queries/execute.csv.erb:"
39
32
  @file_format.should parse_line(line).as(:failure).and_capture(:line => 3,
@@ -75,6 +75,11 @@ describe RequestLogAnalyzer::FileFormat::Rails do
75
75
  @rails.should parse_line(line).as(:completed).and_capture(:duration => 0.614, :db => 0.031, :view => 0.120, :status => 200, :url => 'http://floorplanner.local/demo')
76
76
  end
77
77
 
78
+ it "should parse a Rails 2.2 style :completed line correctly when AR is disabled" do
79
+ line = prefix + 'Completed in 597ms (View: 298 | 200 OK [http://shapado.com]'
80
+ @rails.should parse_line(line).as(:completed).and_capture(:duration => 0.597, :db => nil, :view => 0.298, :status => 200, :url => 'http://shapado.com')
81
+ end
82
+
78
83
  it "should parse a :failure line with exception correctly" do
79
84
  line = prefix + "NoMethodError (undefined method `update_domain_account' for nil:NilClass):"
80
85
  @rails.should parse_line(line).as(:failure).and_capture(:error => 'NoMethodError', :message => "undefined method `update_domain_account' for nil:NilClass")
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: request-log-analyzer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 49
5
4
  prerelease: false
6
5
  segments:
7
6
  - 1
8
7
  - 9
9
- - 1
10
- version: 1.9.1
8
+ - 2
9
+ version: 1.9.2
11
10
  platform: ruby
12
11
  authors:
13
12
  - Willem van Bergen
@@ -16,18 +15,16 @@ autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2010-09-29 00:00:00 +02:00
18
+ date: 2010-10-01 00:00:00 +02:00
20
19
  default_executable: request-log-analyzer
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
23
22
  name: rake
24
23
  prerelease: false
25
24
  requirement: &id001 !ruby/object:Gem::Requirement
26
- none: false
27
25
  requirements:
28
26
  - - ">="
29
27
  - !ruby/object:Gem::Version
30
- hash: 3
31
28
  segments:
32
29
  - 0
33
30
  version: "0"
@@ -37,11 +34,9 @@ dependencies:
37
34
  name: rspec
38
35
  prerelease: false
39
36
  requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
37
  requirements:
42
38
  - - ">="
43
39
  - !ruby/object:Gem::Version
44
- hash: 3
45
40
  segments:
46
41
  - 0
47
42
  version: "0"
@@ -51,11 +46,9 @@ dependencies:
51
46
  name: activerecord
52
47
  prerelease: false
53
48
  requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
49
  requirements:
56
50
  - - ">="
57
51
  - !ruby/object:Gem::Version
58
- hash: 3
59
52
  segments:
60
53
  - 0
61
54
  version: "0"
@@ -65,11 +58,9 @@ dependencies:
65
58
  name: sqlite3-ruby
66
59
  prerelease: false
67
60
  requirement: &id004 !ruby/object:Gem::Requirement
68
- none: false
69
61
  requirements:
70
62
  - - ">="
71
63
  - !ruby/object:Gem::Version
72
- hash: 3
73
64
  segments:
74
65
  - 0
75
66
  version: "0"
@@ -239,27 +230,23 @@ rdoc_options:
239
230
  require_paths:
240
231
  - lib
241
232
  required_ruby_version: !ruby/object:Gem::Requirement
242
- none: false
243
233
  requirements:
244
234
  - - ">="
245
235
  - !ruby/object:Gem::Version
246
- hash: 3
247
236
  segments:
248
237
  - 0
249
238
  version: "0"
250
239
  required_rubygems_version: !ruby/object:Gem::Requirement
251
- none: false
252
240
  requirements:
253
241
  - - ">="
254
242
  - !ruby/object:Gem::Version
255
- hash: 3
256
243
  segments:
257
244
  - 0
258
245
  version: "0"
259
246
  requirements:
260
247
  - To use the database inserter, ActiveRecord and an appropriate database adapter are required.
261
248
  rubyforge_project: r-l-a
262
- rubygems_version: 1.3.7
249
+ rubygems_version: 1.3.6
263
250
  signing_key:
264
251
  specification_version: 3
265
252
  summary: A command line tool to analyze request logs for Apache, Rails, Merb, MySQL and other web application servers