CI
github-actions:test
12 runs
Average
129 ms
median 136 ms
max 175 ms
max 175 ms
Phases
Setup 58 ms
Call 71 ms
Teardown 0.21 ms
Categories
Database 98 ms
App code 0.97 ms
Factories 0.68 ms
Test code 0.26 ms
Other (Libraries, pytest, Serialization, Unsampled, ...) 29 ms
115 database queries per run
Needs 381 KB of memory (max 840 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup60 ms44.3%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()47 ms34.8%
LegacyUrlTest.setUpTestDataapps/projects/tests.py:37530 ms22.2%
store_profileapps/projects/testing.py:37313 ms9.5%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)6 ms4.2%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)1 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2551 ms1.1%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10301 ms1.1%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:15511 ms1.1%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.get_or_createdjango/db/models/query.py:9921 ms1.1%
Atomic.__exit__django/db/transaction.py:2471 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms1.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
claim_partapps/projects/profiles.py:4671 ms1.1%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11101 ms1.1%
Model._do_updatedjango/db/models/base.py:12111 ms1.1%
QuerySet._updatedjango/db/models/query.py:13271 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
process_profile_partapps/projects/profiles.py:3673 ms2.1%
write_snapshotsapps/projects/profiles.py:3331 ms1.1%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:3311 ms1.1%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),1 ms1.1%
snapshot_documentapps/projects/profiles.py:2711 ms1.1%
snapshot_document.<locals>.node_idapps/projects/profiles.py:266 new_stacks.append([node_ids.get(parent, -1), frame_id(frame)])1 ms1.1%
snapshot_document.<locals>.frame_idapps/projects/profiles.py:2521 ms1.1%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)1 ms1.1%
CursorWrapper.executemanydjango/db/backends/utils.py:841 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()1 ms1.1%
QuerySet.firstdjango/db/models/query.py:11451 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
process_profile_partapps/projects/profiles.py:3651 ms1.1%
upsert_testsapps/projects/profiles.py:4721 ms1.1%
TestManager.upsertapps/projects/models.py:2291 ms1.1%
TestManager.slugs_forapps/projects/models.py:242 taken = set(self.filter(project_id=project_id, slug__in=set(new.values())).values_list("slug", flat=True))1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
FlatValuesListIterable.__iter__django/db/models/query.py:2771 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
process_profile_partapps/projects/profiles.py:3661 ms1.1%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.1%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19241 ms1.1%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18131 ms1.1%
SQLInsertCompiler.prepare_valuedjango/db/models/sql/compiler.py:17421 ms1.1%
ForeignKey.get_db_prep_savedjango/db/models/fields/related.py:11811 ms1.1%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)10 ms7.4%
finalize_profileapps/projects/profiles.py:5174 ms3.2%
add_perfsapps/projects/rollups.py:30 for perf in perfs:1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:1251 ms1.1%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.1%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
finalize_profileapps/projects/profiles.py:509 ProfilePart.objects.filter(profile=profile).exclude(pk__in=[part.pk for part in current]).delete()1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15551 ms1.1%
finalize_profileapps/projects/profiles.py:513 for duplicate in duplicates:1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ValuesIterable.__iter__django/db/models/query.py:2221 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms1.1%
QuerySet.firstdjango/db/models/query.py:11451 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
finalize_profileapps/projects/profiles.py:5251 ms1.1%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11101 ms1.1%
Model._do_updatedjango/db/models/base.py:12111 ms1.1%
QuerySet._updatedjango/db/models/query.py:13271 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
store_profileapps/projects/testing.py:3714 ms3.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.2%
QuerySet.createdjango/db/models/query.py:6694 ms3.2%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms2.1%
Model.savedjango/db/models/base.py:8743 ms2.1%
Model.save_basedjango/db/models/base.py:9663 ms2.1%
Model._save_tabledjango/db/models/base.py:11673 ms2.1%
Model._do_insertdjango/db/models/base.py:12183 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.1%
QuerySet._insertdjango/db/models/query.py:19183 ms2.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.1%
Cursor.executepsycopg/cursor.py:1133 ms2.1%
Connection.waitpsycopg/connection.py:4953 ms2.1%
Profile.saveapps/projects/models.py:4651 ms1.1%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 11 ms1.1%
QuerySet.aggregatedjango/db/models/query.py:5941 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms1.1%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms1.1%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms1.1%
PostgresClientQuery.dumppsycopg/_queries.py:2991 ms1.1%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))1 ms1.1%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)1 ms1.1%
compress<stdlib>/gzip.py:6681 ms1.1%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()1 ms1.1%
Model.refresh_from_dbdjango/db/models/base.py:7581 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
LegacyUrlTest.setUpTestDataapps/projects/tests.py:3716 ms4.2%
make_projectapps/projects/testing.py:713 ms2.1%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(3 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.1%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
QuerySet.get_or_createdjango/db/models/query.py:9941 ms1.1%
QuerySet.createdjango/db/models/query.py:6691 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
make_projectapps/projects/testing.py:621 ms1.1%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():1 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.1%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),1 ms1.1%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():1 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171 ms1.1%
LegacyUrlTest.setUpTestDataapps/projects/tests.py:374 cls.runs = baker.make(Run, project=cls.project, ingest=ingest, _quantity=2)4 ms3.2%
makemodel_bakery/baker.py:1394 ms3.2%
Baker.makemodel_bakery/baker.py:4064 ms3.2%
Baker._makemodel_bakery/baker.py:4713 ms2.1%
Baker.generate_valuemodel_bakery/baker.py:8003 ms2.1%
gen_stringmodel_bakery/random_gen.py:1153 ms2.1%
gen_string.<locals>.<genexpr>model_bakery/random_gen.py:1153 ms2.1%
Random.choice<stdlib>/random.py:3541 ms1.1%
Baker._makemodel_bakery/baker.py:4821 ms1.1%
Baker.instancemodel_bakery/baker.py:5351 ms1.1%
Run.saveapps/projects/models.py:1871 ms1.1%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 11 ms1.1%
QuerySet.aggregatedjango/db/models/query.py:5941 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
LegacyUrlTest.setUpTestDataapps/projects/tests.py:3723 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.1%
QuerySet.createdjango/db/models/query.py:6693 ms2.1%
Test.saveapps/projects/models.py:2933 ms2.1%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ValuesListIterable.__iter__django/db/models/query.py:2381 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
TestManager.slugs_forapps/projects/models.py:242 taken = set(self.filter(project_id=project_id, slug__in=set(new.values())).values_list("slug", flat=True))1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
FlatValuesListIterable.__iter__django/db/models/query.py:2771 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
LegacyUrlTest.setUpTestDataapps/projects/tests.py:3763 ms2.1%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),1 ms1.1%
make_projectapps/projects/testing.py:64 project = Project.objects.create(1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.createdjango/db/models/query.py:6691 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
LegacyUrlTest.setUpTestDataapps/projects/tests.py:370 cls.user = User.objects.create_user("testuser")1 ms1.1%
UserManager.create_userdjango/contrib/auth/models.py:1751 ms1.1%
UserManager._create_userdjango/contrib/auth/models.py:1631 ms1.1%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()11 ms8.4%
TestCase._enter_atomicsdjango/test/testcases.py:139611 ms8.4%
Atomic.__enter__django/db/transaction.py:19811 ms8.4%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45411 ms8.4%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30311 ms8.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2611 ms8.4%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27911 ms8.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2611 ms8.4%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25610 ms7.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms7.4%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33310 ms7.4%
Connection.connectpsycopg/connection.py:10910 ms7.4%
wait_connpsycopg/waiting.py:1456 ms4.2%
BaseConnection._connect_genpsycopg/_connection_base.py:4396 ms4.2%
wait_connpsycopg/waiting.py:1413 ms2.1%
EpollSelector.select<stdlib>/selectors.py:4523 ms2.1%
wait_connpsycopg/waiting.py:1361 ms1.1%
BaseConnection._connect_genpsycopg/_connection_base.py:4391 ms1.1%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2581 ms1.1%
DatabaseWrapper.init_connection_statedjango/db/backends/postgresql/base.py:4021 ms1.1%
DatabaseWrapper._configure_connectiondjango/db/backends/postgresql/base.py:3741 ms1.1%
DatabaseWrapper._configure_timezonedjango/db/backends/postgresql/base.py:3571 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
__init____init__:-11 ms1.1%
signature<stdlib>/inspect.py:33431 ms1.1%
Signature.from_callable<stdlib>/inspect.py:30581 ms1.1%
_signature_from_callable<stdlib>/inspect.py:25281 ms1.1%
call75 ms55.5%
LegacyUrlTest.test_by_idapps/projects/tests.py:389 response = self.client.get(f"/projects/{self.project.id}/{old}")56 ms41.7%
Client.getdjango/test/client.py:112456 ms41.7%
RequestFactory.getdjango/test/client.py:47556 ms41.7%
RequestFactory.genericdjango/test/client.py:67156 ms41.7%
Client.requestdjango/test/client.py:108256 ms41.7%
ClientHandler.__call__django/test/client.py:18632 ms23.6%
BaseHandler.get_responsedjango/core/handlers/base.py:14132 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13032 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12332 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30932 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5532 ms23.6%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3432 ms23.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5530 ms22.2%
BaseHandler._get_responsedjango/core/handlers/base.py:19828 ms20.8%
legacy_redirectapps/projects/urls.py:67517 ms12.5%
can_viewapps/projects/urls.py:3317 ms12.5%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()9 ms6.9%
QuerySet.existsdjango/db/models/query.py:13376 ms4.2%
Query.has_resultsdjango/db/models/sql/query.py:6816 ms4.2%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15926 ms4.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16246 ms4.2%
CursorWrapper.executedjango/db/backends/utils.py:796 ms4.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:926 ms4.2%
CursorWrapper._executedjango/db/backends/utils.py:1056 ms4.2%
Cursor.executepsycopg/cursor.py:1136 ms4.2%
Connection.waitpsycopg/connection.py:4956 ms4.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.filterdjango/db/models/query.py:15422 ms1.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.4%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.4%
Query.build_lookupdjango/db/models/sql/query.py:14402 ms1.4%
Lookup.__init__django/db/models/lookups.py:352 ms1.4%
RelatedLookupMixin.get_prep_lookupdjango/db/models/fields/related_lookups.py:1042 ms1.4%
get_normalized_valuedjango/db/models/fields/related_lookups.py:182 ms1.4%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:8 ms5.6%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2518 ms5.6%
SimpleLazyObject._setupdjango/utils/functional.py:4048 ms5.6%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:408 ms5.6%
get_userdjango/contrib/auth/middleware.py:208 ms5.6%
get_userdjango/contrib/auth/__init__.py:3116 ms4.2%
_get_user_session_keydjango/contrib/auth/__init__.py:956 ms4.2%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:556 ms4.2%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2516 ms4.2%
SessionStore.loaddjango/contrib/sessions/backends/db.py:556 ms4.2%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:346 ms4.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:876 ms4.2%
QuerySet.getdjango/db/models/query.py:6354 ms2.8%
QuerySet.__len__django/db/models/query.py:3724 ms2.8%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.8%
ModelIterable.__iter__django/db/models/query.py:954 ms2.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
get_userdjango/contrib/auth/__init__.py:3182 ms1.4%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
legacy_redirectapps/projects/urls.py:670 project = get_object_or_404(Project.objects.select_related("organization"), pk=project_id)6 ms4.2%
get_object_or_404django/shortcuts.py:906 ms4.2%
QuerySet.getdjango/db/models/query.py:6356 ms4.2%
QuerySet.__len__django/db/models/query.py:3726 ms4.2%
QuerySet._fetch_alldjango/db/models/query.py:20006 ms4.2%
ModelIterable.__iter__django/db/models/query.py:956 ms4.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:794 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms2.8%
Cursor.executepsycopg/cursor.py:1134 ms2.8%
Connection.waitpsycopg/connection.py:4954 ms2.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3302 ms1.4%
legacy_redirectapps/projects/urls.py:684 key = get_object_or_404(model.objects.values_list(field, flat=True), project=project, pk=match[2])4 ms2.8%
get_object_or_404django/shortcuts.py:904 ms2.8%
QuerySet.getdjango/db/models/query.py:6252 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
legacy_redirectapps/projects/urls.py:682 if match := re.fullmatch(r"(tests|runs|profiles)/(\d+)", rest):2 ms1.4%
fullmatch<stdlib>/re/__init__.py:1742 ms1.4%
_compile<stdlib>/re/__init__.py:3522 ms1.4%
compile<stdlib>/re/_compiler.py:7662 ms1.4%
_code<stdlib>/re/_compiler.py:5992 ms1.4%
_compile<stdlib>/re/_compiler.py:1332 ms1.4%
_compile<stdlib>/re/_compiler.py:1162 ms1.4%
BaseHandler._get_responsedjango/core/handlers/base.py:2052 ms1.4%
ClientHandler.__call__django/test/client.py:17324 ms18.0%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6224 ms18.0%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10424 ms18.0%
WhiteNoise.add_fileswhitenoise/base.py:10824 ms18.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12023 ms16.7%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13123 ms16.7%
WhiteNoise.get_static_filewhitenoise/base.py:20817 ms12.5%
StaticFile.__init__whitenoise/responders.py:736 ms4.2%
StaticFile.get_headerswhitenoise/responders.py:1766 ms4.2%
formatdate<stdlib>/email/utils.py:2664 ms2.8%
StaticFile.__init__whitenoise/responders.py:776 ms4.2%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms2.8%
__init____init__:-12 ms1.4%
Headers.__init__<stdlib>/wsgiref/headers.py:442 ms1.4%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.4%
StaticFile.get_alternativeswhitenoise/responders.py:1982 ms1.4%
StaticFile.__init__whitenoise/responders.py:762 ms1.4%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms1.4%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms1.4%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms1.4%
StaticFile.__init__whitenoise/responders.py:722 ms1.4%
StaticFile.get_file_statswhitenoise/responders.py:1572 ms1.4%
StaticFile.__init__whitenoise/responders.py:742 ms1.4%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms1.4%
WhiteNoise.get_static_filewhitenoise/base.py:2024 ms2.8%
WhiteNoise.add_mime_headerswhitenoise/base.py:2212 ms1.4%
Headers.add_header<stdlib>/wsgiref/headers.py:1832 ms1.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms1.4%
LegacyUrlTest.test_by_idapps/projects/tests.py:379 self.client.force_login(self.user)11 ms8.3%
ClientMixin.force_logindjango/test/client.py:85511 ms8.3%
ClientMixin._logindjango/test/client.py:8816 ms4.2%
logindjango/contrib/auth/__init__.py:1874 ms2.8%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms1.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.4%
Atomic.__enter__django/db/transaction.py:2112 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.4%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.4%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.4%
Model.deletedjango/db/models/base.py:12982 ms1.4%
Collector.deletedjango/db/models/deletion.py:4522 ms1.4%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms1.4%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
logindjango/contrib/auth/__init__.py:1752 ms1.4%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms1.4%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.4%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.4%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
ClientMixin._logindjango/test/client.py:8764 ms2.8%
ClientMixin.sessiondjango/test/client.py:8124 ms2.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms2.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.4%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.4%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.4%
QuerySet.existsdjango/db/models/query.py:13372 ms1.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11672 ms1.4%
Model._do_insertdjango/db/models/base.py:12182 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet._insertdjango/db/models/query.py:19182 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
ClientMixin._logindjango/test/client.py:8832 ms1.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.4%
Atomic.__enter__django/db/transaction.py:2112 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms2.8%
TestCase._fixture_teardowndjango/test/testcases.py:14954 ms2.8%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4834 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:794 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1034 ms2.8%
Cursor.executepsycopg/cursor.py:1134 ms2.8%
Connection.waitpsycopg/connection.py:4954 ms2.8%
LegacyUrlTest.test_by_idapps/projects/tests.py:390 self.assertRedirects(response, new, status_code=301, fetch_redirect_response=False)4 ms2.8%
SimpleTestCase.assertRedirectsdjango/test/testcases.py:4652 ms1.4%
Client.getdjango/test/client.py:11242 ms1.4%
RequestFactory.getdjango/test/client.py:4752 ms1.4%
RequestFactory.genericdjango/test/client.py:6712 ms1.4%
Client.requestdjango/test/client.py:10822 ms1.4%
ClientHandler.__call__django/test/client.py:1862 ms1.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms1.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms1.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms1.4%
legacy_redirectapps/projects/urls.py:670 project = get_object_or_404(Project.objects.select_related("organization"), pk=project_id)2 ms1.4%
get_object_or_404django/shortcuts.py:902 ms1.4%
QuerySet.getdjango/db/models/query.py:6252 ms1.4%
QuerySet.filterdjango/db/models/query.py:15422 ms1.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.4%
Query.build_filterdjango/db/models/sql/query.py:15512 ms1.4%
Query.solve_lookup_typedjango/db/models/sql/query.py:13582 ms1.4%
Query.names_to_pathdjango/db/models/sql/query.py:18732 ms1.4%
Estimated from 82 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:389
response = self.client.get(f"/projects/{self.project.id}/{old}")
LegacyUrlTest.test_by_id
· Libraries
|
28 ms |
|
apps/projects/tests.py:379
self.client.force_login(self.user)
LegacyUrlTest.test_by_id
· Database
|
11 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
9 ms |
|
apps/projects/urls.py:670
project = get_object_or_404(Project.objects.select_related("organization"), pk=project_id)
legacy_redirect
· Database
|
8 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
8 ms |
|
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save
· Database
|
6 ms |
|
apps/projects/urls.py:684
key = get_object_or_404(model.objects.values_list(field, flat=True), project=project, pk=match[2])
legacy_redirect
· Database
|
4 ms |
|
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug
· Database
|
3 ms |
|
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member
· Database
|
3 ms |
|
apps/projects/models.py:242
taken = set(self.filter(project_id=project_id, slug__in=set(new.values())).values_list("slug", flat=True))
TestManager.slugs_for
· Database
|
3 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_LegacyUrlTest class | 59 ms |
| _django_setup_unittest class | 0.21 ms |
| _dj_autoclear_mailbox function | 0.07 ms |
| _django_db_marker function | 0.04 ms |
| _template_string_if_invalid_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.02 ms |
| monkeypatch function | 0.02 ms |
Database
115 queries · 43 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
8×
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 ?
7×
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", "orgs_…
7×
SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "a…
7×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
3×
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…
Biggest pieces of work
|
call test body
apps/projects/tests.py:389
|
72 ms |
|
setup setUpClass
django/test/testcases.py:1423
|
59 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
|
setup __init__
__init__:-1
|
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 | 136 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 84 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 135 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 116 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 175 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 88 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 143 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 141 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 136 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 155 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 89 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 145 ms | Profile |