request-log-analyzer 1.6.1 → 1.6.2
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.
- data/README.rdoc +2 -3
- data/lib/request_log_analyzer.rb +1 -1
- data/lib/request_log_analyzer/file_format.rb +1 -1
- data/lib/request_log_analyzer/line_definition.rb +2 -0
- data/lib/request_log_analyzer/source/log_parser.rb +2 -2
- data/request-log-analyzer.gemspec +2 -2
- data/spec/unit/source/log_parser_spec.rb +1 -1
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
This is a simple command line tool to analyze request log files in various formats to produce a performance report. Its purpose is to find what actions are best candidates for optimization.
|
4
4
|
|
5
|
-
* Analyzes
|
5
|
+
* Analyzes log files. Currently supports: Amazon S3, Apache, Delayed::Job, Merb, Mysql, PostgreSQL, Rack, Rails and more.
|
6
6
|
* Combines multiple files and decompresses compressed files, which comes in handy if you are using logrotate.
|
7
7
|
* Uses several metrics, including cumulative request time, mean request time, process blockers, database and rendering time, HTTP methods and statuses, Rails action cache statistics, etc.) (Sample output: http://wiki.github.com/wvanbergen/request-log-analyzer/sample-output)
|
8
8
|
* Low memory footprint and reasonably fast, so it is safe to run on a production server.
|
@@ -35,5 +35,4 @@ Bergen (willem@railsdoctors.com) or Bart ten Brinke (bart@railsdoctors.com).
|
|
35
35
|
|
36
36
|
* Project wiki at GitHub: http://wiki.github.com/wvanbergen/request-log-analyzer
|
37
37
|
* railsdoctors homepage: http://railsdoctors.com
|
38
|
-
* wvanbergen's blog posts: http://techblog.floorplanner.com/tag/request-log-analyzer
|
39
|
-
* barttenbrinke's blog posts: http://movesonrails.com/articles/tag/analyzer
|
38
|
+
* wvanbergen's blog posts: http://techblog.floorplanner.com/tag/request-log-analyzer
|
data/lib/request_log_analyzer.rb
CHANGED
@@ -11,7 +11,7 @@ module RequestLogAnalyzer
|
|
11
11
|
|
12
12
|
# The current version of request-log-analyzer.
|
13
13
|
# Do not change the value by hand; it will be updated automatically by the gem release script.
|
14
|
-
VERSION = "1.6.
|
14
|
+
VERSION = "1.6.2"
|
15
15
|
|
16
16
|
# Loads constants in the RequestLogAnalyzer namespace using self.load_default_class_file(base, const)
|
17
17
|
# <tt>const</tt>:: The constant that is not yet loaded in the RequestLogAnalyzer namespace. This should be passed as a string or symbol.
|
@@ -63,7 +63,7 @@ module RequestLogAnalyzer::FileFormat
|
|
63
63
|
|
64
64
|
parsers = all_formats.map { |f| RequestLogAnalyzer::Source::LogParser.new(f, :parse_strategy => 'cautious') }
|
65
65
|
|
66
|
-
File.open(file, '
|
66
|
+
File.open(file, 'rb') do |io|
|
67
67
|
while io.lineno < line_count && (line = io.gets)
|
68
68
|
parsers.each { |parser| parser.parse_line(line) }
|
69
69
|
end
|
@@ -109,12 +109,12 @@ module RequestLogAnalyzer::Source
|
|
109
109
|
@progress_handler = @dormant_progress_handler
|
110
110
|
@progress_handler.call(:started, file) if @progress_handler
|
111
111
|
|
112
|
-
File.open(file, '
|
112
|
+
File.open(file, 'rb') { |f| parse_io(f, options, &block) }
|
113
113
|
|
114
114
|
@progress_handler.call(:finished, file) if @progress_handler
|
115
115
|
@progress_handler = nil
|
116
116
|
else
|
117
|
-
IO.popen(decompress_file?(file), '
|
117
|
+
IO.popen(decompress_file?(file), 'rb') { |f| parse_io(f, options, &block) }
|
118
118
|
end
|
119
119
|
|
120
120
|
@source_changes_handler.call(:finished, @current_source) if @source_changes_handler
|
@@ -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.6.
|
6
|
-
s.date = "2010-01-
|
5
|
+
s.version = "1.6.2"
|
6
|
+
s.date = "2010-01-29"
|
7
7
|
|
8
8
|
s.rubyforge_project = 'r-l-a'
|
9
9
|
|
@@ -46,7 +46,7 @@ describe RequestLogAnalyzer::Source::LogParser, :requests do
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should parse a stream and find valid requests" do
|
49
|
-
io = File.new(log_fixture(:test_file_format), '
|
49
|
+
io = File.new(log_fixture(:test_file_format), 'rb')
|
50
50
|
@log_parser.parse_io(io) do |request|
|
51
51
|
request.should be_kind_of(RequestLogAnalyzer::Request)
|
52
52
|
request.should =~ :test
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: request-log-analyzer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Willem van Bergen
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2010-01-
|
13
|
+
date: 2010-01-29 00:00:00 +01:00
|
14
14
|
default_executable: request-log-analyzer
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|