Ordered by: cumulative time ncalls tottime percall cumtime percall filename:lineno(function) 100 0.005 0.000 0.413 0.004 views.py:146(request_log_handler) 100 0.003 0.000 0.368 0.004 views.py:183(request_tx_handler) 100 0.001 0.000 0.330 0.003 tweens.py:18(excview_tween) 100 0.003 0.000 0.329 0.003 router.py:66(handle_request) 100 0.000 0.000 0.312 0.003 views.py:384(viewresult_to_response) 100 0.001 0.000 0.311 0.003 views.py:471(_class_requestonly_view) 100 0.003 0.000 0.304 0.003 views.py:358(simple_list_project) 100 0.034 0.000 0.220 0.002 model.py:349(get_simplelinks) 111400 0.031 0.000 0.119 0.000 readonly.py:93(__iter__) 84800 0.054 0.000 0.093 0.000 readonly.py:11(ensure_deeply_readonly) 200 0.001 0.000 0.089 0.000 model.py:114(getstage) 600/300 0.002 0.000 0.079 0.000 decorator.py:34(__get__) 700 0.007 0.000 0.073 0.000 keyfs.py:466(get_value_at) 300 0.002 0.000 0.065 0.000 model.py:389(op_sro_check_pypi_whitelist) 100 0.000 0.000 0.061 0.001 view_auth.py:158(stage) 100 0.001 0.000 0.060 0.001 view_auth.py:89(getstage) 700 0.004 0.000 0.052 0.000 keyfs.py:150(db_read_typedkey) 300 0.002 0.000 0.049 0.000 model.py:92(get_user) 500 0.002 0.000 0.045 0.000 keyfs.py:606(get) 700 0.043 0.000 0.043 0.000 {method 'execute' of 'sqlite3.Cursor' objects} 500 0.005 0.000 0.042 0.000 keyfs.py:694(get) 300 0.001 0.000 0.042 0.000 keyfs.py:626(exists) 300 0.002 0.000 0.040 0.000 keyfs.py:719(exists) 200 0.002 0.000 0.040 0.000 model.py:250(getstage) 178700 0.036 0.000 0.036 0.000 {isinstance} 500 0.002 0.000 0.032 0.000 model.py:409(_sro) 200 0.001 0.000 0.031 0.000 model.py:207(get) 200 0.001 0.000 0.029 0.000 keyfs.py:533(transaction) 100 0.000 0.000 0.024 0.000 log.py:52(info) 100 0.001 0.000 0.024 0.000 __init__.py:1142(info) 100 0.000 0.000 0.023 0.000 contextlib.py:15(__enter__) 100 0.001 0.000 0.022 0.000 __init__.py:1252(_log) 100 0.001 0.000 0.022 0.000 keyfs.py:497(begin_transaction_in_thread) 100 0.001 0.000 0.019 0.000 keyfs.py:637(__init__) 100 0.002 0.000 0.018 0.000 keyfs.py:127(get_sqlconn) 100 0.000 0.000 0.017 0.000 extpypi.py:216(get_simplelinks_perstage) 100 0.000 0.000 0.015 0.000 __init__.py:1273(handle) 100 0.001 0.000 0.015 0.000 __init__.py:1305(callHandlers) 100 0.001 0.000 0.015 0.000 view_auth.py:126(projectname) 100 0.001 0.000 0.014 0.000 __init__.py:736(handle) 100 0.001 0.000 0.014 0.000 extpypi.py:198(_load_cache_links) 100 0.001 0.000 0.014 0.000 model.py:368(get_projectname) 200 0.001 0.000 0.013 0.000 model.py:385(op_sro) 100 0.001 0.000 0.013 0.000 __init__.py:839(emit) 100 0.001 0.000 0.012 0.000 model.py:590(get_simplelinks_perstage) 100 0.001 0.000 0.012 0.000 model.py:492(get_projectname_perstage) 100 0.000 0.000 0.011 0.000 model.py:609(list_projectnames_perstage) 100 0.001 0.000 0.010 0.000 extpypi.py:192(_load_project_cache) 2300/200 0.007 0.000 0.010 0.000 readonly.py:32(get_mutable_deepcopy) 100 0.009 0.000 0.009 0.000 {_sqlite3.connect} 2400/1000 0.001 0.000 0.008 0.000 readonly.py:40() 800 0.004 0.000 0.008 0.000 keyfs.py:558(__call__) 500 0.002 0.000 0.007 0.000 model.py:140(key) 100 0.001 0.000 0.007 0.000 contextlib.py:21(__exit__) 100 0.002 0.000 0.007 0.000 urldispatch.py:78(__call__) 100 0.001 0.000 0.006 0.000 views.py:285(__init__) 100 0.000 0.000 0.006 0.000 __init__.py:713(format) 100 0.000 0.000 0.006 0.000 keyfs.py:529(commit_transaction_in_thread) 28600 0.006 0.000 0.006 0.000 readonly.py:57(__init__) 100 0.002 0.000 0.006 0.000 __init__.py:451(format) 100 0.001 0.000 0.006 0.000 model.py:436(__init__) 700 0.001 0.000 0.006 0.000 readonly.py:87(get) 100 0.000 0.000 0.005 0.000 __init__.py:1239(makeRecord) 100 0.000 0.000 0.005 0.000 keyfs.py:747(commit) 100 0.001 0.000 0.005 0.000 keyfs.py:773(_close) 100 0.003 0.000 0.005 0.000 __init__.py:242(__init__) 100 0.001 0.000 0.004 0.000 auth.py:20(__init__) 100 0.001 0.000 0.004 0.000 request.py:480(path) 1000 0.002 0.000 0.004 0.000 urldispatch.py:183(matcher) 400 0.001 0.000 0.004 0.000 validation.py:18(normalize_name) 100 0.004 0.000 0.004 0.000 {method 'close' of 'sqlite3.Connection' objects} 100 0.001 0.000 0.004 0.000 local.py:317(join) 300 0.003 0.000 0.004 0.000 main.py:182(model) 100 0.001 0.000 0.004 0.000 multidict.py:212(update) 100 0.001 0.000 0.004 0.000 itsdangerous.py:512(__init__) 100 0.004 0.000 0.004 0.000 {method 'write' of 'file' objects} 100 0.001 0.000 0.004 0.000 __init__.py:404(formatTime) 700 0.001 0.000 0.004 0.000 keyfs.py:112(get_changes) 28500 0.003 0.000 0.003 0.000 {method 'append' of 'list' objects} 27300 0.003 0.000 0.003 0.000 {method 'add' of 'set' objects} 700 0.003 0.000 0.003 0.000 {method 'fetchone' of 'sqlite3.Cursor' objects} 100 0.000 0.000 0.003 0.000 common.py:261(exists) 100 0.001 0.000 0.003 0.000 view_auth.py:31(__init__) 200 0.001 0.000 0.003 0.000 extpypi.py:359(get_registered_name) 300 0.001 0.000 0.003 0.000 log.py:49(debug) 200 0.001 0.000 0.003 0.000 log.py:80(thread_push_log) 100 0.000 0.000 0.003 0.000 itsdangerous.py:67(is_text_serializer) 700 0.003 0.000 0.003 0.000 {method 'cursor' of 'sqlite3.Connection' objects} 500 0.002 0.000 0.003 0.000 headers.py:43(__setitem__) 800 0.003 0.000 0.003 0.000 {method 'format' of 'unicode' objects} 100 0.000 0.000 0.003 0.000 local.py:363(check) 300 0.001 0.000 0.003 0.000 _abcoll.py:360(get) 100 0.000 0.000 0.002 0.000 genericpath.py:15(exists) 100 0.000 0.000 0.002 0.000 __init__.py:193(dumps) 700 0.002 0.000 0.002 0.000 __init__.py:57(get) 100 0.001 0.000 0.002 0.000 posixpath.py:336(normpath) 400 0.000 0.000 0.002 0.000 validation.py:11(safe_name) 100 0.000 0.000 0.002 0.000 view_auth.py:144(name) 100 0.001 0.000 0.002 0.000 _abcoll.py:526(update) 100 0.000 0.000 0.002 0.000 extpypi.py:304(get_projectname_perstage) 200 0.001 0.000 0.002 0.000 {method 'lookup' of '_zope_interface_coptimizations.LookupBase' objects} 100 0.002 0.000 0.002 0.000 {posix.stat} 100 0.001 0.000 0.002 0.000 encoder.py:186(encode) 300 0.001 0.000 0.002 0.000 headers.py:15(__getitem__) 2300 0.002 0.000 0.002 0.000 {getattr} 100 0.002 0.000 0.002 0.000 {time.localtime} 100 0.000 0.000 0.002 0.000 __init__.py:828(flush) 400 0.002 0.000 0.002 0.000 {method 'sub' of '_sre.SRE_Pattern' objects} 300 0.001 0.000 0.002 0.000 __init__.py:1130(debug) 1100 0.002 0.000 0.002 0.000 {method 'match' of '_sre.SRE_Pattern' objects} 200 0.001 0.000 0.002 0.000 {method 'decode' of 'str' objects} 200 0.000 0.000 0.002 0.000 request.py:169(encget) 3100 0.002 0.000 0.002 0.000 {method 'get' of 'dict' objects} 100 0.001 0.000 0.002 0.000 extpypi.py:159(__init__) 400 0.001 0.000 0.002 0.000 __init__.py:1345(isEnabledFor) 100 0.000 0.000 0.001 0.000 descriptors.py:67(fget) 200 0.000 0.000 0.001 0.000 __init__.py:693(acquire) 200 0.001 0.000 0.001 0.000 response.py:321(_headers__get) 100 0.001 0.000 0.001 0.000 views.py:195(set_header_devpi_serial) 100 0.000 0.000 0.001 0.000 registry.py:166(queryUtility) 100 0.000 0.000 0.001 0.000 re.py:134(match) 800 0.001 0.000 0.001 0.000 keyfs.py:462(tx) 500 0.001 0.000 0.001 0.000 types.py:153(ensure_unicode) 200 0.001 0.000 0.001 0.000 model.py:103(_get_user_and_index) 2000 0.001 0.000 0.001 0.000 keyfs.py:597(__hash__) 100 0.001 0.000 0.001 0.000 traversal.py:632(__call__) 100 0.000 0.000 0.001 0.000 extpypi.py:400(get_project_serial) 100 0.001 0.000 0.001 0.000 __init__.py:1218(findCaller) 200 0.001 0.000 0.001 0.000 abc.py:128(__instancecheck__) 500 0.001 0.000 0.001 0.000 interface.py:518(__hash__) 100 0.001 0.000 0.001 0.000 encoder.py:212(iterencode) 100 0.001 0.000 0.001 0.000 response.py:87(__init__) 1000 0.001 0.000 0.001 0.000 _builtin.py:176(_istext) 900 0.001 0.000 0.001 0.000 {hasattr} 200 0.001 0.000 0.001 0.000 threading.py:146(acquire) 200 0.000 0.000 0.001 0.000 utf_8.py:15(decode) 200 0.000 0.000 0.001 0.000 __init__.py:700(release) 300 0.001 0.000 0.001 0.000 model.py:85(__init__) 1000 0.001 0.000 0.001 0.000 readonly.py:66(__len__) 700 0.001 0.000 0.001 0.000 descriptors.py:47(fget) 100 0.001 0.000 0.001 0.000 {time.strftime} 500 0.001 0.000 0.001 0.000 {method 'encode' of 'unicode' objects} 100 0.000 0.000 0.001 0.000 compat.py:231(decode_path_info) 200 0.000 0.000 0.001 0.000 log.py:65(__getattr__) 300 0.000 0.000 0.001 0.000 compat.py:83(native_) 200 0.001 0.000 0.001 0.000 log.py:89(thread_pop_log) 200 0.001 0.000 0.001 0.000 log.py:36(__init__) 100 0.001 0.000 0.001 0.000 view_auth.py:40(matchdict) 100 0.000 0.000 0.001 0.000 log.py:45(new) 100 0.001 0.000 0.001 0.000 {method 'queryAdapter' of '_zope_interface_coptimizations.LookupBase' objects} 800 0.001 0.000 0.001 0.000 keyfs.py:583(__init__) 3300 0.001 0.000 0.001 0.000 {method 'lower' of 'str' objects} 100 0.001 0.000 0.001 0.000 response.py:281(_status_code__get) 1000 0.001 0.000 0.001 0.000 {method 'items' of 'dict' objects} 200 0.001 0.000 0.001 0.000 threading.py:186(release) 100 0.000 0.000 0.001 0.000 posixpath.py:104(splitext) 100 0.001 0.000 0.001 0.000 contextlib.py:82(helper) 200 0.000 0.000 0.001 0.000 readonly.py:77(__getitem__) 200 0.000 0.000 0.001 0.000 compat.py:29(bytes_) 100 0.000 0.000 0.001 0.000 multidict.py:45(view_list) 100 0.000 0.000 0.001 0.000 re.py:226(_compile) 200 0.001 0.000 0.001 0.000 {_codecs.utf_8_decode} 400 0.001 0.000 0.001 0.000 __init__.py:1331(getEffectiveLevel) 800 0.001 0.000 0.001 0.000 types.py:32(get) 200 0.000 0.000 0.001 0.000 urllib.py:1251(quote) 100 0.000 0.000 0.000 0.000 keyfs.py:506(clear_transaction) 200 0.000 0.000 0.000 0.000 {method 'split' of 'unicode' objects} 100 0.000 0.000 0.000 0.000 views.py:1011(abort_if_invalid_projectname) 100 0.000 0.000 0.000 0.000 {method 'groupdict' of '_sre.SRE_Match' objects} 200 0.000 0.000 0.000 0.000 compat.py:184(is_nonstr_iter) 200 0.000 0.000 0.000 0.000 _weakrefset.py:70(__contains__) 800 0.000 0.000 0.000 0.000 {method 'values' of 'dict' objects} 500 0.000 0.000 0.000 0.000 readonly.py:50(is_deeply_readonly) 100 0.000 0.000 0.000 0.000 descriptors.py:73(fget) 2500 0.000 0.000 0.000 0.000 {hash} 200 0.000 0.000 0.000 0.000 log.py:101(thread_current_log) 2000 0.000 0.000 0.000 0.000 {len} 300 0.000 0.000 0.000 0.000 model.py:134(__init__) 100 0.000 0.000 0.000 0.000 genericpath.py:85(_splitext) 700 0.000 0.000 0.000 0.000 {method 'lower' of 'unicode' objects} 500 0.000 0.000 0.000 0.000 {range} 100 0.000 0.000 0.000 0.000 __init__.py:153(getLevelName) 600 0.000 0.000 0.000 0.000 {method 'rstrip' of 'unicode' objects} 100 0.000 0.000 0.000