def toogle_cpu_profiler(raiden): try: from raiden.utils.profiling.cpu import CpuProfiler except ImportError: slogging.get_logger(__name__).exception('cannot start cpu profiler') return if hasattr(raiden, 'profiler') and isinstance(raiden.profiler, CpuProfiler): raiden.profiler.stop() raiden.profiler = None elif not hasattr(raiden, 'profiler') and raiden.config['database_path'] != ':memory:': raiden.profiler = CpuProfiler(raiden.config['database_path']) raiden.profiler.start()
def profiler(request, tmpdir): if request.config.option.profiler == 'cpu': from raiden.utils.profiling.cpu import CpuProfiler profiler = CpuProfiler(str(tmpdir)) profiler.start() yield profiler.stop() elif request.config.option.profiler == 'sample': from raiden.utils.profiling.sampler import SampleProfiler profiler = SampleProfiler(str(tmpdir)) profiler.start() yield profiler.stop() else: # do nothing, but yield a valid generator otherwise the autouse fixture # will fail yield