def test_cleanup(self): tracer = VizTracer() tracer.start() _ = len([1, 2, 3]) _ = sum([2, 3, 4]) try: raise Exception("lol") except Exception: pass tracer.stop() tracer.cleanup()
def wrapper(*args, **kwargs): tracer = VizTracer(**viztracer_kwargs) tracer.start() ret = func(*args, **kwargs) tracer.stop() if not os.path.exists(output_dir): os.mkdir(output_dir) file_name = os.path.join(output_dir, "result_{}_{}.json".format(func.__name__, int(100000 * time.time()))) tracer.fork_save(file_name) tracer.cleanup() return ret
def test_trigger_on_change(self): tracer = VizTracer() tracer.stop() tracer.cleanup() tracer.start() a = VizObject(tracer, "my variable", trigger_on_change=False) a.hello = 1 a.b = 2 a.c = 3 a.lol = 4 a.log() tracer.stop() entries = tracer.parse() self.assertEqual(entries, 2)
def do_one_function(self, func): tracer = VizTracer(verbose=0) tracer.start() with Timer() as t: func() baseline = t.get_time() tracer.stop() tracer.cleanup() tracer.include_files = ["/"] tracer.start() with Timer() as t: func() include_files = t.get_time() tracer.stop() tracer.cleanup() tracer.include_files = [] tracer.max_stack_depth = 200 tracer.start() with Timer() as t: func() max_stack_depth = t.get_time() tracer.stop() tracer.cleanup() print("Filter performance:") print("Baseline: {:.9f}(1)".format(baseline)) print("Include: {:.9f}({:.2f})".format( include_files, include_files / baseline)) print("Max stack depth: {:.9f}({:.2f})".format( max_stack_depth, max_stack_depth / baseline))