Tests / apps/projects/tests.py
UnstorableCharactersTest::test_processing_replaces_nuls_and_lone_surrogates
First seen 2 weeks, 1 day ago in afde85b
CI
github-actions:test
3 runs
Average
59 ms
median 64 ms
max 66 ms
max 66 ms
Phases
Setup 48 ms
Call 11 ms
Teardown 0.15 ms
Categories
Database 55 ms
Factories 0.47 ms
Other (pytest, Libraries, Serialization, Unsampled) 3 ms
75 database queries per run
Needs 0 KB of memory (max 0 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup51 ms80.5%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()37 ms57.5%
UnstorableCharactersTest.setUpTestDataapps/projects/tests.py:130528 ms43.7%
store_profileapps/projects/testing.py:37316 ms25.3%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)7 ms11.5%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(3 ms4.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms4.6%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms2.3%
QuerySet.getdjango/db/models/query.py:6351 ms2.3%
QuerySet.__len__django/db/models/query.py:3721 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
QuerySet.get_or_createdjango/db/models/query.py:9941 ms2.3%
QuerySet.createdjango/db/models/query.py:6691 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms2.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms2.3%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms2.3%
PostgresClientQuery.dumppsycopg/_queries.py:2991 ms2.3%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001 ms2.3%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)1 ms2.3%
QuerySet.getdjango/db/models/query.py:6351 ms2.3%
QuerySet.__len__django/db/models/query.py:3721 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)1 ms2.3%
QuerySet.updatedjango/db/models/query.py:13001 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
claim_partapps/projects/profiles.py:4671 ms2.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11101 ms2.3%
Model._do_updatedjango/db/models/base.py:12111 ms2.3%
QuerySet._updatedjango/db/models/query.py:13271 ms2.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms2.3%
process_profile_partapps/projects/profiles.py:3653 ms4.6%
upsert_testsapps/projects/profiles.py:4723 ms4.6%
TestManager.upsertapps/projects/models.py:2291 ms2.3%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))1 ms2.3%
QuerySet.__iter__django/db/models/query.py:3901 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ValuesListIterable.__iter__django/db/models/query.py:2381 ms2.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order1 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms2.3%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()1 ms2.3%
QuerySet.firstdjango/db/models/query.py:11451 ms2.3%
QuerySet.__iter__django/db/models/query.py:3901 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms2.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3181 ms2.3%
process_profile_partapps/projects/profiles.py:3621 ms2.3%
load_documentapps/projects/profiles.py:1331 ms2.3%
loadsapps/projects/profiles.py:118 document = json.loads(data)1 ms2.3%
loads<stdlib>/json/__init__.py:3711 ms2.3%
JSONDecoder.decode<stdlib>/json/decoder.py:3581 ms2.3%
process_profile_partapps/projects/profiles.py:3671 ms2.3%
write_snapshotsapps/projects/profiles.py:3331 ms2.3%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:3311 ms2.3%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),1 ms2.3%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)1 ms2.3%
compress<stdlib>/gzip.py:6681 ms2.3%
process_profile_partapps/projects/profiles.py:368 ProfilePart.objects.filter(pk=part.pk).update(1 ms2.3%
QuerySet.updatedjango/db/models/query.py:13001 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms2.3%
SQLUpdateCompiler.as_sqldjango/db/models/sql/compiler.py:20651 ms2.3%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)7 ms11.5%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)1 ms2.3%
QuerySet.getdjango/db/models/query.py:6351 ms2.3%
QuerySet.__len__django/db/models/query.py:3721 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms2.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms2.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms2.3%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms2.3%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171 ms2.3%
finalize_profileapps/projects/profiles.py:5111 ms2.3%
QuerySet.deletedjango/db/models/query.py:12381 ms2.3%
Collector.deletedjango/db/models/deletion.py:4711 ms2.3%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
finalize_profileapps/projects/profiles.py:513 for duplicate in duplicates:1 ms2.3%
QuerySet.__iter__django/db/models/query.py:3901 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ValuesIterable.__iter__django/db/models/query.py:2221 ms2.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms2.3%
QuerySet.firstdjango/db/models/query.py:11451 ms2.3%
QuerySet.__iter__django/db/models/query.py:3901 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms2.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3181 ms2.3%
finalize_profileapps/projects/profiles.py:5171 ms2.3%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(1 ms2.3%
QuerySet.__iter__django/db/models/query.py:3901 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:1271 ms2.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15771 ms2.3%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15261 ms2.3%
Col.get_db_convertersdjango/db/models/expressions.py:13391 ms2.3%
store_profileapps/projects/testing.py:3713 ms4.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms4.6%
QuerySet.createdjango/db/models/query.py:6693 ms4.6%
Profile.saveapps/projects/models.py:4651 ms2.3%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 11 ms2.3%
QuerySet.aggregatedjango/db/models/query.py:5941 ms2.3%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19241 ms2.3%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18131 ms2.3%
SQLInsertCompiler.prepare_valuedjango/db/models/sql/compiler.py:17421 ms2.3%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))1 ms2.3%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)1 ms2.3%
compress<stdlib>/gzip.py:6681 ms2.3%
UnstorableCharactersTest.setUpTestDataapps/projects/tests.py:13017 ms11.5%
make_projectapps/projects/testing.py:713 ms4.6%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(3 ms4.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms4.6%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms2.3%
QuerySet.getdjango/db/models/query.py:6351 ms2.3%
QuerySet.__len__django/db/models/query.py:3721 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
QuerySet.get_or_createdjango/db/models/query.py:9921 ms2.3%
Atomic.__exit__django/db/transaction.py:2471 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms2.3%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
make_projectapps/projects/testing.py:621 ms2.3%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():1 ms2.3%
QuerySet.existsdjango/db/models/query.py:13371 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),1 ms2.3%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():1 ms2.3%
QuerySet.existsdjango/db/models/query.py:13371 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
make_projectapps/projects/testing.py:64 project = Project.objects.create(1 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet.createdjango/db/models/query.py:6691 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
UnstorableCharactersTest.setUpTestDataapps/projects/tests.py:1300 cls.user = baker.make(User)1 ms2.3%
makemodel_bakery/baker.py:1471 ms2.3%
Baker.makemodel_bakery/baker.py:4061 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()13 ms20.7%
TestCase._enter_atomicsdjango/test/testcases.py:139613 ms20.7%
Atomic.__enter__django/db/transaction.py:19813 ms20.7%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45413 ms20.7%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30313 ms20.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2613 ms20.7%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27913 ms20.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2613 ms20.7%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25613 ms20.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2613 ms20.7%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33313 ms20.7%
Connection.connectpsycopg/connection.py:10913 ms20.7%
wait_connpsycopg/waiting.py:1416 ms9.2%
EpollSelector.select<stdlib>/selectors.py:4526 ms9.2%
wait_connpsycopg/waiting.py:1456 ms9.2%
BaseConnection._connect_genpsycopg/_connection_base.py:4396 ms9.2%
wait_connpsycopg/waiting.py:1361 ms2.3%
BaseConnection._connect_genpsycopg/_connection_base.py:4391 ms2.3%
call12 ms19.2%
UnstorableCharactersTest.setUpapps/projects/tests.py:1309 self.client.force_login(self.user)12 ms19.2%
ClientMixin.force_logindjango/test/client.py:85512 ms19.2%
ClientMixin._logindjango/test/client.py:88112 ms19.2%
logindjango/contrib/auth/__init__.py:18712 ms19.2%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4348 ms12.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:704 ms6.4%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1984 ms6.4%
SessionStore.existsdjango/contrib/sessions/backends/db.py:634 ms6.4%
QuerySet.existsdjango/db/models/query.py:13374 ms6.4%
Query.has_resultsdjango/db/models/sql/query.py:6814 ms6.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15924 ms6.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms6.4%
CursorWrapper.executedjango/db/backends/utils.py:794 ms6.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms6.4%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms6.4%
Cursor.executepsycopg/cursor.py:1134 ms6.4%
Connection.waitpsycopg/connection.py:4954 ms6.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:744 ms6.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1264 ms6.4%
Atomic.__exit__django/db/transaction.py:2474 ms6.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:264 ms6.4%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4314 ms6.4%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3754 ms6.4%
CursorWrapper.executedjango/db/backends/utils.py:794 ms6.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms6.4%
CursorWrapper._executedjango/db/backends/utils.py:1034 ms6.4%
Cursor.executepsycopg/cursor.py:1134 ms6.4%
Connection.waitpsycopg/connection.py:4954 ms6.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4374 ms6.4%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1754 ms6.4%
Model.deletedjango/db/models/base.py:12984 ms6.4%
Collector.deletedjango/db/models/deletion.py:4524 ms6.4%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:434 ms6.4%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:254 ms6.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms6.4%
CursorWrapper.executedjango/db/backends/utils.py:794 ms6.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms6.4%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms6.4%
Cursor.executepsycopg/cursor.py:1134 ms6.4%
Connection.waitpsycopg/connection.py:4954 ms6.4%
Estimated from 38 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1309
self.client.force_login(self.user)
UnstorableCharactersTest.setUp
· Database
|
12 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:466
super().save(*args, **kwargs)
Profile.save
· Database
|
3 ms |
|
apps/projects/profiles.py:111
return gzip.compress(data, compresslevel=6)
compress
· Libraries
|
3 ms |
|
apps/projects/profiles.py:404
commit, _ = Commit.objects.get_or_create(
claim_part
· Database
|
3 ms |
|
apps/projects/tests.py:1300
cls.user = baker.make(User)
UnstorableCharactersTest.setUpTestData
· Database
|
1 ms |
|
apps/projects/testing.py:64
project = Project.objects.create(
make_project
· Database
|
1 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
|
1 ms |
|
apps/projects/profiles.py:356
part = ProfilePart.objects.filter(pk=part.pk).first()
process_profile_part
· Database
|
1 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_UnstorableCharactersTest class | 50 ms |
| _django_setup_unittest class | 0.22 ms |
| _dj_autoclear_mailbox function | 0.06 ms |
| _django_db_marker function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
75 queries · 28 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
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
|
setup setUpClass
django/test/testcases.py:1423
|
50 ms |
|
call setUp
apps/projects/tests.py:1309
|
12 ms |
| setup pytest internals | 1 ms |
Reliability
3 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.