if __name__ == '__main__': import argparse parser = argparse.ArgumentParser() parser.add_argument('file', nargs='?', default='debug.log') parser.add_argument('-c', '--class', action='append', dest='classes', help='tracer class selector (default: all)') parser.add_argument('-l', '--list-classes', action='store_true', help='show tracer classes') args = parser.parse_args() analyzer = None if args.list_classes: analyzer = ListClasses() else: analyzer = stats = Stats(args.classes) with Parser(args.file) as log: runner = AnalysisRunner(log) runner.add_analyzer(analyzer) runner.run() if not args.list_classes: stats.report()
return "{:02d}:{:02d}:{:010.7f}".format(h, m, s) def is_time_field(f): # TODO: need proper units return f.endswith("/time") or f.endswith("-dts") or f.endswith("-pts") or f.endswith("-duration") if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument("file", nargs="?", default="debug.log") parser.add_argument("-c", "--class", action="append", dest="classes", help="tracer class selector (default: all)") parser.add_argument("-l", "--list-classes", action="store_true", help="show tracer classes") args = parser.parse_args() analyzer = None if args.list_classes: analyzer = ListClasses() else: analyzer = stats = Stats(args.classes) with Parser(args.file) as log: runner = AnalysisRunner(log) runner.add_analyzer(analyzer) runner.run() if not args.list_classes: stats.report()