Top Level Namespace
Defined Under Namespace
Modules: BrowseModelsControl, CmsCommonHelper, CmsEditHelper, CmsHelper, CmsIndexHelper, CmseditControl, DcApplicationHelper, DcCategoryHelper, DcGalleryControl, DcHelpControl, DcImageControl, DcImageHelper, DcInternals, DcPageConcern, DcPageControl, DcPieceConcern, DcPolicyRuleConcern, DcPollResultControl, DcReport, DcSeoConcern, DcSiteConcern, DcUserConcern, DesignElementSettingsControl, DrgCms, DrgcmsFormFields Classes: CmseditController, ConvertToArGenerator, DcAd, DcAdRenderer, DcAdStat, DcApplicationController, DcBigMenu, DcBigMenuRenderer, DcBigTable, DcBigTableLocale, DcBigTableValue, DcCaptchaRenderer, DcCategory, DcCommonController, DcCommonRenderer, DcDesign, DcFilter, DcFolderPermission, DcGallery, DcGalleryRenderer, DcIdent, DcImage, DcJournal, DcJsonLd, DcKeyValue, DcKeyValueStore, DcLink, DcMainController, DcMemory, DcMenu, DcMenuItem, DcMenuRenderer, DcPage, DcPageRenderer, DcPart, DcPartRenderer, DcPermission, DcPiece, DcPieceRenderer, DcPolicy, DcPolicyRole, DcPolicyRule, DcPoll, DcPollItem, DcPollRenderer, DcPollResult, DcRemovedUrl, DcRenderer, DcSimpleMenu, DcSimpleMenuItem, DcSimpleMenuRenderer, DcSite, DcStat, DcTemp, DcUser, DcUserRole, DcVisit, NewDrgFormGenerator
Instance Method Summary collapse
-
#analyze_404 ⇒ Object
Prints links which resultet in 404 error.
-
#init ⇒ Object
Init some internal vars.
-
#response_by_days ⇒ Object
Collects total number of requests and respond time for calculating average response time.
-
#selected_files ⇒ Object
Return list of selected files.
Instance Method Details
#analyze_404 ⇒ Object
Prints links which resultet in 404 error.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# 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 ⇒ Object
Init some internal vars
16 17 18 19 20 21 22 23 24 |
# 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 ⇒ Object
Collects total number of requests and respond time for calculating average response time.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# 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 ⇒ Object
Return list of selected files.
9 10 11 |
# File 'lib/tasks/log_statistics.rb', line 9 def selected_files Dir["#{ARGV.first}*.log"] end |