request-log-analyzer 1.5.3 → 1.5.4
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/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.5.
|
14
|
+
VERSION = "1.5.4"
|
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.
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module RequestLogAnalyzer::FileFormat
|
2
|
+
|
3
|
+
# The DelayedJob file format parsed log files that are created by DelayedJob.
|
4
|
+
# By default, the log file can be found in RAILS_ROOT/log/delayed_job.log
|
5
|
+
class DelayedJob < Base
|
6
|
+
|
7
|
+
line_definition :job_lock do |line|
|
8
|
+
line.header = true
|
9
|
+
line.regexp = /\* \[JOB\] acquiring lock on (\S+)/
|
10
|
+
line.captures << { :name => :job, :type => :string }
|
11
|
+
end
|
12
|
+
|
13
|
+
line_definition :job_completed do |line|
|
14
|
+
line.footer = true
|
15
|
+
line.regexp = /\* \[JOB\] (\S+) completed after (\d+\.\d+)/
|
16
|
+
line.captures << { :name => :completed_job, :type => :string } <<
|
17
|
+
{ :name => :duration, :type => :duration, :unit => :sec }
|
18
|
+
end
|
19
|
+
|
20
|
+
line_definition :job_failed do |line|
|
21
|
+
line.footer = true
|
22
|
+
line.regexp = /\* \[JOB\] (\S+) failed with (\S+)\: .* - (\d+) failed attempts/
|
23
|
+
line.captures << { :name => :failed_job, :type => :string } <<
|
24
|
+
{ :name => :exception, :type => :string } <<
|
25
|
+
{ :name => :attempts, :type => :integer }
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
line_definition :job_lock_failed do |line|
|
30
|
+
line.footer = true
|
31
|
+
line.regexp = /\* \[JOB\] failed to acquire exclusive lock for (\S+)/
|
32
|
+
line.captures << { :name => :locked_job, :type => :string }
|
33
|
+
end
|
34
|
+
|
35
|
+
# line_definition :batch_completed do |line|
|
36
|
+
# line.header = true
|
37
|
+
# line.footer = true
|
38
|
+
# line.regexp = /(\d+) jobs processed at (\d+\.\d+) j\/s, (\d+) failed .../
|
39
|
+
# line.captures << { :name => :total_amount, :type => :integer } <<
|
40
|
+
# { :name => :mean_duration, :type => :duration, :unit => :sec } <<
|
41
|
+
# { :name => :failed_amount, :type => :integer }
|
42
|
+
# end
|
43
|
+
|
44
|
+
report do |analyze|
|
45
|
+
analyze.frequency :job, :line_type => :job_completed, :title => "Completed jobs"
|
46
|
+
analyze.frequency :job, :if => lambda { |request| request[:attempts] == 1 }, :title => "Failed jobs"
|
47
|
+
|
48
|
+
analyze.duration :duration, :category => :job, :line_type => :job_completed, :title => "Job duration"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -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.5.
|
6
|
-
s.date = "2009-12-
|
5
|
+
s.version = "1.5.4"
|
6
|
+
s.date = "2009-12-17"
|
7
7
|
|
8
8
|
s.rubyforge_project = 'r-l-a'
|
9
9
|
|
@@ -36,6 +36,6 @@ Gem::Specification.new do |s|
|
|
36
36
|
|
37
37
|
# The files and test_files directives are set automatically by the release script.
|
38
38
|
# Do not change them by hand, but make sure to add the files to the git repository.
|
39
|
-
s.files = %w(spec/unit/tracker/hourly_spread_spec.rb lib/request_log_analyzer/output/html.rb DESIGN.rdoc spec/fixtures/rails_unordered.log spec/fixtures/multiple_files_1.log lib/request_log_analyzer/database/source.rb README.rdoc spec/unit/file_format/amazon_s3_format_spec.rb lib/request_log_analyzer/file_format/rails_development.rb spec/fixtures/rails_22.log spec/fixtures/test_order.log spec/unit/database/base_class_spec.rb lib/request_log_analyzer/database/connection.rb lib/request_log_analyzer/aggregator.rb spec/fixtures/decompression.log lib/request_log_analyzer/file_format/apache.rb spec/unit/file_format/rack_format_spec.rb spec/fixtures/decompression.log.gz lib/request_log_analyzer/tracker/frequency.rb lib/request_log_analyzer/tracker/duration.rb tasks/github-gem.rake .gitignore spec/unit/filter/filter_spec.rb spec/lib/macros.rb spec/spec_helper.rb spec/fixtures/decompression.log.bz2 spec/unit/database/connection_spec.rb lib/request_log_analyzer/filter.rb spec/integration/scout_spec.rb spec/fixtures/test_file_format.log lib/request_log_analyzer/tracker/traffic.rb spec/unit/file_format/merb_format_spec.rb spec/unit/file_format/format_autodetection_spec.rb spec/unit/filter/timespan_filter_spec.rb spec/unit/file_format/file_format_api_spec.rb lib/request_log_analyzer/filter/field.rb lib/request_log_analyzer/file_format/merb.rb lib/request_log_analyzer/filter/anonymize.rb lib/request_log_analyzer/file_format/amazon_s3.rb lib/cli/database_console.rb spec/integration/mailer_spec.rb lib/request_log_analyzer/line_definition.rb spec/unit/tracker/frequency_tracker_spec.rb spec/fixtures/multiple_files_2.log spec/lib/mocks.rb spec/unit/file_format/apache_format_spec.rb spec/fixtures/syslog_1x.log spec/integration/munin_plugins_rails_spec.rb spec/lib/helpers.rb spec/fixtures/rails.db spec/unit/source/log_parser_spec.rb lib/request_log_analyzer/aggregator/database_inserter.rb spec/fixtures/header_and_footer.log spec/lib/testing_format.rb lib/request_log_analyzer/database.rb spec/unit/file_format/rails_format_spec.rb lib/request_log_analyzer/request.rb lib/request_log_analyzer/output/fixed_width.rb spec/integration/command_line_usage_spec.rb lib/request_log_analyzer/file_format/rack.rb lib/request_log_analyzer/tracker/numeric_value.rb spec/fixtures/test_language_combined.log lib/cli/command_line_arguments.rb lib/request_log_analyzer.rb spec/database.yml spec/unit/request_spec.rb lib/request_log_analyzer/database/base.rb spec/unit/aggregator/database_inserter_spec.rb lib/request_log_analyzer/database/request.rb lib/request_log_analyzer/output/fancy_html.rb lib/cli/database_console_init.rb lib/cli/progressbar.rb lib/request_log_analyzer/database/warning.rb spec/unit/filter/anonymize_filter_spec.rb spec/fixtures/apache_combined.log spec/fixtures/rails_22_cached.log lib/request_log_analyzer/aggregator/summarizer.rb spec/unit/
|
40
|
-
s.test_files = %w(spec/unit/tracker/hourly_spread_spec.rb spec/unit/file_format/amazon_s3_format_spec.rb spec/unit/database/base_class_spec.rb spec/unit/file_format/rack_format_spec.rb spec/unit/filter/filter_spec.rb spec/unit/database/connection_spec.rb spec/integration/scout_spec.rb spec/unit/file_format/merb_format_spec.rb spec/unit/file_format/format_autodetection_spec.rb spec/unit/filter/timespan_filter_spec.rb spec/unit/file_format/file_format_api_spec.rb spec/integration/mailer_spec.rb spec/unit/tracker/frequency_tracker_spec.rb spec/unit/file_format/apache_format_spec.rb spec/integration/munin_plugins_rails_spec.rb spec/unit/source/log_parser_spec.rb spec/unit/file_format/rails_format_spec.rb spec/integration/command_line_usage_spec.rb spec/unit/request_spec.rb spec/unit/aggregator/database_inserter_spec.rb spec/unit/filter/anonymize_filter_spec.rb spec/unit/tracker/duration_tracker_spec.rb spec/unit/file_format/common_regular_expressions_spec.rb spec/unit/file_format/line_definition_spec.rb spec/unit/file_format/mysql_format_spec.rb spec/unit/mailer_spec.rb spec/unit/aggregator/summarizer_spec.rb spec/unit/tracker/traffic_tracker_spec.rb spec/unit/tracker/numeric_value_tracker_spec.rb spec/unit/controller/log_processor_spec.rb spec/unit/filter/field_filter_spec.rb spec/unit/controller/controller_spec.rb spec/unit/tracker/timespan_tracker_spec.rb spec/unit/tracker/tracker_api_spec.rb spec/unit/database/database_spec.rb)
|
39
|
+
s.files = %w(spec/unit/tracker/hourly_spread_spec.rb lib/request_log_analyzer/output/html.rb DESIGN.rdoc spec/fixtures/rails_unordered.log spec/fixtures/multiple_files_1.log lib/request_log_analyzer/database/source.rb README.rdoc spec/unit/file_format/amazon_s3_format_spec.rb lib/request_log_analyzer/file_format/rails_development.rb spec/fixtures/rails_22.log spec/fixtures/test_order.log spec/unit/database/base_class_spec.rb lib/request_log_analyzer/database/connection.rb lib/request_log_analyzer/aggregator.rb spec/fixtures/decompression.log lib/request_log_analyzer/file_format/apache.rb spec/unit/file_format/rack_format_spec.rb spec/fixtures/decompression.log.gz lib/request_log_analyzer/tracker/frequency.rb lib/request_log_analyzer/tracker/duration.rb tasks/github-gem.rake .gitignore spec/unit/filter/filter_spec.rb spec/lib/macros.rb spec/spec_helper.rb spec/fixtures/decompression.log.bz2 spec/unit/database/connection_spec.rb lib/request_log_analyzer/filter.rb spec/integration/scout_spec.rb spec/fixtures/test_file_format.log lib/request_log_analyzer/tracker/traffic.rb spec/unit/file_format/merb_format_spec.rb spec/unit/file_format/format_autodetection_spec.rb spec/unit/filter/timespan_filter_spec.rb spec/unit/file_format/file_format_api_spec.rb lib/request_log_analyzer/filter/field.rb lib/request_log_analyzer/file_format/merb.rb lib/request_log_analyzer/filter/anonymize.rb lib/request_log_analyzer/file_format/amazon_s3.rb lib/cli/database_console.rb spec/integration/mailer_spec.rb lib/request_log_analyzer/line_definition.rb spec/unit/tracker/frequency_tracker_spec.rb spec/fixtures/multiple_files_2.log spec/lib/mocks.rb spec/unit/file_format/apache_format_spec.rb spec/fixtures/syslog_1x.log spec/integration/munin_plugins_rails_spec.rb spec/lib/helpers.rb spec/unit/file_format/delayed_job_format_spec.rb spec/fixtures/rails.db spec/unit/source/log_parser_spec.rb lib/request_log_analyzer/aggregator/database_inserter.rb spec/fixtures/header_and_footer.log spec/lib/testing_format.rb lib/request_log_analyzer/database.rb spec/unit/file_format/rails_format_spec.rb lib/request_log_analyzer/request.rb lib/request_log_analyzer/output/fixed_width.rb spec/integration/command_line_usage_spec.rb lib/request_log_analyzer/file_format/rack.rb lib/request_log_analyzer/tracker/numeric_value.rb spec/fixtures/test_language_combined.log lib/cli/command_line_arguments.rb lib/request_log_analyzer.rb spec/database.yml spec/unit/request_spec.rb lib/request_log_analyzer/database/base.rb spec/unit/aggregator/database_inserter_spec.rb lib/request_log_analyzer/database/request.rb lib/request_log_analyzer/output/fancy_html.rb lib/cli/database_console_init.rb lib/cli/progressbar.rb lib/request_log_analyzer/database/warning.rb spec/unit/filter/anonymize_filter_spec.rb spec/fixtures/apache_combined.log spec/unit/tracker/duration_tracker_spec.rb spec/fixtures/rails_22_cached.log lib/request_log_analyzer/aggregator/summarizer.rb spec/unit/file_format/common_regular_expressions_spec.rb spec/fixtures/rails_1x.log lib/request_log_analyzer/file_format/delayed_job.rb lib/request_log_analyzer/output.rb spec/unit/file_format/line_definition_spec.rb lib/request_log_analyzer/file_format/mysql.rb spec/unit/file_format/mysql_format_spec.rb request-log-analyzer.gemspec spec/fixtures/apache_common.log lib/request_log_analyzer/file_format/rails.rb Rakefile spec/unit/mailer_spec.rb lib/request_log_analyzer/tracker/hourly_spread.rb spec/unit/aggregator/summarizer_spec.rb spec/unit/tracker/traffic_tracker_spec.rb spec/unit/tracker/numeric_value_tracker_spec.rb lib/request_log_analyzer/tracker/timespan.rb spec/unit/controller/log_processor_spec.rb spec/fixtures/sinatra.log spec/unit/filter/field_filter_spec.rb spec/fixtures/merb_prefixed.log lib/request_log_analyzer/log_processor.rb lib/request_log_analyzer/filter/timespan.rb spec/unit/controller/controller_spec.rb lib/request_log_analyzer/mailer.rb lib/cli/tools.rb spec/fixtures/decompression.tar.gz spec/unit/tracker/timespan_tracker_spec.rb spec/lib/matchers.rb lib/request_log_analyzer/controller.rb spec/unit/tracker/tracker_api_spec.rb lib/request_log_analyzer/source/database_loader.rb spec/fixtures/merb.log LICENSE lib/request_log_analyzer/file_format.rb tasks/request_log_analyzer.rake spec/unit/database/database_spec.rb spec/fixtures/decompression.log.zip spec/fixtures/decompression.tgz bin/request-log-analyzer lib/request_log_analyzer/tracker.rb lib/request_log_analyzer/source.rb spec/fixtures/mysql_slow_query.log lib/request_log_analyzer/source/log_parser.rb lib/request_log_analyzer/aggregator/echo.rb)
|
40
|
+
s.test_files = %w(spec/unit/tracker/hourly_spread_spec.rb spec/unit/file_format/amazon_s3_format_spec.rb spec/unit/database/base_class_spec.rb spec/unit/file_format/rack_format_spec.rb spec/unit/filter/filter_spec.rb spec/unit/database/connection_spec.rb spec/integration/scout_spec.rb spec/unit/file_format/merb_format_spec.rb spec/unit/file_format/format_autodetection_spec.rb spec/unit/filter/timespan_filter_spec.rb spec/unit/file_format/file_format_api_spec.rb spec/integration/mailer_spec.rb spec/unit/tracker/frequency_tracker_spec.rb spec/unit/file_format/apache_format_spec.rb spec/integration/munin_plugins_rails_spec.rb spec/unit/file_format/delayed_job_format_spec.rb spec/unit/source/log_parser_spec.rb spec/unit/file_format/rails_format_spec.rb spec/integration/command_line_usage_spec.rb spec/unit/request_spec.rb spec/unit/aggregator/database_inserter_spec.rb spec/unit/filter/anonymize_filter_spec.rb spec/unit/tracker/duration_tracker_spec.rb spec/unit/file_format/common_regular_expressions_spec.rb spec/unit/file_format/line_definition_spec.rb spec/unit/file_format/mysql_format_spec.rb spec/unit/mailer_spec.rb spec/unit/aggregator/summarizer_spec.rb spec/unit/tracker/traffic_tracker_spec.rb spec/unit/tracker/numeric_value_tracker_spec.rb spec/unit/controller/log_processor_spec.rb spec/unit/filter/field_filter_spec.rb spec/unit/controller/controller_spec.rb spec/unit/tracker/timespan_tracker_spec.rb spec/unit/tracker/tracker_api_spec.rb spec/unit/database/database_spec.rb)
|
41
41
|
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
|
3
|
+
describe RequestLogAnalyzer::FileFormat::DelayedJob do
|
4
|
+
|
5
|
+
it "should be a valid file format" do
|
6
|
+
RequestLogAnalyzer::FileFormat.load(:delayed_job).should be_valid
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#parse_line' do
|
10
|
+
before(:each) do
|
11
|
+
@file_format = RequestLogAnalyzer::FileFormat.load(:delayed_job)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should parse a :job_lock line correctly" do
|
15
|
+
line = "* [JOB] acquiring lock on BackgroundJob::ThumbnailSaver"
|
16
|
+
@file_format.should parse_line(line).as(:job_lock).and_capture(:job => 'BackgroundJob::ThumbnailSaver')
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should parse a :job_completed line correctly" do
|
20
|
+
line = '* [JOB] BackgroundJob::ThumbnailSaver completed after 0.7932'
|
21
|
+
@file_format.should parse_line(line).as(:job_completed).and_capture(
|
22
|
+
:duration => 0.7932, :completed_job => 'BackgroundJob::ThumbnailSaver')
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should pase a :job_failed line correctly" do
|
26
|
+
line = "* [JOB] BackgroundJob::ThumbnailSaver failed with ActiveRecord::RecordNotFound: Couldn't find Design with ID=20413443 - 1 failed attempts"
|
27
|
+
@file_format.should parse_line(line).as(:job_failed).and_capture(:attempts => 1,
|
28
|
+
:failed_job => 'BackgroundJob::ThumbnailSaver', :exception => 'ActiveRecord::RecordNotFound')
|
29
|
+
end
|
30
|
+
|
31
|
+
it "" do
|
32
|
+
line = "* [JOB] failed to acquire exclusive lock for BackgroundJob::ThumbnailSaver"
|
33
|
+
@file_format.should parse_line(line).as(:job_lock_failed).and_capture(:locked_job => 'BackgroundJob::ThumbnailSaver')
|
34
|
+
end
|
35
|
+
|
36
|
+
# it "should pase a :batch_completed line correctly" do
|
37
|
+
# line = '1 jobs processed at 1.0834 j/s, 0 failed ...'
|
38
|
+
# @file_format.should parse_line(line).as(:batch_completed).and_capture(
|
39
|
+
# :mean_duration => 0.7932, :total_amount => 1, :failed_amount => 0)
|
40
|
+
# end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#parse_io' do
|
45
|
+
before(:each) do
|
46
|
+
@log_parser = RequestLogAnalyzer::Source::LogParser.new(RequestLogAnalyzer::FileFormat.load(:delayed_job))
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should parse a batch of completed jobs without warnings" do
|
50
|
+
fragment = "* [JOB] acquiring lock on BackgroundJob::ThumbnailSaver
|
51
|
+
* [JOB] BackgroundJob::ThumbnailSaver completed after 0.9114
|
52
|
+
* [JOB] acquiring lock on BackgroundJob::ThumbnailSaver
|
53
|
+
* [JOB] BackgroundJob::ThumbnailSaver completed after 0.9110
|
54
|
+
2 jobs processed at 1.0832 j/s, 0 failed ..."
|
55
|
+
|
56
|
+
request_counter.should_receive(:hit!).exactly(2).times
|
57
|
+
@log_parser.should_not_receive(:warn)
|
58
|
+
|
59
|
+
@log_parser.parse_io(StringIO.new(fragment)) do |request|
|
60
|
+
request_counter.hit! if request.kind_of?(RequestLogAnalyzer::FileFormat::DelayedJob::Request)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should parse a batch with a failed job without warnings" do
|
65
|
+
fragment = "* [JOB] acquiring lock on BackgroundJob::ThumbnailSaver
|
66
|
+
* [JOB] BackgroundJob::ThumbnailSaver completed after 1.0627
|
67
|
+
* [JOB] acquiring lock on BackgroundJob::ThumbnailSaver
|
68
|
+
* [JOB] BackgroundJob::ThumbnailSaver failed with ActiveRecord::RecordNotFound: Couldn't find Design with ID=20413443 - 3 failed attempts
|
69
|
+
Couldn't find Design with ID=20413443
|
70
|
+
* [JOB] acquiring lock on BackgroundJob::ThumbnailSaver
|
71
|
+
* [JOB] failed to acquire exclusive lock for BackgroundJob::ThumbnailSaver
|
72
|
+
2 jobs processed at 1.4707 j/s, 1 failed ..."
|
73
|
+
|
74
|
+
request_counter.should_receive(:hit!).exactly(3).times
|
75
|
+
@log_parser.should_not_receive(:warn)
|
76
|
+
|
77
|
+
@log_parser.parse_io(StringIO.new(fragment)) do |request|
|
78
|
+
request_counter.hit! if request.kind_of?(RequestLogAnalyzer::FileFormat::DelayedJob::Request)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
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.5.
|
4
|
+
version: 1.5.4
|
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: 2009-12-
|
13
|
+
date: 2009-12-17 00:00:00 +01:00
|
14
14
|
default_executable: request-log-analyzer
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- spec/fixtures/syslog_1x.log
|
94
94
|
- spec/integration/munin_plugins_rails_spec.rb
|
95
95
|
- spec/lib/helpers.rb
|
96
|
+
- spec/unit/file_format/delayed_job_format_spec.rb
|
96
97
|
- spec/fixtures/rails.db
|
97
98
|
- spec/unit/source/log_parser_spec.rb
|
98
99
|
- lib/request_log_analyzer/aggregator/database_inserter.rb
|
@@ -119,11 +120,12 @@ files:
|
|
119
120
|
- lib/request_log_analyzer/database/warning.rb
|
120
121
|
- spec/unit/filter/anonymize_filter_spec.rb
|
121
122
|
- spec/fixtures/apache_combined.log
|
123
|
+
- spec/unit/tracker/duration_tracker_spec.rb
|
122
124
|
- spec/fixtures/rails_22_cached.log
|
123
125
|
- lib/request_log_analyzer/aggregator/summarizer.rb
|
124
|
-
- spec/unit/tracker/duration_tracker_spec.rb
|
125
126
|
- spec/unit/file_format/common_regular_expressions_spec.rb
|
126
127
|
- spec/fixtures/rails_1x.log
|
128
|
+
- lib/request_log_analyzer/file_format/delayed_job.rb
|
127
129
|
- lib/request_log_analyzer/output.rb
|
128
130
|
- spec/unit/file_format/line_definition_spec.rb
|
129
131
|
- lib/request_log_analyzer/file_format/mysql.rb
|
@@ -215,6 +217,7 @@ test_files:
|
|
215
217
|
- spec/unit/tracker/frequency_tracker_spec.rb
|
216
218
|
- spec/unit/file_format/apache_format_spec.rb
|
217
219
|
- spec/integration/munin_plugins_rails_spec.rb
|
220
|
+
- spec/unit/file_format/delayed_job_format_spec.rb
|
218
221
|
- spec/unit/source/log_parser_spec.rb
|
219
222
|
- spec/unit/file_format/rails_format_spec.rb
|
220
223
|
- spec/integration/command_line_usage_spec.rb
|