Module pyboiler.profiler
Wrapper for python.profile
Expand source code
"""Wrapper for python.profile"""
import cProfile
import pstats
from .config import config
def run(cmd: str, locals: dict, globals: dict, builtins=True):
prof = cProfile.Profile(builtins=builtins)
prof.runctx(cmd, locals, globals)
prof.dump_stats(str(config().FILEPATH_PROFILE))
def get():
if config().FILEPATH_PROFILE.exists():
ps = pstats.Stats()
ps.load_stats(str(config().FILEPATH_PROFILE))
return ps
return None
def view(ps):
if not isinstance(ps, pstats.Stats):
return
ps.strip_dirs().sort_stats("cumtime").print_stats()
Functions
def get()
-
Expand source code
def get(): if config().FILEPATH_PROFILE.exists(): ps = pstats.Stats() ps.load_stats(str(config().FILEPATH_PROFILE)) return ps return None
def run(cmd: str, locals: dict, globals: dict, builtins=True)
-
Expand source code
def run(cmd: str, locals: dict, globals: dict, builtins=True): prof = cProfile.Profile(builtins=builtins) prof.runctx(cmd, locals, globals) prof.dump_stats(str(config().FILEPATH_PROFILE))
def view(ps)
-
Expand source code
def view(ps): if not isinstance(ps, pstats.Stats): return ps.strip_dirs().sort_stats("cumtime").print_stats()