def status_top_cmd(args): if len(args) < 2: usage() http_code = 0 try: http_code = int(args[0]) except: usage() if http_code == 0: usage() engine = DefaultEngine() wkset = engine.workset_manager.load(args[1]) result_sheet = Sheet() result_sheet.header("URL", "Hits", "Ratio") total_code_hits = wkset.http_codes.get(http_code, None) if total_code_hits is None: return total_code_hits_check = 0 total_pc_check = 0.0 for p in wkset.pages.values(): code_hits = p.http_codes.get(http_code, None) if code_hits is None: continue code_pc = float(code_hits)/total_code_hits * 100 total_code_hits_check += code_hits total_pc_check += code_pc result_sheet.line(p.url, code_hits, code_pc) result_sheet.end_line("Total", total_code_hits_check, total_pc_check) result_sheet.end_line("Check", total_code_hits, 100) result_sheet.sort(2) result_sheet.limit(20) print "\nHTTP status code %d breakdown:\n" % (http_code) result_sheet.show()
def display_slow_sorted(wkset, parent_workset, duration=0.5, sort_field_index=2, limit=None): result_sheet = Sheet() result_sheet.header("URL", "%Hits", "%Slow") for p in wkset.pages.values(): hits_pc = float(p.hits) / parent_workset.total_hits * 100 slow_pc = float(p.shape.get_hits_above(duration)) / parent_workset.shape.get_hits_above(duration) * 100 result_sheet.line(p.url, hits_pc, slow_pc) hits_pc = float(wkset.shape.total_hits) / parent_workset.total_hits * 100 slow_pc = float(wkset.shape.get_hits_above(duration)) / parent_workset.shape.get_hits_above(duration) * 100 result_sheet.end_line("Total", hits_pc, slow_pc) result_sheet.sort(sort_field_index) if limit is not None: result_sheet.limit(limit) result_sheet.show()