Tests / apps/projects/tests.py
ProfilePagePaginationTest::test_slowest_tests_first_then_the_next_page
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
447 ms
median 451 ms
max 606 ms
max 606 ms
Phases
Setup 220 ms
Call 226 ms
Teardown 0.94 ms
Categories
Database 259 ms
App code 21 ms
Factories 0.51 ms
Other (Templates, Libraries, Serialization, pytest, ...) 167 ms
101 database queries per run
Needs 3 MB of memory (max 5 MB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup203 ms51.6%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()192 ms48.8%
ProfilePagePaginationTest.setUpTestDataapps/projects/tests.py:1370181 ms46.1%
store_profileapps/projects/testing.py:373127 ms32.3%
process_profile_partapps/projects/profiles.py:36765 ms16.5%
write_snapshotsapps/projects/profiles.py:33334 ms8.6%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:33132 ms8.3%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),28 ms7.2%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)19 ms4.8%
compress<stdlib>/gzip.py:66818 ms4.5%
1 smaller frames hidden
snapshot_documentapps/projects/profiles.py:2715 ms1.4%
dumps<stdlib>/json/__init__.py:2413 ms0.7%
1 smaller frames hidden
write_snapshots.<locals>.rowapps/projects/profiles.py:3263 ms0.7%
1 smaller frames hidden
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)30 ms7.6%
CursorWrapper.executemanydjango/db/backends/utils.py:8430 ms7.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9230 ms7.6%
CursorWrapper._executemanydjango/db/backends/utils.py:11430 ms7.6%
Cursor.executemanypsycopg/cursor.py:13723 ms5.8%
Connection._pipeline_nolockpsycopg/connection.py:47223 ms5.8%
Pipeline.__exit__psycopg/_pipeline.py:7323 ms5.8%
Connection.waitpsycopg/connection.py:49523 ms5.8%
Cursor.executemanypsycopg/cursor.py:1387 ms1.7%
Connection.waitpsycopg/connection.py:4957 ms1.7%
BaseCursor._executemany_gen_pipelinepsycopg/_cursor_base.py:2394 ms1.0%
BasePipeline._communicate_genpsycopg/_pipeline_base.py:1083 ms0.7%
2 smaller frames hidden
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:36620 ms5.2%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(12 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8712 ms3.1%
QuerySet.bulk_createdjango/db/models/query.py:83311 ms2.8%
QuerySet._batched_insertdjango/db/models/query.py:195611 ms2.8%
QuerySet._insertdjango/db/models/query.py:191811 ms2.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19258 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:798 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:928 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1058 ms2.1%
Cursor.executepsycopg/cursor.py:1138 ms2.1%
Connection.waitpsycopg/connection.py:4958 ms2.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2053 ms0.7%
BaseCursor._convert_querypsycopg/_cursor_base.py:4653 ms0.7%
PostgresClientQuery.convertpsycopg/_queries.py:2893 ms0.7%
PostgresClientQuery.dumppsycopg/_queries.py:2993 ms0.7%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3003 ms0.7%
Dumper.quotepsycopg/adapt.py:593 ms0.7%
ListDumper.dumppsycopg/types/array.py:1843 ms0.7%
ListDumper.dump.<locals>.dump_listpsycopg/types/array.py:1713 ms0.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19243 ms0.7%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18133 ms0.7%
SQLInsertCompiler.pre_save_valdjango/db/models/sql/compiler.py:17513 ms0.7%
Field.pre_savedjango/db/models/fields/__init__.py:9883 ms0.7%
1 smaller frames hidden
write_perfsapps/projects/profiles.py:481 TestPerf(5 ms1.4%
Model.__init__django/db/models/base.py:5665 ms1.4%
2 smaller frames hidden
process_profile_partapps/projects/profiles.py:36519 ms4.8%
upsert_testsapps/projects/profiles.py:47219 ms4.8%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order11 ms2.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8711 ms2.8%
QuerySet.bulk_createdjango/db/models/query.py:83311 ms2.8%
QuerySet._batched_insertdjango/db/models/query.py:195611 ms2.8%
QuerySet._insertdjango/db/models/query.py:191811 ms2.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19258 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:798 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:928 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1058 ms2.1%
Cursor.executepsycopg/cursor.py:1138 ms2.1%
Connection.waitpsycopg/connection.py:4958 ms2.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19243 ms0.7%
TestManager.upsertapps/projects/models.py:2294 ms1.0%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))3 ms0.7%
QuerySet.__iter__django/db/models/query.py:3903 ms0.7%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.7%
ValuesListIterable.__iter__django/db/models/query.py:2383 ms0.7%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms0.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.7%
Cursor.executepsycopg/cursor.py:1133 ms0.7%
Connection.waitpsycopg/connection.py:4953 ms0.7%
1 smaller frames hidden
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}3 ms0.7%
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)9 ms2.4%
claim_partapps/projects/profiles.py:3993 ms0.7%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(3 ms0.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.7%
QuerySet.get_or_createdjango/db/models/query.py:9923 ms0.7%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(3 ms0.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.7%
3 smaller frames hidden
process_profile_partapps/projects/profiles.py:3629 ms2.4%
load_documentapps/projects/profiles.py:1339 ms2.4%
loadsapps/projects/profiles.py:118 document = json.loads(data)8 ms2.1%
loads<stdlib>/json/__init__.py:3718 ms2.1%
JSONDecoder.decode<stdlib>/json/decoder.py:3588 ms2.1%
JSONDecoder.raw_decode<stdlib>/json/decoder.py:3748 ms2.1%
1 smaller frames hidden
3 smaller frames hidden
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)42 ms10.7%
finalize_profileapps/projects/profiles.py:51735 ms8.9%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(20 ms5.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8720 ms5.2%
QuerySet.bulk_createdjango/db/models/query.py:83320 ms5.2%
QuerySet._batched_insertdjango/db/models/query.py:195620 ms5.2%
QuerySet._insertdjango/db/models/query.py:191820 ms5.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:192520 ms5.2%
CursorWrapper.executedjango/db/backends/utils.py:7920 ms5.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9220 ms5.2%
CursorWrapper._executedjango/db/backends/utils.py:10520 ms5.2%
Cursor.executepsycopg/cursor.py:11320 ms5.2%
Connection.waitpsycopg/connection.py:49520 ms5.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:20515 ms3.8%
BaseCursor._convert_querypsycopg/_cursor_base.py:46515 ms3.8%
PostgresClientQuery.convertpsycopg/_queries.py:28915 ms3.8%
PostgresClientQuery.dumppsycopg/_queries.py:29915 ms3.8%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:30015 ms3.8%
Dumper.quotepsycopg/adapt.py:5915 ms3.8%
ListDumper.dumppsycopg/types/array.py:18414 ms3.4%
ListDumper.dump.<locals>.dump_listpsycopg/types/array.py:1718 ms2.1%
ListDumper._dump_itempsycopg/types/array.py:1903 ms0.7%
ListDumper.dump.<locals>.dump_listpsycopg/types/array.py:1743 ms0.7%
2 smaller frames hidden
1 smaller frames hidden
add_perfsapps/projects/rollups.py:30 for perf in perfs:4 ms1.0%
QuerySet.__iter__django/db/models/query.py:3904 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms1.0%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(4 ms1.0%
QuerySet.__iter__django/db/models/query.py:3903 ms0.7%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.7%
ModelIterable.__iter__django/db/models/query.py:953 ms0.7%
1 smaller frames hidden
add_perfsapps/projects/rollups.py:72 row = existing.get((test_id, environment_id, day)) or TestDailyStats(4 ms1.0%
2 smaller frames hidden
5 smaller frames hidden
store_profileapps/projects/testing.py:370 data = json.dumps(document).encode()4 ms1.0%
dumps<stdlib>/json/__init__.py:2344 ms1.0%
JSONEncoder.encode<stdlib>/json/encoder.py:2024 ms1.0%
JSONEncoder.iterencode<stdlib>/json/encoder.py:2634 ms1.0%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))4 ms1.0%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)3 ms0.7%
compress<stdlib>/gzip.py:6683 ms0.7%
1 smaller frames hidden
store_profileapps/projects/testing.py:3713 ms0.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.7%
QuerySet.createdjango/db/models/query.py:6693 ms0.7%
1 smaller frames hidden
ProfilePagePaginationTest.setUpTestDataapps/projects/tests.py:13694 ms1.0%
ProfilePagePaginationTest.setUpTestDataapps/projects/tests.py:13683 ms0.7%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(3 ms0.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.7%
2 smaller frames hidden
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()11 ms2.8%
TestCase._enter_atomicsdjango/test/testcases.py:139611 ms2.8%
Atomic.__enter__django/db/transaction.py:19811 ms2.8%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45411 ms2.8%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30311 ms2.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2611 ms2.8%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27911 ms2.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2611 ms2.8%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25611 ms2.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2611 ms2.8%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33311 ms2.8%
Connection.connectpsycopg/connection.py:10911 ms2.8%
wait_connpsycopg/waiting.py:1415 ms1.4%
EpollSelector.select<stdlib>/selectors.py:4525 ms1.4%
wait_connpsycopg/waiting.py:1455 ms1.4%
BaseConnection._connect_genpsycopg/_connection_base.py:4395 ms1.4%
call190 ms48.2%
ProfilePagePaginationTest.test_slowest_tests_first_then_the_next_pageapps/projects/tests.py:1376 response = self.client.get(url)97 ms24.6%
Client.getdjango/test/client.py:112497 ms24.6%
RequestFactory.getdjango/test/client.py:47597 ms24.6%
RequestFactory.genericdjango/test/client.py:67197 ms24.6%
Client.requestdjango/test/client.py:108297 ms24.6%
ClientHandler.__call__django/test/client.py:18682 ms21.0%
BaseHandler.get_responsedjango/core/handlers/base.py:14182 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5582 ms21.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13082 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5582 ms21.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30982 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5582 ms21.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12382 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5582 ms21.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30980 ms20.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5580 ms20.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30980 ms20.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5580 ms20.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30980 ms20.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5580 ms20.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30980 ms20.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5580 ms20.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30980 ms20.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5580 ms20.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30980 ms20.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5580 ms20.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3480 ms20.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5580 ms20.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19880 ms20.5%
project_profileapps/projects/urls.py:498 return render(60 ms15.2%
renderdjango/shortcuts.py:2560 ms15.2%
render_to_stringdjango/template/loader.py:6260 ms15.2%
Template.renderdjango/template/backends/django.py:10760 ms15.2%
Template.renderdjango/template/base.py:17460 ms15.2%
instrumented_test_renderdjango/test/utils.py:11460 ms15.2%
NodeList.renderdjango/template/base.py:109160 ms15.2%
Node.render_annotateddjango/template/base.py:105260 ms15.2%
ExtendsNode.renderdjango/template/loader_tags.py:16060 ms15.2%
instrumented_test_renderdjango/test/utils.py:11460 ms15.2%
NodeList.renderdjango/template/base.py:109160 ms15.2%
Node.render_annotateddjango/template/base.py:105260 ms15.2%
ExtendsNode.renderdjango/template/loader_tags.py:16060 ms15.2%
instrumented_test_renderdjango/test/utils.py:11460 ms15.2%
NodeList.renderdjango/template/base.py:109160 ms15.2%
Node.render_annotateddjango/template/base.py:105258 ms14.7%
BlockNode.renderdjango/template/loader_tags.py:6658 ms14.7%
NodeList.renderdjango/template/base.py:109158 ms14.7%
Node.render_annotateddjango/template/base.py:105258 ms14.7%
BlockNode.renderdjango/template/loader_tags.py:6658 ms14.7%
NodeList.renderdjango/template/base.py:109158 ms14.7%
Node.render_annotateddjango/template/base.py:105256 ms14.2%
IfNode.renderdjango/template/defaulttags.py:33354 ms13.6%
NodeList.renderdjango/template/base.py:109154 ms13.6%
Node.render_annotateddjango/template/base.py:105254 ms13.6%
ForNode.renderdjango/template/defaulttags.py:24945 ms11.5%
Node.render_annotateddjango/template/base.py:105243 ms11.0%
IncludeNode.renderdjango/template/loader_tags.py:21129 ms7.3%
Template.renderdjango/template/base.py:17629 ms7.3%
instrumented_test_renderdjango/test/utils.py:11429 ms7.3%
NodeList.renderdjango/template/base.py:109129 ms7.3%
Node.render_annotateddjango/template/base.py:105229 ms7.3%
ForNode.renderdjango/template/defaulttags.py:24923 ms5.8%
Node.render_annotateddjango/template/base.py:105221 ms5.2%
VariableNode.renderdjango/template/base.py:11568 ms2.1%
render_value_in_contextdjango/template/base.py:11344 ms1.0%
conditional_escapedjango/utils/html.py:1272 ms0.5%
keep_lazy.<locals>.decorator.<locals>.wrapperdjango/utils/functional.py:2262 ms0.5%
keep_lazy.<locals>.decorator.<locals>.wrapper.<locals>.<genexpr>django/utils/functional.py:2262 ms0.5%
render_value_in_contextdjango/template/base.py:11302 ms0.5%
VariableNode.renderdjango/template/base.py:11506 ms1.6%
FilterExpression.resolvedjango/template/base.py:7886 ms1.6%
Variable.resolvedjango/template/base.py:9284 ms1.0%
Variable._resolve_lookupdjango/template/base.py:9652 ms0.5%
ForNode.renderdjango/template/defaulttags.py:1932 ms0.5%
IfNode.renderdjango/template/defaulttags.py:3262 ms0.5%
VariableNode.renderdjango/template/base.py:115612 ms3.1%
render_value_in_contextdjango/template/base.py:113012 ms3.1%
localizedjango/utils/formats.py:20810 ms2.6%
number_formatdjango/utils/formats.py:1816 ms1.6%
formatdjango/utils/numberformat.py:374 ms1.0%
get_formatdjango/utils/formats.py:1162 ms0.5%
IncludeNode.renderdjango/template/loader_tags.py:2114 ms1.0%
Template.renderdjango/template/base.py:1702 ms0.5%
Template.renderdjango/template/base.py:1762 ms0.5%
instrumented_test_renderdjango/test/utils.py:1142 ms0.5%
NodeList.renderdjango/template/base.py:10912 ms0.5%
Node.render_annotateddjango/template/base.py:10522 ms0.5%
ForNode.renderdjango/template/defaulttags.py:2492 ms0.5%
Node.render_annotateddjango/template/base.py:10522 ms0.5%
VariableNode.renderdjango/template/base.py:11562 ms0.5%
render_value_in_contextdjango/template/base.py:11342 ms0.5%
IfNode.renderdjango/template/defaulttags.py:3322 ms0.5%
QuerySet.__bool__django/db/models/query.py:4042 ms0.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.5%
ModelIterable.__iter__django/db/models/query.py:952 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms0.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms0.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms0.5%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms0.5%
Template.renderdjango/template/base.py:1762 ms0.5%
instrumented_test_renderdjango/test/utils.py:1142 ms0.5%
NodeList.renderdjango/template/base.py:10912 ms0.5%
Node.render_annotateddjango/template/base.py:10522 ms0.5%
IfNode.renderdjango/template/defaulttags.py:3332 ms0.5%
NodeList.renderdjango/template/base.py:10912 ms0.5%
Node.render_annotateddjango/template/base.py:10522 ms0.5%
VariableNode.renderdjango/template/base.py:11502 ms0.5%
FilterExpression.resolvedjango/template/base.py:7882 ms0.5%
Variable.resolvedjango/template/base.py:9282 ms0.5%
Variable._resolve_lookupdjango/template/base.py:10002 ms0.5%
Model._get_FIELD_displaydjango/db/models/base.py:13122 ms0.5%
project_profileapps/projects/urls.py:47410 ms2.6%
find_projectapps/projects/urls.py:5210 ms2.6%
can_viewapps/projects/urls.py:3310 ms2.6%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:8 ms2.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2518 ms2.1%
SimpleLazyObject._setupdjango/utils/functional.py:4048 ms2.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:408 ms2.1%
get_userdjango/contrib/auth/middleware.py:208 ms2.1%
get_userdjango/contrib/auth/__init__.py:3186 ms1.6%
ModelBackend.get_userdjango/contrib/auth/backends.py:2326 ms1.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:876 ms1.6%
QuerySet.getdjango/db/models/query.py:6354 ms1.0%
QuerySet.__len__django/db/models/query.py:3724 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms1.0%
ModelIterable.__iter__django/db/models/query.py:954 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms0.5%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms0.5%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms0.5%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms0.5%
Col.as_sqldjango/db/models/expressions.py:13252 ms0.5%
SQLCompiler.quote_name_unless_aliasdjango/db/backends/postgresql/compiler.py:342 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms0.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms0.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms0.5%
QuerySet.getdjango/db/models/query.py:6252 ms0.5%
QuerySet.filterdjango/db/models/query.py:15422 ms0.5%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms0.5%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.5%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.5%
get_userdjango/contrib/auth/__init__.py:3112 ms0.5%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms0.5%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms0.5%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms0.5%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms0.5%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms0.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.5%
QuerySet.getdjango/db/models/query.py:6352 ms0.5%
QuerySet.__len__django/db/models/query.py:3722 ms0.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.5%
ModelIterable.__iter__django/db/models/query.py:952 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms0.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.5%
QuerySet.filterdjango/db/models/query.py:15422 ms0.5%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms0.5%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.5%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.5%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.5%
Query.build_filterdjango/db/models/sql/query.py:15882 ms0.5%
Query.check_related_objectsdjango/db/models/sql/query.py:13962 ms0.5%
project_profileapps/projects/urls.py:490 for perf in perfs:8 ms2.1%
Sequence.__iter__<frozen _collections_abc>:10208 ms2.1%
Page.__getitem__django/core/paginator.py:3308 ms2.1%
QuerySet.__iter__django/db/models/query.py:3908 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20008 ms2.1%
ModelIterable.__iter__django/db/models/query.py:958 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16624 ms1.0%
cursor_iterdjango/db/models/sql/compiler.py:22544 ms1.0%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22544 ms1.0%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1014 ms1.0%
Cursor.fetchmanypsycopg/cursor.py:2684 ms1.0%
BaseTzLoader.loaddjango/db/backends/postgresql/psycopg_any.py:342 ms0.5%
TimestamptzLoader.loadpsycopg/types/datetime.py:4942 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms0.5%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms0.5%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms0.5%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10292 ms0.5%
Query.join_parent_modeldjango/db/models/sql/query.py:11932 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
project_profileapps/projects/urls.py:477 profile = get_object_or_404(2 ms0.5%
get_object_or_404django/shortcuts.py:902 ms0.5%
QuerySet.getdjango/db/models/query.py:6352 ms0.5%
QuerySet.__len__django/db/models/query.py:3722 ms0.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.5%
ModelIterable.__iter__django/db/models/query.py:952 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms0.5%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms0.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms0.5%
Model.savedjango/db/models/base.py:8742 ms0.5%
Model.save_basedjango/db/models/base.py:9662 ms0.5%
Model._save_tabledjango/db/models/base.py:11102 ms0.5%
Model._do_updatedjango/db/models/base.py:12112 ms0.5%
QuerySet._updatedjango/db/models/query.py:13272 ms0.5%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms0.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
ClientHandler.__call__django/test/client.py:17314 ms3.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6214 ms3.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10414 ms3.7%
WhiteNoise.add_fileswhitenoise/base.py:10814 ms3.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12010 ms2.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13110 ms2.6%
WhiteNoise.get_static_filewhitenoise/base.py:2086 ms1.6%
StaticFile.__init__whitenoise/responders.py:722 ms0.5%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms0.5%
__init____init__:-12 ms0.5%
FileEntry.__init__whitenoise/responders.py:2602 ms0.5%
<GC>~2 ms0.5%
StaticFile.__init__whitenoise/responders.py:732 ms0.5%
StaticFile.get_headerswhitenoise/responders.py:1762 ms0.5%
formatdate<stdlib>/email/utils.py:2662 ms0.5%
format_datetime<stdlib>/email/utils.py:2842 ms0.5%
StaticFile.__init__whitenoise/responders.py:752 ms0.5%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms0.5%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms0.5%
WhiteNoise.get_static_filewhitenoise/base.py:2034 ms1.0%
WhiteNoise.add_cache_headerswhitenoise/base.py:2244 ms1.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1764 ms1.0%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1974 ms1.0%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms0.5%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms0.5%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1782 ms0.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms1.0%
scantreewhitenoise/base.py:2624 ms1.0%
scantreewhitenoise/base.py:2624 ms1.0%
scantreewhitenoise/base.py:2602 ms0.5%
scantreewhitenoise/base.py:2622 ms0.5%
scantreewhitenoise/base.py:2622 ms0.5%
scantreewhitenoise/base.py:2622 ms0.5%
scantreewhitenoise/base.py:2642 ms0.5%
ProfilePagePaginationTest.test_slowest_tests_first_then_the_next_pageapps/projects/tests.py:1380 response = self.client.get(url, {"page": 2})39 ms10.0%
Client.getdjango/test/client.py:112439 ms10.0%
RequestFactory.getdjango/test/client.py:47539 ms10.0%
RequestFactory.genericdjango/test/client.py:67139 ms10.0%
Client.requestdjango/test/client.py:108239 ms10.0%
ClientHandler.__call__django/test/client.py:18639 ms10.0%
BaseHandler.get_responsedjango/core/handlers/base.py:14139 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms10.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13039 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms10.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms10.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12339 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms10.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms8.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3433 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms8.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19833 ms8.4%
project_profileapps/projects/urls.py:498 return render(12 ms3.1%
renderdjango/shortcuts.py:2512 ms3.1%
render_to_stringdjango/template/loader.py:6212 ms3.1%
Template.renderdjango/template/backends/django.py:10712 ms3.1%
Template.renderdjango/template/base.py:17412 ms3.1%
instrumented_test_renderdjango/test/utils.py:11412 ms3.1%
NodeList.renderdjango/template/base.py:109112 ms3.1%
Node.render_annotateddjango/template/base.py:105212 ms3.1%
ExtendsNode.renderdjango/template/loader_tags.py:16012 ms3.1%
instrumented_test_renderdjango/test/utils.py:11412 ms3.1%
NodeList.renderdjango/template/base.py:109112 ms3.1%
Node.render_annotateddjango/template/base.py:105212 ms3.1%
ExtendsNode.renderdjango/template/loader_tags.py:16012 ms3.1%
instrumented_test_renderdjango/test/utils.py:11412 ms3.1%
NodeList.renderdjango/template/base.py:109112 ms3.1%
Node.render_annotateddjango/template/base.py:105212 ms3.1%
BlockNode.renderdjango/template/loader_tags.py:6612 ms3.1%
NodeList.renderdjango/template/base.py:109112 ms3.1%
Node.render_annotateddjango/template/base.py:105212 ms3.1%
BlockNode.renderdjango/template/loader_tags.py:6610 ms2.6%
NodeList.renderdjango/template/base.py:109110 ms2.6%
Node.render_annotateddjango/template/base.py:105210 ms2.6%
IfNode.renderdjango/template/defaulttags.py:3338 ms2.1%
NodeList.renderdjango/template/base.py:10918 ms2.1%
Node.render_annotateddjango/template/base.py:10528 ms2.1%
IfNode.renderdjango/template/defaulttags.py:3328 ms2.1%
QuerySet.__bool__django/db/models/query.py:4048 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20008 ms2.1%
ModelIterable.__iter__django/db/models/query.py:958 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:794 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms1.0%
Cursor.executepsycopg/cursor.py:1134 ms1.0%
Connection.waitpsycopg/connection.py:4954 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms0.5%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms0.5%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms0.5%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10082 ms0.5%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms0.5%
Template.renderdjango/template/base.py:1762 ms0.5%
instrumented_test_renderdjango/test/utils.py:1142 ms0.5%
NodeList.renderdjango/template/base.py:10912 ms0.5%
IfNode.renderdjango/template/defaulttags.py:3332 ms0.5%
NodeList.renderdjango/template/base.py:10912 ms0.5%
Node.render_annotateddjango/template/base.py:10522 ms0.5%
URLNode.renderdjango/template/defaulttags.py:5112 ms0.5%
project_profileapps/projects/urls.py:50210 ms2.6%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {10 ms2.6%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],4 ms1.0%
QuerySet.__iter__django/db/models/query.py:3904 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms1.0%
ModelIterable.__iter__django/db/models/query.py:954 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:794 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms1.0%
Cursor.executepsycopg/cursor.py:1134 ms1.0%
Connection.waitpsycopg/connection.py:4954 ms1.0%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))4 ms1.0%
QuerySet.__iter__django/db/models/query.py:3902 ms0.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.5%
ModelIterable.__iter__django/db/models/query.py:952 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
org_shellapps/orgs/views.py:422 ms0.5%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms0.5%
QuerySet.existsdjango/db/models/query.py:13372 ms0.5%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms0.5%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms0.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms0.5%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms0.5%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms0.5%
BaseDatabaseWrapper._prepare_cursordjango/db/backends/base/base.py:2912 ms0.5%
project_profileapps/projects/urls.py:4746 ms1.6%
find_projectapps/projects/urls.py:524 ms1.0%
can_viewapps/projects/urls.py:334 ms1.0%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:2 ms0.5%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms0.5%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms0.5%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms0.5%
get_userdjango/contrib/auth/middleware.py:202 ms0.5%
get_userdjango/contrib/auth/__init__.py:3182 ms0.5%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms0.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.5%
QuerySet.getdjango/db/models/query.py:6352 ms0.5%
QuerySet.__len__django/db/models/query.py:3722 ms0.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.5%
ModelIterable.__iter__django/db/models/query.py:952 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms0.5%
QuerySet.existsdjango/db/models/query.py:13372 ms0.5%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms0.5%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms0.5%
get_object_or_404django/shortcuts.py:902 ms0.5%
QuerySet.getdjango/db/models/query.py:6352 ms0.5%
QuerySet.__len__django/db/models/query.py:3722 ms0.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.5%
ModelIterable.__iter__django/db/models/query.py:952 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
project_profileapps/projects/urls.py:4842 ms0.5%
Paginator.get_pagedjango/core/paginator.py:1682 ms0.5%
Paginator.validate_numberdjango/core/paginator.py:1602 ms0.5%
cached_property.__get__django/utils/functional.py:472 ms0.5%
Paginator.num_pagesdjango/core/paginator.py:1952 ms0.5%
cached_property.__get__django/utils/functional.py:472 ms0.5%
Paginator.countdjango/core/paginator.py:1892 ms0.5%
QuerySet.countdjango/db/models/query.py:6102 ms0.5%
Query.get_countdjango/db/models/sql/query.py:6512 ms0.5%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
project_profileapps/projects/urls.py:490 for perf in perfs:2 ms0.5%
Sequence.__iter__<frozen _collections_abc>:10202 ms0.5%
Page.__getitem__django/core/paginator.py:3302 ms0.5%
QuerySet.__iter__django/db/models/query.py:3902 ms0.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.5%
ModelIterable.__iter__django/db/models/query.py:952 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3116 ms1.6%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:596 ms1.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1264 ms1.0%
Atomic.__enter__django/db/transaction.py:2114 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:264 ms1.0%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4004 ms1.0%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3674 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:794 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1034 ms1.0%
Cursor.executepsycopg/cursor.py:1134 ms1.0%
Connection.waitpsycopg/connection.py:4954 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms0.5%
Model.savedjango/db/models/base.py:8742 ms0.5%
Model.save_basedjango/db/models/base.py:9662 ms0.5%
Model._save_tabledjango/db/models/base.py:11102 ms0.5%
Model._do_updatedjango/db/models/base.py:12112 ms0.5%
QuerySet._updatedjango/db/models/query.py:13272 ms0.5%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms0.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()39 ms10.0%
TestCase._fixture_teardowndjango/test/testcases.py:149535 ms8.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:48335 ms8.9%
CursorWrapper.executedjango/db/backends/utils.py:7935 ms8.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9235 ms8.9%
CursorWrapper._executedjango/db/backends/utils.py:10335 ms8.9%
Cursor.executepsycopg/cursor.py:11335 ms8.9%
Connection.waitpsycopg/connection.py:49535 ms8.9%
TestCase._fixture_teardowndjango/test/testcases.py:14942 ms0.5%
TestCase._should_check_constraintsdjango/test/testcases.py:15032 ms0.5%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:4922 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms0.5%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms0.5%
Atomic.__exit__django/db/transaction.py:2862 ms0.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms0.5%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms0.5%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
ProfilePagePaginationTest.test_slowest_tests_first_then_the_next_pageapps/projects/tests.py:1373 self.client.force_login(self.user)8 ms2.1%
ClientMixin.force_logindjango/test/client.py:8558 ms2.1%
ClientMixin._logindjango/test/client.py:8764 ms1.0%
ClientMixin.sessiondjango/test/client.py:8124 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms1.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms0.5%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms0.5%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms0.5%
QuerySet.existsdjango/db/models/query.py:13372 ms0.5%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms0.5%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms0.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms0.5%
Model.savedjango/db/models/base.py:8742 ms0.5%
Model.save_basedjango/db/models/base.py:9662 ms0.5%
Model._save_tabledjango/db/models/base.py:11672 ms0.5%
Model._do_insertdjango/db/models/base.py:12182 ms0.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.5%
QuerySet._insertdjango/db/models/query.py:19182 ms0.5%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
ClientMixin._logindjango/test/client.py:8814 ms1.0%
logindjango/contrib/auth/__init__.py:1752 ms0.5%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms0.5%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms0.5%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms0.5%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms0.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.5%
QuerySet.getdjango/db/models/query.py:6352 ms0.5%
QuerySet.__len__django/db/models/query.py:3722 ms0.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.5%
ModelIterable.__iter__django/db/models/query.py:952 ms0.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
logindjango/contrib/auth/__init__.py:1872 ms0.5%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms0.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms0.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms0.5%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms0.5%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1262 ms0.5%
dumpsdjango/core/signing.py:1512 ms0.5%
Signer.sign_objectdjango/core/signing.py:2392 ms0.5%
TimestampSigner.signdjango/core/signing.py:2612 ms0.5%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()2 ms0.5%
TestCase._fixture_setupdjango/test/testcases.py:14782 ms0.5%
TestCase._enter_atomicsdjango/test/testcases.py:13962 ms0.5%
Atomic.__enter__django/db/transaction.py:2112 ms0.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms0.5%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms0.5%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms0.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms0.5%
Cursor.executepsycopg/cursor.py:1132 ms0.5%
Connection.waitpsycopg/connection.py:4952 ms0.5%
ProfilePagePaginationTest.test_slowest_tests_first_then_the_next_pageapps/projects/tests.py:13772 ms0.5%
SimpleTestCase.assertContainsdjango/test/testcases.py:6032 ms0.5%
SimpleTestCase._assert_containsdjango/test/testcases.py:5902 ms0.5%
ProfilePagePaginationTest.test_slowest_tests_first_then_the_next_pageapps/projects/tests.py:13792 ms0.5%
SimpleTestCase.assertContainsdjango/test/testcases.py:6032 ms0.5%
SimpleTestCase._assert_containsdjango/test/testcases.py:5902 ms0.5%
teardown0.70 ms0.2%
Estimated from 243 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/urls.py:498
return render(
project_profile
· Templates
|
72 ms |
|
apps/projects/profiles.py:334
cursor.executemany(SNAPSHOT_UPSERT, batch)
write_snapshots
· Database
|
30 ms |
|
apps/projects/profiles.py:111
return gzip.compress(data, compresslevel=6)
compress
· Libraries
|
22 ms |
|
apps/projects/rollups.py:88
TestDailyStats.objects.bulk_create(
add_perfs
· Database
|
20 ms |
|
apps/projects/tests.py:1376
response = self.client.get(url)
ProfilePagePaginationTest.test_slowest_tests_first_then_the_next_page
· Libraries
|
16 ms |
|
apps/projects/profiles.py:479
TestPerf.objects.bulk_create(
write_perfs
· Database
|
12 ms |
|
apps/projects/models.py:230
self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order
TestManager.upsert
· Database
|
11 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
10 ms |
|
apps/projects/urls.py:490
for perf in perfs:
project_profile
· Database
|
10 ms |
|
apps/projects/tests.py:1373
self.client.force_login(self.user)
ProfilePagePaginationTest.test_slowest_tests_first_then_the_next_page
· Database
|
8 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_ProfilePagePaginationTest class | 202 ms |
| _django_setup_unittest class | 0.29 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_db_marker function | 0.04 ms |
| _live_server_helper function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
101 queries · 118 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
5×
SELECT "projects_profile"."id", "projects_profile"."project_id", "projects_profile"."number", "projects_profile"."environment_id", "projects_profile"."session_id", "projects_profile"."run_id", "projects_profile"."commit_id", "projects_profile"."ingest_id", "projects_profile"."external_id", "project…
4×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
4×
SELECT "projects_testperf"."id", "projects_testperf"."project_id", "projects_testperf"."test_id", "projects_testperf"."profile_id", "projects_testperf"."part", "projects_testperf"."environment_id", "projects_testperf"."outcome", "projects_testperf"."duration", "projects_testperf"."setup", "projects…
3×
SELECT "projects_project"."id", "projects_project"."organization_id", "projects_project"."name", "projects_project"."slug", "projects_project"."public", "projects_project"."description", "projects_project"."date_created", "projects_project"."date_updated", "projects_project"."created_by_id" FROM "p…
3×
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > %s AND "django_session"."session_key" = %s) LIMIT ?
Biggest pieces of work
|
setup setUpClass
django/test/testcases.py:1439
|
203 ms |
|
call test body
apps/projects/tests.py:1376
|
148 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
39 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
2 ms |
|
teardown tearDownClass
django/test/testcases.py:1453
|
0.70 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 393 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 389 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 541 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 473 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 606 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 500 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 508 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 417 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 415 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 484 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 210 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 430 ms | Profile |