class Object
Public Instance Methods
analyze_404()
click to toggle source
Prints links which resultet in 404 error.
# File lib/tasks/log_statistics.rb, line 51 def analyze_404 selected_files.each do |file_name| result = [file_name[0,6], 0, 0] url = '' File.readlines(file_name).each do |line| if m = /Started(.*?)for/.match(line) url = m[1] end if m = /404/.match(line) p url.gsub('"','') end end end end
init()
click to toggle source
Init some internal vars
# File lib/tasks/log_statistics.rb, line 16 def init @by_day = {} if File.exist?('result.txt') File.readlines('result.txt').each do |line| a = line.chomp.split("\t") @by_day[a.first] = a end end end
response_by_days()
click to toggle source
Collects total number of requests and respond time for calculating average response time.
# File lib/tasks/log_statistics.rb, line 30 def response_by_days selected_files.each do |file_name| key = file_name[0,6] next if @by_day[key] result = [key, 0, 0, 0] File.readlines(file_name).each do |line| next unless line.match 'Completed 200 OK in' time = $'.split('ms').first.strip.to_i result[1] += 1 result[2] += time end # average result[3] += result[2]/result[1] p result @by_day[key] = result end end
selected_files()
click to toggle source
Return list of selected files.
# File lib/tasks/log_statistics.rb, line 9 def selected_files Dir["#{ARGV.first}*.log"] end