def test_profile_counter(do_enable_profiler=True): def makeParams(): objects = tuple('foo' for _ in range(50)) template = ''.join('{%d}' % i for i in range(len(objects))) return template, objects def get_log(counter): template, objects = makeParams() range_size = 100000 logs = [] for i in range(range_size): if i <= range_size / 2: counter += 1 else: counter -= 1 logs.append(template.format(*objects)) return logs if do_enable_profiler is True: enable_profiler('test_profile_counter.json') python_domain = profiler.Domain('PythonDomain::test_profile_counter') counter = profiler.Counter(python_domain, "PythonCounter::test_profile_counter") counter.set_value(5) counter += 1 start = time.time() log = get_log(counter) assert len(log) == 100000 assert log[0].count('foo') == 50 stop = time.time() assert stop > start if do_enable_profiler is True: profiler.set_state('stop')
def test_profile_counter(do_enable_profiler=True): def makeParams(): objects = tuple('foo' for _ in range(50)) template = ''.join('{%d}' % i for i in range(len(objects))) return template, objects def doLog(counter): template, objects = makeParams() range_size = 100000 for i in range(range_size): if i <= range_size / 2: counter += 1 else: counter -= 1 logging.info(template.format(*objects)) if do_enable_profiler is True: enable_profiler('test_profile_counter.json') python_domain = profiler.Domain('PythonDomain::test_profile_counter') counter = profiler.Counter(python_domain, "PythonCounter::test_profile_counter") counter.set_value(5) counter += 1 start = time.time() doLog(counter) stop = time.time() print('run took: %.3f' % (stop - start)) if do_enable_profiler is True: profiler.set_state('stop')