Gentoo Archives: gentoo-catalyst

From: Mike Frysinger <vapier@g.o>
To: gentoo-catalyst@l.g.o
Subject: Re: [gentoo-catalyst] [PATCH 2/2] main: add a --profile option
Date: Mon, 23 Nov 2015 12:15:19
Message-Id: 20151123121502.GH23754@vapier.lan
In Reply to: [gentoo-catalyst] [PATCH 2/2] main: add a --profile option by Mike Frysinger
1 On 23 Nov 2015 07:07, Mike Frysinger wrote:
2 > When things get slow, this option helps narrow down where things
3 > are getting hung up.
4
5 example output (although not as interesting since it's not a full run):
6 $ ./bin/catalyst.git --profile
7 usage: catalyst [-h] [-V] [-d] [-v]
8 [--log-level {critical,error,warning,notice,info,debug}]
9 [--log-file LOG_FILE] [--color] [--nocolor] [--trace]
10 [--profile] [-a] [-p] [-P] [-T] [-F] [-c CONFIGS] [-f FILE]
11 [-s SNAPSHOT] [-C ...]
12 catalyst: error: please specify one of either -f or -C or -s
13
14 2133 function calls (2090 primitive calls) in 0.002 seconds
15
16 Ordered by: internal time
17
18 ncalls tottime percall cumtime percall filename:lineno(function)
19 6 0.000 0.000 0.001 0.000 argparse.py:384(_format_actions_usage)
20 10/7 0.000 0.000 0.000 0.000 sre_parse.py:395(_parse)
21 4 0.000 0.000 0.000 0.000 argparse.py:336(get_lines)
22 25 0.000 0.000 0.000 0.000 {method 'sub' of '_sre.SRE_Pattern' objects}
23 18/5 0.000 0.000 0.000 0.000 sre_compile.py:64(_compile)
24 30 0.000 0.000 0.001 0.000 re.py:230(_compile)
25 3 0.000 0.000 0.000 0.000 gettext.py:424(find)
26 73 0.000 0.000 0.000 0.000 sre_parse.py:193(__next)
27 25/12 0.000 0.000 0.000 0.000 sre_parse.py:151(getwidth)
28 2 0.000 0.000 0.002 0.001 argparse.py:292(_format_usage)
29 6 0.000 0.000 0.000 0.000 gettext.py:132(_expand_lang)
30 430 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects}
31 5 0.000 0.000 0.000 0.000 sre_compile.py:433(_compile_info)
32 67 0.000 0.000 0.000 0.000 sre_parse.py:141(__getitem__)
33 12 0.000 0.000 0.000 0.000 posixpath.py:61(join)
34 399/388 0.000 0.000 0.000 0.000 {len}
35 113 0.000 0.000 0.000 0.000 {isinstance}
36 6 0.000 0.000 0.000 0.000 sre_compile.py:256(_optimize_charset)
37 24 0.000 0.000 0.000 0.000 argparse.py:573(_format_args)
38 12 0.000 0.000 0.000 0.000 {posix.stat}
39 57 0.000 0.000 0.000 0.000 sre_parse.py:212(get)
40 12 0.000 0.000 0.000 0.000 genericpath.py:23(exists)
41 24 0.000 0.000 0.000 0.000 argparse.py:557(_metavar_formatter)
42 8/5 0.000 0.000 0.000 0.000 sre_parse.py:317(_parse_sub)
43 61 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects}
44 4 0.000 0.000 0.000 0.000 {method 'findall' of '_sre.SRE_Pattern' objects}
45 3 0.000 0.000 0.000 0.000 sre_parse.py:734(parse_template)
46 5 0.000 0.000 0.000 0.000 sre_parse.py:706(parse)
47 24 0.000 0.000 0.001 0.000 re.py:148(sub)
48 5 0.000 0.000 0.001 0.000 sre_compile.py:567(compile)
49 18 0.000 0.000 0.000 0.000 re.py:264(_compile_repl)
50 6 0.000 0.000 0.000 0.000 sre_compile.py:228(_compile_charset)
51 2 0.000 0.000 0.000 0.000 {method 'write' of 'file' objects}
52 1 0.000 0.000 0.000 0.000 log.py:105(setup_logging)
53 38 0.000 0.000 0.000 0.000 sre_parse.py:137(__len__)
54 6 0.000 0.000 0.000 0.000 locale.py:363(normalize)
55 6 0.000 0.000 0.000 0.000 {sorted}
56 5 0.000 0.000 0.000 0.000 sre_compile.py:552(_code)
57 1 0.000 0.000 0.000 0.000 argparse.py:154(__init__)
58 20 0.000 0.000 0.000 0.000 argparse.py:566(format)
59 40 0.000 0.000 0.000 0.000 sre_parse.py:206(match)
60 18 0.000 0.000 0.000 0.000 sre_parse.py:92(__init__)
61 18 0.000 0.000 0.000 0.000 re.py:284(_subx)
62 1 0.000 0.000 0.002 0.002 argparse.py:205(format_help)
63 40 0.000 0.000 0.000 0.000 {min}
64 7 0.000 0.000 0.000 0.000 sre_compile.py:428(_simple)
65 1 0.000 0.000 0.002 0.002 main.py:281(_main)
66 1 0.000 0.000 0.000 0.000 {time.localtime}
67 29 0.000 0.000 0.000 0.000 {method 'join' of 'str' objects}
68 3 0.000 0.000 0.000 0.000 gettext.py:530(dgettext)
69 12 0.000 0.000 0.000 0.000 UserDict.py:58(get)
70 26 0.000 0.000 0.000 0.000 {method 'find' of 'bytearray' objects}
71 3 0.000 0.000 0.000 0.000 locale.py:347(_replace_encoding)
72 3 0.000 0.000 0.000 0.000 gettext.py:464(translation)
73 7 0.000 0.000 0.000 0.000 sre_parse.py:268(_escape)
74 4 0.000 0.000 0.000 0.000 re.py:173(findall)
75 25 0.000 0.000 0.000 0.000 {method 'upper' of 'str' objects}
76 10 0.000 0.000 0.000 0.000 sre_compile.py:546(isstring)
77 4 0.000 0.000 0.000 0.000 sre_parse.py:236(_class_escape)
78 1 0.000 0.000 0.000 0.000 {time.strftime}
79 21 0.000 0.000 0.000 0.000 sre_parse.py:149(append)
80 1 0.000 0.000 0.000 0.000 __init__.py:644(_addHandlerRef)
81 18 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects}
82 3 0.000 0.000 0.000 0.000 __init__.py:49(normalize_encoding)
83 9 0.000 0.000 0.000 0.000 {method 'split' of 'str' objects}
84 5 0.000 0.000 0.000 0.000 {_sre.compile}
85 2 0.000 0.000 0.000 0.000 threading.py:147(acquire)
86 8 0.000 0.000 0.000 0.000 sre_parse.py:189(__init__)
87 36 0.000 0.000 0.000 0.000 {method 'endswith' of 'str' objects}
88 36 0.000 0.000 0.000 0.000 {method 'startswith' of 'str' objects}
89 3 0.000 0.000 0.000 0.000 sre_parse.py:85(closegroup)
90 1 0.000 0.000 0.000 0.000 log.py:81(__init__)
91 3 0.000 0.000 0.000 0.000 gettext.py:568(gettext)
92 1 0.000 0.000 0.000 0.000 __init__.py:154(getLevelName)
93 1 0.000 0.000 0.000 0.000 __init__.py:825(__init__)
94 9 0.000 0.000 0.000 0.000 {method 'translate' of 'str' objects}
95 12 0.000 0.000 0.000 0.000 UserDict.py:70(__contains__)
96 1 0.000 0.000 0.002 0.002 argparse.py:2364(error)
97 2 0.000 0.000 0.000 0.000 __init__.py:183(_checkLevel)
98 1 0.000 0.000 0.000 0.000 argparse.py:250(add_usage)
99 1 0.000 0.000 0.000 0.000 log.py:74(detect_color)
100 5 0.000 0.000 0.000 0.000 sre_parse.py:67(__init__)
101 1 0.000 0.000 0.000 0.000 threading.py:132(__init__)
102 7 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects}
103 1 0.000 0.000 0.000 0.000 argparse.py:2326(_get_formatter)
104 4 0.000 0.000 0.000 0.000 UserDict.py:18(__getitem__)
105 2 0.000 0.000 0.000 0.000 argparse.py:2350(_print_message)
106 1 0.000 0.000 0.000 0.000 __init__.py:663(__init__)
107 1 0.000 0.000 0.002 0.002 argparse.py:2332(print_usage)
108 4 0.000 0.000 0.000 0.000 {hasattr}
109 1 0.000 0.000 0.000 0.000 __init__.py:692(createLock)
110 2 0.000 0.000 0.000 0.000 threading.py:187(release)
111 2 0.000 0.000 0.000 0.000 re.py:192(compile)
112 1 0.000 0.000 0.002 0.002 argparse.py:2287(format_usage)
113 3 0.000 0.000 0.000 0.000 sre_parse.py:74(opengroup)
114 2 0.000 0.000 0.000 0.000 argparse.py:287(_join_parts)
115 6 0.000 0.000 0.000 0.000 {method 'replace' of 'str' objects}
116 18 0.000 0.000 0.000 0.000 {ord}
117 1 0.000 0.000 0.002 0.002 argparse.py:280(format_help)
118 3 0.000 0.000 0.000 0.000 {method 'index' of 'str' objects}
119 2 0.000 0.000 0.000 0.000 {method 'acquire' of 'thread.lock' objects}
120 1 0.000 0.000 0.000 0.000 {posix.isatty}
121 6 0.000 0.000 0.000 0.000 {method 'reverse' of 'list' objects}
122 1 0.000 0.000 0.000 0.000 {method 'fileno' of 'file' objects}
123 1 0.000 0.000 0.000 0.000 argparse.py:199(__init__)
124 6 0.000 0.000 0.000 0.000 {method 'extend' of 'list' objects}
125 1 0.000 0.000 0.000 0.000 threading.py:114(RLock)
126 2 0.000 0.000 0.000 0.000 __init__.py:220(_releaseLock)
127 4 0.000 0.000 0.000 0.000 {max}
128 1 0.000 0.000 0.000 0.000 __init__.py:585(__init__)
129 7 0.000 0.000 0.000 0.000 sre_parse.py:145(__setitem__)
130 1 0.000 0.000 0.000 0.000 __init__.py:1137(setLevel)
131 1 0.000 0.000 0.000 0.000 argparse.py:2359(exit)
132 1 0.000 0.000 0.000 0.000 {sys.exit}
133 1 0.000 0.000 0.000 0.000 __init__.py:397(__init__)
134 2 0.000 0.000 0.000 0.000 {method 'release' of 'thread.lock' objects}
135 1 0.000 0.000 0.000 0.000 __init__.py:762(setFormatter)
136 2 0.000 0.000 0.000 0.000 __init__.py:211(_acquireLock)
137 1 0.000 0.000 0.000 0.000 __init__.py:1296(addHandler)
138 6 0.000 0.000 0.000 0.000 {range}
139 1 0.000 0.000 0.000 0.000 {method 'pop' of 'dict' objects}
140 4 0.000 0.000 0.000 0.000 {thread.get_ident}
141 5 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects}
142 1 0.000 0.000 0.000 0.000 argparse.py:230(_add_item)
143 1 0.000 0.000 0.000 0.000 {thread.allocate_lock}
144 3 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects}
145 1 0.000 0.000 0.000 0.000 threading.py:80(__init__)
146 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
147 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature