Top Level Namespace

Defined Under Namespace

Modules: ApplicationHelper, CmseditHelper, DcApplicationHelper, DcInternals, DcPageConcern, DcPieceConcern, DcPolicyRuleConcern, DcSiteConcern, DcUserConcern, DrgCms, DrgcmsFormFields Classes: CmseditController, DcAd, DcAdRenderer, DcAdStat, DcApplicationController, DcBigMenu, DcBigMenuRenderer, DcBigTable, DcBigTableLocale, DcBigTableValue, DcCaptchaRenderer, DcCategory, DcCommonController, DcCommonRenderer, DcDesign, DcDummy, DcFilter, DcFolderPermission, DcIdent, DcJournal, DcKeyValueStore, DcLink, DcMainController, DcMenu, DcMenuItem, DcMenuRenderer, DcPage, DcPageRenderer, DcPart, DcPartRenderer, DcPermission, DcPiece, DcPieceRenderer, DcPolicy, DcPolicyRole, DcPolicyRule, DcPoll, DcPollItem, DcPollRenderer, DcRenderer, DcSimpleMenu, DcSimpleMenuItem, DcSimpleMenuRenderer, DcSite, DcStat, DcUser, DcUserRole, DcVisit, NewDrgFormGenerator

Instance Method Summary collapse

Instance Method Details

#analyze_404Object

Prints links which resultet in 404 error.



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/tasks/log_statistics.rb', line 43

def analyze_404
  i = 0
  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

#initObject

Init some internal vars



16
17
18
# File 'lib/tasks/log_statistics.rb', line 16

def init
  @by_day = [] 
end

#response_by_daysObject

Collects total number of requests and respond time for calculating average response time.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/tasks/log_statistics.rb', line 24

def response_by_days
  i = 0
  selected_files.each do |file_name|
    result = [file_name[0,6], 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
    p result
    @by_day << result
#     break if (i+=1) > 4
  end
end

#selected_filesObject

Return list of selected files.



9
10
11
# File 'lib/tasks/log_statistics.rb', line 9

def selected_files
  Dir["#{ARGV.first}*.log"] 
end