On 23 Nov 2015 07:07, Mike Frysinger wrote: > When things get slow, this option helps narrow down where things > are getting hung up.
example output (although not as interesting since it's not a full run):
$ ./bin/catalyst.git --profile
usage: catalyst [-h] [-V] [-d] [-v]
[--log-level {critical,error,warning,notice,info,debug}]
[--log-file LOG_FILE] [--color] [--nocolor] [--trace]
[--profile] [-a] [-p] [-P] [-T] [-F] [-c CONFIGS] [-f FILE]
[-s SNAPSHOT] [-C ...]
catalyst: error: please specify one of either -f or -C or -s
2133 function calls (2090 primitive calls) in 0.002 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
6 0.000 0.000 0.001 0.000
argparse.py:384(_format_actions_usage)
10/7 0.000 0.000 0.000 0.000 sre_parse.py:395(_parse)
4 0.000 0.000 0.000 0.000 argparse.py:336(get_lines)
25 0.000 0.000 0.000 0.000 {method 'sub' of
'_sre.SRE_Pattern' objects}
18/5 0.000 0.000 0.000 0.000 sre_compile.py:64(_compile)
30 0.000 0.000 0.001 0.000 re.py:230(_compile)
3 0.000 0.000 0.000 0.000 gettext.py:424(find)
73 0.000 0.000 0.000 0.000 sre_parse.py:193(__next)
25/12 0.000 0.000 0.000 0.000 sre_parse.py:151(getwidth)
2 0.000 0.000 0.002 0.001 argparse.py:292(_format_usage)
6 0.000 0.000 0.000 0.000 gettext.py:132(_expand_lang)
430 0.000 0.000 0.000 0.000 {method 'append' of 'list'
objects}
5 0.000 0.000 0.000 0.000 sre_compile.py:433(_compile_info)
67 0.000 0.000 0.000 0.000 sre_parse.py:141(__getitem__)
12 0.000 0.000 0.000 0.000 posixpath.py:61(join)
399/388 0.000 0.000 0.000 0.000 {len}
113 0.000 0.000 0.000 0.000 {isinstance}
6 0.000 0.000 0.000 0.000
sre_compile.py:256(_optimize_charset)
24 0.000 0.000 0.000 0.000 argparse.py:573(_format_args)
12 0.000 0.000 0.000 0.000 {posix.stat}
57 0.000 0.000 0.000 0.000 sre_parse.py:212(get)
12 0.000 0.000 0.000 0.000 genericpath.py:23(exists)
24 0.000 0.000 0.000 0.000
argparse.py:557(_metavar_formatter)
8/5 0.000 0.000 0.000 0.000 sre_parse.py:317(_parse_sub)
61 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects}
4 0.000 0.000 0.000 0.000 {method 'findall' of
'_sre.SRE_Pattern' objects}
3 0.000 0.000 0.000 0.000 sre_parse.py:734(parse_template)
5 0.000 0.000 0.000 0.000 sre_parse.py:706(parse)
24 0.000 0.000 0.001 0.000 re.py:148(sub)
5 0.000 0.000 0.001 0.000 sre_compile.py:567(compile)
18 0.000 0.000 0.000 0.000 re.py:264(_compile_repl)
6 0.000 0.000 0.000 0.000
sre_compile.py:228(_compile_charset)
2 0.000 0.000 0.000 0.000 {method 'write' of 'file' objects}
1 0.000 0.000 0.000 0.000 log.py:105(setup_logging)
38 0.000 0.000 0.000 0.000 sre_parse.py:137(__len__)
6 0.000 0.000 0.000 0.000 locale.py:363(normalize)
6 0.000 0.000 0.000 0.000 {sorted}
5 0.000 0.000 0.000 0.000 sre_compile.py:552(_code)
1 0.000 0.000 0.000 0.000 argparse.py:154(__init__)
20 0.000 0.000 0.000 0.000 argparse.py:566(format)
40 0.000 0.000 0.000 0.000 sre_parse.py:206(match)
18 0.000 0.000 0.000 0.000 sre_parse.py:92(__init__)
18 0.000 0.000 0.000 0.000 re.py:284(_subx)
1 0.000 0.000 0.002 0.002 argparse.py:205(format_help)
40 0.000 0.000 0.000 0.000 {min}
7 0.000 0.000 0.000 0.000 sre_compile.py:428(_simple)
1 0.000 0.000 0.002 0.002 main.py:281(_main)
1 0.000 0.000 0.000 0.000 {time.localtime}
29 0.000 0.000 0.000 0.000 {method 'join' of 'str' objects}
3 0.000 0.000 0.000 0.000 gettext.py:530(dgettext)
12 0.000 0.000 0.000 0.000 UserDict.py:58(get)
26 0.000 0.000 0.000 0.000 {method 'find' of 'bytearray'
objects}
3 0.000 0.000 0.000 0.000 locale.py:347(_replace_encoding)
3 0.000 0.000 0.000 0.000 gettext.py:464(translation)
7 0.000 0.000 0.000 0.000 sre_parse.py:268(_escape)
4 0.000 0.000 0.000 0.000 re.py:173(findall)
25 0.000 0.000 0.000 0.000 {method 'upper' of 'str' objects}
10 0.000 0.000 0.000 0.000 sre_compile.py:546(isstring)
4 0.000 0.000 0.000 0.000 sre_parse.py:236(_class_escape)
1 0.000 0.000 0.000 0.000 {time.strftime}
21 0.000 0.000 0.000 0.000 sre_parse.py:149(append)
1 0.000 0.000 0.000 0.000 __init__.py:644(_addHandlerRef)
18 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects}
3 0.000 0.000 0.000 0.000 __init__.py:49(normalize_encoding)
9 0.000 0.000 0.000 0.000 {method 'split' of 'str' objects}
5 0.000 0.000 0.000 0.000 {_sre.compile}
2 0.000 0.000 0.000 0.000 threading.py:147(acquire)
8 0.000 0.000 0.000 0.000 sre_parse.py:189(__init__)
36 0.000 0.000 0.000 0.000 {method 'endswith' of 'str'
objects}
36 0.000 0.000 0.000 0.000 {method 'startswith' of 'str'
objects}
3 0.000 0.000 0.000 0.000 sre_parse.py:85(closegroup)
1 0.000 0.000 0.000 0.000 log.py:81(__init__)
3 0.000 0.000 0.000 0.000 gettext.py:568(gettext)
1 0.000 0.000 0.000 0.000 __init__.py:154(getLevelName)
1 0.000 0.000 0.000 0.000 __init__.py:825(__init__)
9 0.000 0.000 0.000 0.000 {method 'translate' of 'str'
objects}
12 0.000 0.000 0.000 0.000 UserDict.py:70(__contains__)
1 0.000 0.000 0.002 0.002 argparse.py:2364(error)
2 0.000 0.000 0.000 0.000 __init__.py:183(_checkLevel)
1 0.000 0.000 0.000 0.000 argparse.py:250(add_usage)
1 0.000 0.000 0.000 0.000 log.py:74(detect_color)
5 0.000 0.000 0.000 0.000 sre_parse.py:67(__init__)
1 0.000 0.000 0.000 0.000 threading.py:132(__init__)
7 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects}
1 0.000 0.000 0.000 0.000 argparse.py:2326(_get_formatter)
4 0.000 0.000 0.000 0.000 UserDict.py:18(__getitem__)
2 0.000 0.000 0.000 0.000 argparse.py:2350(_print_message)
1 0.000 0.000 0.000 0.000 __init__.py:663(__init__)
1 0.000 0.000 0.002 0.002 argparse.py:2332(print_usage)
4 0.000 0.000 0.000 0.000 {hasattr}
1 0.000 0.000 0.000 0.000 __init__.py:692(createLock)
2 0.000 0.000 0.000 0.000 threading.py:187(release)
2 0.000 0.000 0.000 0.000 re.py:192(compile)
1 0.000 0.000 0.002 0.002 argparse.py:2287(format_usage)
3 0.000 0.000 0.000 0.000 sre_parse.py:74(opengroup)
2 0.000 0.000 0.000 0.000 argparse.py:287(_join_parts)
6 0.000 0.000 0.000 0.000 {method 'replace' of 'str'
objects}
18 0.000 0.000 0.000 0.000 {ord}
1 0.000 0.000 0.002 0.002 argparse.py:280(format_help)
3 0.000 0.000 0.000 0.000 {method 'index' of 'str' objects}
2 0.000 0.000 0.000 0.000 {method 'acquire' of
'thread.lock' objects}
1 0.000 0.000 0.000 0.000 {posix.isatty}
6 0.000 0.000 0.000 0.000 {method 'reverse' of 'list'
objects}
1 0.000 0.000 0.000 0.000 {method 'fileno' of 'file'
objects}
1 0.000 0.000 0.000 0.000 argparse.py:199(__init__)
6 0.000 0.000 0.000 0.000 {method 'extend' of 'list'
objects}
1 0.000 0.000 0.000 0.000 threading.py:114(RLock)
2 0.000 0.000 0.000 0.000 __init__.py:220(_releaseLock)
4 0.000 0.000 0.000 0.000 {max}
1 0.000 0.000 0.000 0.000 __init__.py:585(__init__)
7 0.000 0.000 0.000 0.000 sre_parse.py:145(__setitem__)
1 0.000 0.000 0.000 0.000 __init__.py:1137(setLevel)
1 0.000 0.000 0.000 0.000 argparse.py:2359(exit)
1 0.000 0.000 0.000 0.000 {sys.exit}
1 0.000 0.000 0.000 0.000 __init__.py:397(__init__)
2 0.000 0.000 0.000 0.000 {method 'release' of
'thread.lock' objects}
1 0.000 0.000 0.000 0.000 __init__.py:762(setFormatter)
2 0.000 0.000 0.000 0.000 __init__.py:211(_acquireLock)
1 0.000 0.000 0.000 0.000 __init__.py:1296(addHandler)
6 0.000 0.000 0.000 0.000 {range}
1 0.000 0.000 0.000 0.000 {method 'pop' of 'dict' objects}
4 0.000 0.000 0.000 0.000 {thread.get_ident}
5 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects}
1 0.000 0.000 0.000 0.000 argparse.py:230(_add_item)
1 0.000 0.000 0.000 0.000 {thread.allocate_lock}
3 0.000 0.000 0.000 0.000 {method 'remove' of 'list'
objects}
1 0.000 0.000 0.000 0.000 threading.py:80(__init__)
1 0.000 0.000 0.000 0.000 {method 'disable' of
'_lsprof.Profiler' objects}
-mike
signature.asc
Description: Digital signature
