Tests / apps/projects/tests.py
ProjectPagesTest::test_configure_page
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
330 ms
median 344 ms
max 536 ms
max 536 ms
Phases
Setup 260 ms
Call 70 ms
Teardown 0.18 ms
Categories
Database 253 ms
App code 11 ms
Factories 1 ms
Test code 0.12 ms
Other (Libraries, Serialization, Templates, pytest, ...) 65 ms
323 database queries per run
Needs 271 KB of memory (max 1 MB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup257 ms78.3%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()243 ms73.9%
ProjectPagesTest.setUpTestDataapps/projects/tests.py:913136 ms41.3%
perf_scenarioapps/projects/tests.py:68382 ms25.1%
store_profileapps/projects/testing.py:37338 ms11.4%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)14 ms4.4%
claim_partapps/projects/profiles.py:4674 ms1.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)4 ms1.3%
Model.savedjango/db/models/base.py:8744 ms1.3%
Model.save_basedjango/db/models/base.py:9664 ms1.3%
Model._save_tabledjango/db/models/base.py:11104 ms1.3%
Model._do_updatedjango/db/models/base.py:12114 ms1.3%
QuerySet._updatedjango/db/models/query.py:13274 ms1.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21404 ms1.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21114 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
1 smaller frames hidden
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)3 ms0.9%
5 smaller frames hidden
process_profile_partapps/projects/profiles.py:359 or ProfilePart.objects.filter(profile_id=part.profile_id, index=part.index, id__gt=part.id).exists()6 ms1.8%
QuerySet.existsdjango/db/models/query.py:13374 ms1.3%
Query.has_resultsdjango/db/models/sql/query.py:6814 ms1.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15924 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:794 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms1.3%
Cursor.executepsycopg/cursor.py:1134 ms1.3%
Connection.waitpsycopg/connection.py:4953 ms0.9%
1 smaller frames hidden
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:3654 ms1.3%
upsert_testsapps/projects/profiles.py:4724 ms1.3%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order4 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8334 ms1.3%
QuerySet._batched_insertdjango/db/models/query.py:19564 ms1.3%
QuerySet._insertdjango/db/models/query.py:19184 ms1.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:3664 ms1.3%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(3 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8333 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19563 ms0.9%
QuerySet._insertdjango/db/models/query.py:19183 ms0.9%
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:3674 ms1.3%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)3 ms0.9%
CursorWrapper.executemanydjango/db/backends/utils.py:843 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executemanydjango/db/backends/utils.py:1143 ms0.9%
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()3 ms0.9%
QuerySet.firstdjango/db/models/query.py:11453 ms0.9%
QuerySet.__iter__django/db/models/query.py:3903 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
1 smaller frames hidden
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)30 ms9.2%
finalize_profileapps/projects/profiles.py:5179 ms2.6%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(4 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8334 ms1.3%
QuerySet._batched_insertdjango/db/models/query.py:19564 ms1.3%
QuerySet._insertdjango/db/models/query.py:19184 ms1.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
1 smaller frames hidden
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(3 ms0.9%
1 smaller frames hidden
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)4 ms1.3%
QuerySet.getdjango/db/models/query.py:6354 ms1.3%
QuerySet.__len__django/db/models/query.py:3724 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms1.3%
ModelIterable.__iter__django/db/models/query.py:954 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
1 smaller frames hidden
finalize_profileapps/projects/profiles.py:513 for duplicate in duplicates:3 ms0.9%
QuerySet.__iter__django/db/models/query.py:3903 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ValuesIterable.__iter__django/db/models/query.py:2223 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
finalize_profileapps/projects/profiles.py:5113 ms0.9%
QuerySet.deletedjango/db/models/query.py:12383 ms0.9%
Collector.deletedjango/db/models/deletion.py:4713 ms0.9%
QuerySet._raw_deletedjango/db/models/query.py:12603 ms0.9%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()3 ms0.9%
QuerySet.firstdjango/db/models/query.py:11453 ms0.9%
QuerySet.__iter__django/db/models/query.py:3903 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
6 smaller frames hidden
store_profileapps/projects/testing.py:3719 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:879 ms2.6%
QuerySet.createdjango/db/models/query.py:6699 ms2.6%
Profile.saveapps/projects/models.py:4656 ms1.8%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 16 ms1.8%
QuerySet.aggregatedjango/db/models/query.py:5944 ms1.3%
Query.get_aggregationdjango/db/models/sql/query.py:6334 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
1 smaller frames hidden
1 smaller frames hidden
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms0.9%
Model.savedjango/db/models/base.py:8743 ms0.9%
Model.save_basedjango/db/models/base.py:9663 ms0.9%
Model._save_tabledjango/db/models/base.py:11673 ms0.9%
Model._do_insertdjango/db/models/base.py:12183 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.9%
QuerySet._insertdjango/db/models/query.py:19183 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()4 ms1.3%
Model.refresh_from_dbdjango/db/models/base.py:7584 ms1.3%
QuerySet.getdjango/db/models/query.py:6354 ms1.3%
QuerySet.__len__django/db/models/query.py:3724 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms1.3%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
1 smaller frames hidden
1 smaller frames hidden
perf_scenarioapps/projects/tests.py:69853 ms16.3%
store_profileapps/projects/testing.py:37333 ms10.1%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)14 ms4.4%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)3 ms0.9%
QuerySet.getdjango/db/models/query.py:6353 ms0.9%
QuerySet.__len__django/db/models/query.py:3723 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
claim_partapps/projects/profiles.py:4673 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms0.9%
Model.savedjango/db/models/base.py:8743 ms0.9%
Model.save_basedjango/db/models/base.py:9663 ms0.9%
Model._save_tabledjango/db/models/base.py:11103 ms0.9%
Model._do_updatedjango/db/models/base.py:12113 ms0.9%
QuerySet._updatedjango/db/models/query.py:13273 ms0.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21403 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21113 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
claim_partapps/projects/profiles.py:397 project = profile.project3 ms0.9%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2573 ms0.9%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2223 ms0.9%
QuerySet.getdjango/db/models/query.py:6353 ms0.9%
QuerySet.__len__django/db/models/query.py:3723 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
claim_partapps/projects/profiles.py:3993 ms0.9%
2 smaller frames hidden
process_profile_partapps/projects/profiles.py:3656 ms1.8%
upsert_testsapps/projects/profiles.py:4726 ms1.8%
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}3 ms0.9%
QuerySet.__iter__django/db/models/query.py:3903 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
2 smaller frames hidden
process_profile_partapps/projects/profiles.py:3666 ms1.8%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()3 ms0.9%
QuerySet.deletedjango/db/models/query.py:12383 ms0.9%
Collector.deletedjango/db/models/deletion.py:4713 ms0.9%
QuerySet._raw_deletedjango/db/models/query.py:12603 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(3 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8333 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19563 ms0.9%
QuerySet._insertdjango/db/models/query.py:19183 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
process_profile_partapps/projects/profiles.py:3673 ms0.9%
write_snapshotsapps/projects/profiles.py:3333 ms0.9%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:3313 ms0.9%
3 smaller frames hidden
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)14 ms4.4%
finalize_profileapps/projects/profiles.py:5179 ms2.6%
add_perfsapps/projects/rollups.py:30 for perf in perfs:3 ms0.9%
QuerySet.__iter__django/db/models/query.py:3903 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(3 ms0.9%
QuerySet.__iter__django/db/models/query.py:3903 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(3 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8333 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19563 ms0.9%
QuerySet._insertdjango/db/models/query.py:19183 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
finalize_profileapps/projects/profiles.py:5253 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms0.9%
Model.savedjango/db/models/base.py:8743 ms0.9%
Model.save_basedjango/db/models/base.py:9663 ms0.9%
Model._save_tabledjango/db/models/base.py:11103 ms0.9%
Model._do_updatedjango/db/models/base.py:12113 ms0.9%
QuerySet._updatedjango/db/models/query.py:13273 ms0.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21403 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21113 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
2 smaller frames hidden
store_profileapps/projects/testing.py:375 profile.refresh_from_db()3 ms0.9%
Model.refresh_from_dbdjango/db/models/base.py:7583 ms0.9%
QuerySet.getdjango/db/models/query.py:6353 ms0.9%
QuerySet.__len__django/db/models/query.py:3723 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms0.9%
ModelIterable.__iter__django/db/models/query.py:953 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
2 smaller frames hidden
ProjectPagesTest.setUpTestDataapps/projects/tests.py:91962 ms18.9%
store_profileapps/projects/testing.py:37340 ms12.3%
process_profile_partapps/projects/profiles.py:36719 ms5.7%
write_snapshotsapps/projects/profiles.py:33314 ms4.4%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:33114 ms4.4%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),14 ms4.4%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)7 ms2.2%
compress<stdlib>/gzip.py:6687 ms2.2%
snapshot_documentapps/projects/profiles.py:2714 ms1.3%
2 smaller frames hidden
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)4 ms1.3%
CursorWrapper.executemanydjango/db/backends/utils.py:844 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms1.3%
CursorWrapper._executemanydjango/db/backends/utils.py:1144 ms1.3%
Cursor.executemanypsycopg/cursor.py:1373 ms0.9%
Connection._pipeline_nolockpsycopg/connection.py:4723 ms0.9%
Pipeline.__exit__psycopg/_pipeline.py:733 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)7 ms2.2%
claim_partapps/projects/profiles.py:4673 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms0.9%
Model.savedjango/db/models/base.py:8743 ms0.9%
Model.save_basedjango/db/models/base.py:9663 ms0.9%
Model._save_tabledjango/db/models/base.py:11103 ms0.9%
Model._do_updatedjango/db/models/base.py:12113 ms0.9%
QuerySet._updatedjango/db/models/query.py:13273 ms0.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21403 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21113 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms0.9%
Cursor.executepsycopg/cursor.py:1133 ms0.9%
Connection.waitpsycopg/connection.py:4953 ms0.9%
3 smaller frames hidden
process_profile_partapps/projects/profiles.py:3654 ms1.3%
upsert_testsapps/projects/profiles.py:4724 ms1.3%
TestManager.upsertapps/projects/models.py:2293 ms0.9%
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:3664 ms1.3%
process_profile_partapps/projects/profiles.py:3623 ms0.9%
load_documentapps/projects/profiles.py:1333 ms0.9%
2 smaller frames hidden
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)10 ms3.1%
finalize_profileapps/projects/profiles.py:5176 ms1.8%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(3 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8333 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19563 ms0.9%
QuerySet._insertdjango/db/models/query.py:19183 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms0.9%
2 smaller frames hidden
3 smaller frames hidden
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))7 ms2.2%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)6 ms1.8%
compress<stdlib>/gzip.py:6686 ms1.8%
1 smaller frames hidden
3 smaller frames hidden
ProjectPagesTest.setUpTestDataapps/projects/tests.py:92525 ms7.5%
store_profileapps/projects/testing.py:37312 ms3.5%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)6 ms1.8%
process_profile_partapps/projects/profiles.py:3653 ms0.9%
upsert_testsapps/projects/profiles.py:4723 ms0.9%
2 smaller frames hidden
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)9 ms2.6%
store_profileapps/projects/testing.py:3713 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms0.9%
QuerySet.createdjango/db/models/query.py:6693 ms0.9%
1 smaller frames hidden
ProjectPagesTest.setUpTestDataapps/projects/tests.py:9143 ms0.9%
loads<stdlib>/json/__init__.py:3713 ms0.9%
JSONDecoder.decode<stdlib>/json/decoder.py:3583 ms0.9%
JSONDecoder.raw_decode<stdlib>/json/decoder.py:3743 ms0.9%
ProjectPagesTest.setUpTestDataapps/projects/tests.py:9103 ms0.9%
makemodel_bakery/baker.py:1473 ms0.9%
Baker.makemodel_bakery/baker.py:4063 ms0.9%
ProjectPagesTest.setUpTestDataapps/projects/tests.py:9323 ms0.9%
makemodel_bakery/baker.py:1473 ms0.9%
Baker.makemodel_bakery/baker.py:4063 ms0.9%
Baker._makemodel_bakery/baker.py:4823 ms0.9%
Baker.instancemodel_bakery/baker.py:5353 ms0.9%
8 smaller frames hidden
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()13 ms4.0%
TestCase._enter_atomicsdjango/test/testcases.py:139613 ms4.0%
Atomic.__enter__django/db/transaction.py:19813 ms4.0%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45413 ms4.0%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30313 ms4.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2613 ms4.0%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27913 ms4.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2613 ms4.0%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25613 ms4.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2613 ms4.0%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33313 ms4.0%
Connection.connectpsycopg/connection.py:10913 ms4.0%
wait_connpsycopg/waiting.py:1417 ms2.2%
EpollSelector.select<stdlib>/selectors.py:4527 ms2.2%
wait_connpsycopg/waiting.py:1456 ms1.8%
BaseConnection._connect_genpsycopg/_connection_base.py:4396 ms1.8%
call71 ms21.7%
ProjectPagesTest.test_configure_pageapps/projects/tests.py:1091 response = self.client.get(self.project.url("project_configure"))50 ms15.2%
Client.getdjango/test/client.py:112450 ms15.2%
RequestFactory.getdjango/test/client.py:47550 ms15.2%
RequestFactory.genericdjango/test/client.py:67150 ms15.2%
Client.requestdjango/test/client.py:108250 ms15.2%
ClientHandler.__call__django/test/client.py:18635 ms10.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14135 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms10.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13035 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms10.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12335 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms10.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms10.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms10.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms10.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms10.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms10.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3433 ms10.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms10.0%
BaseHandler._get_responsedjango/core/handlers/base.py:19833 ms10.0%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5933 ms10.0%
project_configureapps/projects/urls.py:53829 ms8.8%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {25 ms7.6%
org_shellapps/orgs/views.py:4221 ms6.4%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()21 ms6.4%
QuerySet.existsdjango/db/models/query.py:133719 ms5.9%
Query.has_resultsdjango/db/models/sql/query.py:68117 ms5.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:159217 ms5.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:161115 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:7912 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9212 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:10512 ms3.5%
Cursor.executepsycopg/cursor.py:11312 ms3.5%
Connection.waitpsycopg/connection.py:49512 ms3.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:20612 ms3.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28612 ms3.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7812 ms3.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.6%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms0.6%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms0.6%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms0.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms0.6%
Value.as_sqldjango/db/models/expressions.py:11702 ms0.6%
BaseExpression._output_field_or_nonedjango/db/models/expressions.py:3422 ms0.6%
cached_property.__get__django/utils/functional.py:472 ms0.6%
BaseExpression.output_fielddjango/db/models/expressions.py:3282 ms0.6%
Value._resolve_output_fielddjango/db/models/expressions.py:12012 ms0.6%
Field.__init__django/db/models/fields/__init__.py:2282 ms0.6%
Field.choicesdjango/db/models/fields/__init__.py:5542 ms0.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9382 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.6%
Cursor.executepsycopg/cursor.py:1132 ms0.6%
Connection.waitpsycopg/connection.py:4952 ms0.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms0.6%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3122 ms0.6%
Query.has_resultsdjango/db/models/sql/query.py:6792 ms0.6%
Query.existsdjango/db/models/sql/query.py:6662 ms0.6%
Query.clear_select_clausedjango/db/models/sql/query.py:22252 ms0.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.6%
QuerySet.filterdjango/db/models/query.py:15412 ms0.6%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:20742 ms0.6%
QuerySet.querydjango/db/models/query.py:3062 ms0.6%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.6%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.6%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.6%
Query.build_filterdjango/db/models/sql/query.py:15772 ms0.6%
Query.setup_joinsdjango/db/models/sql/query.py:19742 ms0.6%
Query.is_nullabledjango/db/models/sql/query.py:27352 ms0.6%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],4 ms1.2%
QuerySet.__iter__django/db/models/query.py:3904 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms1.2%
ModelIterable.__iter__django/db/models/query.py:952 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.6%
ModelIterable.__iter__django/db/models/query.py:1272 ms0.6%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms0.6%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15262 ms0.6%
shellapps/projects/urls.py:734 ms1.2%
can_manageapps/projects/urls.py:444 ms1.2%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()4 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms1.2%
QuerySet.filterdjango/db/models/query.py:15412 ms0.6%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:20742 ms0.6%
QuerySet.querydjango/db/models/query.py:3062 ms0.6%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.6%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.6%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.6%
Query.build_filterdjango/db/models/sql/query.py:15732 ms0.6%
QuerySet.filterdjango/db/models/query.py:15422 ms0.6%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms0.6%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.6%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.6%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.6%
Query.build_filterdjango/db/models/sql/query.py:15772 ms0.6%
Query.setup_joinsdjango/db/models/sql/query.py:19272 ms0.6%
project_configureapps/projects/urls.py:539 "token": project.secrettokens_set.first(),2 ms0.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.6%
QuerySet.firstdjango/db/models/query.py:11452 ms0.6%
QuerySet.__iter__django/db/models/query.py:3902 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.6%
ModelIterable.__iter__django/db/models/query.py:952 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.6%
project_configureapps/projects/urls.py:534 return render(2 ms0.6%
renderdjango/shortcuts.py:252 ms0.6%
render_to_stringdjango/template/loader.py:622 ms0.6%
Template.renderdjango/template/backends/django.py:1072 ms0.6%
Template.renderdjango/template/base.py:1742 ms0.6%
instrumented_test_renderdjango/test/utils.py:1142 ms0.6%
NodeList.renderdjango/template/base.py:10912 ms0.6%
Node.render_annotateddjango/template/base.py:10522 ms0.6%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms0.6%
instrumented_test_renderdjango/test/utils.py:1142 ms0.6%
NodeList.renderdjango/template/base.py:10912 ms0.6%
Node.render_annotateddjango/template/base.py:10522 ms0.6%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms0.6%
instrumented_test_renderdjango/test/utils.py:1142 ms0.6%
NodeList.renderdjango/template/base.py:10912 ms0.6%
Node.render_annotateddjango/template/base.py:10522 ms0.6%
BlockNode.renderdjango/template/loader_tags.py:662 ms0.6%
NodeList.renderdjango/template/base.py:10912 ms0.6%
Node.render_annotateddjango/template/base.py:10522 ms0.6%
IfNode.renderdjango/template/defaulttags.py:3332 ms0.6%
NodeList.renderdjango/template/base.py:10912 ms0.6%
Node.render_annotateddjango/template/base.py:10522 ms0.6%
SimpleNode.renderdjango/template/library.py:3252 ms0.6%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms0.6%
_render_iconheroicons/templatetags/heroicons.py:392 ms0.6%
_render_iconheroicons/__init__.py:632 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms0.6%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms0.6%
Atomic.__enter__django/db/transaction.py:2112 ms0.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms0.6%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms0.6%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms0.6%
Cursor.executepsycopg/cursor.py:1132 ms0.6%
Connection.waitpsycopg/connection.py:4952 ms0.6%
ClientHandler.__call__django/test/client.py:17315 ms4.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6215 ms4.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10415 ms4.7%
WhiteNoise.add_fileswhitenoise/base.py:10815 ms4.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12015 ms4.7%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13115 ms4.7%
WhiteNoise.get_static_filewhitenoise/base.py:20812 ms3.5%
StaticFile.__init__whitenoise/responders.py:724 ms1.2%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms0.6%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms0.6%
StaticFile.__init__whitenoise/responders.py:742 ms0.6%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms0.6%
StaticFile.__init__whitenoise/responders.py:772 ms0.6%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms0.6%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms0.6%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms0.6%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms0.6%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms0.6%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms0.6%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms0.6%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms0.6%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms0.6%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2112 ms0.6%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)12 ms3.5%
ClientMixin.force_logindjango/test/client.py:85512 ms3.5%
ClientMixin._logindjango/test/client.py:8764 ms1.2%
ClientMixin.sessiondjango/test/client.py:8124 ms1.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms1.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms0.6%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms0.6%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms0.6%
QuerySet.existsdjango/db/models/query.py:13372 ms0.6%
Query.has_resultsdjango/db/models/sql/query.py:6792 ms0.6%
Query.existsdjango/db/models/sql/query.py:6722 ms0.6%
Query.clear_orderingdjango/db/models/sql/query.py:23592 ms0.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms0.6%
Model.savedjango/db/models/base.py:8742 ms0.6%
Model.save_basedjango/db/models/base.py:9632 ms0.6%
Model._save_parentsdjango/db/models/base.py:10002 ms0.6%
ClientMixin._logindjango/test/client.py:8814 ms1.2%
logindjango/contrib/auth/__init__.py:1874 ms1.2%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms0.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms0.6%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms0.6%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms0.6%
QuerySet.existsdjango/db/models/query.py:13372 ms0.6%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms0.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.6%
Cursor.executepsycopg/cursor.py:1132 ms0.6%
Connection.waitpsycopg/connection.py:4952 ms0.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms0.6%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms0.6%
Model.deletedjango/db/models/base.py:12982 ms0.6%
Collector.deletedjango/db/models/deletion.py:4522 ms0.6%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms0.6%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.6%
Cursor.executepsycopg/cursor.py:1132 ms0.6%
Connection.waitpsycopg/connection.py:4952 ms0.6%
ClientMixin._logindjango/test/client.py:8832 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms0.6%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1032 ms0.6%
SessionBase.get_expiry_datedjango/contrib/sessions/backends/base.py:3302 ms0.6%
SessionBase.getdjango/contrib/sessions/backends/base.py:742 ms0.6%
ClientMixin._logindjango/test/client.py:8842 ms0.6%
ClientMixin._set_login_cookiesdjango/test/client.py:9142 ms0.6%
Morsel.update<stdlib>/http/cookies.py:3412 ms0.6%
_has_control_character<stdlib>/http/cookies.py:1812 ms0.6%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()10 ms2.9%
TestCase._fixture_teardowndjango/test/testcases.py:149510 ms2.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:48310 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:7910 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9210 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:10310 ms2.9%
Cursor.executepsycopg/cursor.py:11310 ms2.9%
Connection.waitpsycopg/connection.py:49510 ms2.9%
Estimated from 215 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save
· Database
|
25 ms |
|
apps/orgs/models.py:65
return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()
Organization.is_owner
· Database
|
21 ms |
|
apps/projects/tests.py:1091
response = self.client.get(self.project.url("project_configure"))
ProjectPagesTest.test_configure_page
· Libraries
|
17 ms |
|
apps/projects/profiles.py:111
return gzip.compress(data, compresslevel=6)
compress
· Libraries
|
13 ms |
|
apps/projects/rollups.py:88
TestDailyStats.objects.bulk_create(
add_perfs
· Database
|
12 ms |
|
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Database
|
12 ms |
|
apps/projects/models.py:35
return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 1
next_number
· Database
|
9 ms |
|
apps/projects/profiles.py:479
TestPerf.objects.bulk_create(
write_perfs
· Database
|
9 ms |
|
apps/projects/profiles.py:500
profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)
finalize_profile
· Database
|
9 ms |
|
apps/projects/testing.py:375
profile.refresh_from_db()
store_profile
· Database
|
9 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_ProjectPagesTest class | 256 ms |
| _django_setup_unittest class | 0.28 ms |
| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _live_server_helper function | 0.04 ms |
| _django_db_marker function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| monkeypatch function | 0.03 ms |
| _django_clear_site_cache function | 0.02 ms |
Database
323 queries · 126 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
21×
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…
15×
SELECT "projects_environment"."id", "projects_environment"."project_id", "projects_environment"."name", "projects_environment"."kind", "projects_environment"."provider", "projects_environment"."details", "projects_environment"."date_first_seen", "projects_environment"."date_last_seen" FROM "project…
14×
SELECT "projects_profilepart"."id", "projects_profilepart"."profile_id", "projects_profilepart"."index", "projects_profilepart"."count", "projects_profilepart"."checksum", "projects_profilepart"."status", "projects_profilepart"."error", "projects_profilepart"."tests_count", "projects_profilepart"."…
8×
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…
7×
SELECT MAX("projects_profile"."number") AS "last" FROM "projects_profile" WHERE "projects_profile"."project_id" = %s
Biggest pieces of work
|
setup setUpClass
django/test/testcases.py:1423
|
256 ms |
|
call test body
apps/projects/tests.py:1091
|
50 ms |
|
call setUp
apps/projects/tests.py:954
|
12 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
10 ms |
| setup pytest internals | 1 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 | 329 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 200 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 352 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 275 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 399 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 228 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 370 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 345 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 344 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 536 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 216 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 367 ms | Profile |