From 9c160feb307c85e8fbc4aae10ff7f33311c5f8d6 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 7 Jul 2019 07:06:08 -0400 Subject: Rough-hewn use of ox_profile --- coverage/cmdline.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'coverage/cmdline.py') diff --git a/coverage/cmdline.py b/coverage/cmdline.py index 354ae8c2..fdab7d93 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -799,3 +799,22 @@ def main(argv=None): else: status = None return status + +# Profiling using ox_profile. Install it from GitHub: +# pip install git+https://github.com/emin63/ox_profile.git +# +# $set_env.py: COVERAGE_PROFILE - Set to use ox_profile. +_profile = os.environ.get("COVERAGE_PROFILE", "") +if _profile: # pragma: debugging + from ox_profile.core.launchers import SimpleLauncher # pylint: disable=import-error + original_main = main + + def main(argv=None): # pylint: disable=function-redefined + """A wrapper around main that profiles.""" + try: + profiler = SimpleLauncher.launch() + return original_main(argv) + finally: + data, _ = profiler.query(re_filter='coverage', max_records=100) + print(profiler.show(query=data, limit=100, sep='', col='')) + profiler.cancel() -- cgit v1.2.1