Tests / apps/projects/tests.py
StorageTest::test_an_older_upload_keeps_the_newer_snapshot
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
111 ms
median 118 ms
max 139 ms
max 139 ms
Phases
Setup 77 ms
Call 33 ms
Teardown 0.17 ms
Categories
Database 104 ms
App code 2 ms
Factories 0.25 ms
Test code 0.23 ms
Other (Libraries, pytest, Serialization, Unsampled, ...) 4 ms
128 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
setup79 ms68.1%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()64 ms55.4%
StorageTest.setUpTestDataapps/projects/tests.py:117137 ms32.3%
store_profileapps/projects/testing.py:37328 ms24.2%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)20 ms17.3%
claim_partapps/projects/profiles.py:39915 ms12.7%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(15 ms12.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8715 ms12.7%
QuerySet.get_or_createdjango/db/models/query.py:98713 ms11.5%
QuerySet.getdjango/db/models/query.py:63512 ms10.4%
QuerySet.__len__django/db/models/query.py:37211 ms9.2%
QuerySet._fetch_alldjango/db/models/query.py:200011 ms9.2%
ModelIterable.__iter__django/db/models/query.py:9511 ms9.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16248 ms6.9%
CursorWrapper.executedjango/db/backends/utils.py:798 ms6.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:928 ms6.9%
CursorWrapper._executedjango/db/backends/utils.py:1058 ms6.9%
Cursor.executepsycopg/cursor.py:1138 ms6.9%
Connection.waitpsycopg/connection.py:4958 ms6.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2068 ms6.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2868 ms6.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:788 ms6.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16113 ms2.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2551 ms1.2%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10321 ms1.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951 ms1.2%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.2%
QuerySet.getdjango/db/models/query.py:6251 ms1.2%
QuerySet.filterdjango/db/models/query.py:15421 ms1.2%
QuerySet.get_or_createdjango/db/models/query.py:9941 ms1.2%
QuerySet.createdjango/db/models/query.py:6691 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11671 ms1.2%
Model._do_insertdjango/db/models/base.py:12181 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(3 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.3%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
QuerySet.get_or_createdjango/db/models/query.py:9941 ms1.2%
QuerySet.createdjango/db/models/query.py:6691 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11671 ms1.2%
Model._do_insertdjango/db/models/base.py:12181 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
claim_partapps/projects/profiles.py:397 project = profile.project1 ms1.2%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms1.2%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:1281 ms1.2%
Model.from_dbdjango/db/models/base.py:6051 ms1.2%
Model.__init__django/db/models/base.py:5131 ms1.2%
claim_partapps/projects/profiles.py:4671 ms1.2%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11101 ms1.2%
Model._do_updatedjango/db/models/base.py:12111 ms1.2%
QuerySet._updatedjango/db/models/query.py:13271 ms1.2%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.2%
SQLUpdateCompiler.as_sqldjango/db/models/sql/compiler.py:20651 ms1.2%
process_profile_partapps/projects/profiles.py:3654 ms3.5%
upsert_testsapps/projects/profiles.py:4724 ms3.5%
TestManager.upsertapps/projects/models.py:2293 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 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ValuesListIterable.__iter__django/db/models/query.py:2381 ms1.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
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.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
FlatValuesListIterable.__iter__django/db/models/query.py:2771 ms1.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.2%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:3661 ms1.2%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()1 ms1.2%
QuerySet.deletedjango/db/models/query.py:12381 ms1.2%
Collector.deletedjango/db/models/deletion.py:4711 ms1.2%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:3671 ms1.2%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)1 ms1.2%
CursorWrapper.executemanydjango/db/backends/utils.py:841 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executemanydjango/db/backends/utils.py:1141 ms1.2%
Cursor.executemanypsycopg/cursor.py:1371 ms1.2%
Connection._pipeline_nolockpsycopg/connection.py:4721 ms1.2%
Pipeline.__exit__psycopg/_pipeline.py:731 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:368 ProfilePart.objects.filter(pk=part.pk).update(1 ms1.2%
QuerySet.updatedjango/db/models/query.py:13001 ms1.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)8 ms6.9%
finalize_profileapps/projects/profiles.py:5173 ms2.3%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(1 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951 ms1.2%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.2%
WhereNode.as_sqldjango/db/models/sql/where.py:1511 ms1.2%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.2%
RelatedIn.as_sqldjango/db/models/fields/related_lookups.py:951 ms1.2%
In.as_sqldjango/db/models/lookups.py:5561 ms1.2%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.2%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)1 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.2%
finalize_profileapps/projects/profiles.py:509 ProfilePart.objects.filter(profile=profile).exclude(pk__in=[part.pk for part in current]).delete()1 ms1.2%
QuerySet.deletedjango/db/models/query.py:12381 ms1.2%
Collector.deletedjango/db/models/deletion.py:4711 ms1.2%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
finalize_profileapps/projects/profiles.py:512 duplicates = rows.values("test").annotate(count=Count("id"), keep=Max("id")).filter(count__gt=1)1 ms1.2%
QuerySet.annotatedjango/db/models/query.py:16981 ms1.2%
finalize_profileapps/projects/profiles.py:5251 ms1.2%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11101 ms1.2%
Model._do_updatedjango/db/models/base.py:12111 ms1.2%
QuerySet._updatedjango/db/models/query.py:13271 ms1.2%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()1 ms1.2%
Model.refresh_from_dbdjango/db/models/base.py:7581 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
StorageTest.setUpTestDataapps/projects/tests.py:117924 ms20.8%
store_profileapps/projects/testing.py:37315 ms12.7%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)7 ms5.8%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)1 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
claim_partapps/projects/profiles.py:397 project = profile.project1 ms1.2%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms1.2%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.2%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3301 ms1.2%
BaseExpression.select_formatdjango/db/models/expressions.py:4991 ms1.2%
claim_partapps/projects/profiles.py:4671 ms1.2%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11101 ms1.2%
Model._do_updatedjango/db/models/base.py:12111 ms1.2%
QuerySet._updatedjango/db/models/query.py:13271 ms1.2%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.2%
SQLUpdateCompiler.as_sqldjango/db/models/sql/compiler.py:20651 ms1.2%
Field.get_db_prep_savedjango/db/models/fields/__init__.py:10111 ms1.2%
Atomic.__exit__django/db/transaction.py:2471 ms1.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.2%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms1.2%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:3653 ms2.3%
upsert_testsapps/projects/profiles.py:4723 ms2.3%
TestManager.upsertapps/projects/models.py:2291 ms1.2%
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.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
FlatValuesListIterable.__iter__django/db/models/query.py:2771 ms1.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171 ms1.2%
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}1 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171 ms1.2%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.2%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()1 ms1.2%
QuerySet.firstdjango/db/models/query.py:11451 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:3661 ms1.2%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.2%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:3671 ms1.2%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)1 ms1.2%
CursorWrapper.executemanydjango/db/backends/utils.py:841 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executemanydjango/db/backends/utils.py:1141 ms1.2%
Cursor.executemanypsycopg/cursor.py:1371 ms1.2%
Connection._pipeline_nolockpsycopg/connection.py:4721 ms1.2%
Pipeline.__exit__psycopg/_pipeline.py:731 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:368 ProfilePart.objects.filter(pk=part.pk).update(1 ms1.2%
QuerySet.updatedjango/db/models/query.py:13001 ms1.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)5 ms4.6%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)1 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):1 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms1.2%
QuerySet.firstdjango/db/models/query.py:11451 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
finalize_profileapps/projects/profiles.py:5251 ms1.2%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11101 ms1.2%
Model._do_updatedjango/db/models/base.py:12111 ms1.2%
QuerySet._updatedjango/db/models/query.py:13271 ms1.2%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.2%
store_profileapps/projects/testing.py:3713 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.3%
QuerySet.createdjango/db/models/query.py:6693 ms2.3%
Profile.saveapps/projects/models.py:4651 ms1.2%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 11 ms1.2%
QuerySet.aggregatedjango/db/models/query.py:5941 ms1.2%
Query.get_aggregationdjango/db/models/sql/query.py:4671 ms1.2%
Aggregate.resolve_expressiondjango/db/models/aggregates.py:1221 ms1.2%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3011 ms1.2%
F.resolve_expressiondjango/db/models/expressions.py:9041 ms1.2%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11671 ms1.2%
Model._do_insertdjango/db/models/base.py:12181 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms1.2%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms1.2%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms1.2%
PostgresClientQuery.dumppsycopg/_queries.py:2991 ms1.2%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001 ms1.2%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.createdjango/db/models/query.py:6691 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11671 ms1.2%
Model._do_insertdjango/db/models/base.py:12181 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.2%
StorageTest.setUpTestDataapps/projects/tests.py:1168 cls.project = baker.make(Project)3 ms2.3%
makemodel_bakery/baker.py:1473 ms2.3%
Baker.makemodel_bakery/baker.py:4063 ms2.3%
Baker._makemodel_bakery/baker.py:4711 ms1.2%
Baker.generate_valuemodel_bakery/baker.py:8001 ms1.2%
gen_relatedmodel_bakery/random_gen.py:2741 ms1.2%
makemodel_bakery/baker.py:1471 ms1.2%
Baker.makemodel_bakery/baker.py:4061 ms1.2%
Baker._makemodel_bakery/baker.py:4821 ms1.2%
Baker.instancemodel_bakery/baker.py:5351 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11671 ms1.2%
Model._do_insertdjango/db/models/base.py:12181 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
Baker._makemodel_bakery/baker.py:4431 ms1.2%
Baker._skip_fieldmodel_bakery/baker.py:6161 ms1.2%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()13 ms11.5%
TestCase._enter_atomicsdjango/test/testcases.py:139613 ms11.5%
Atomic.__enter__django/db/transaction.py:19813 ms11.5%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45413 ms11.5%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30313 ms11.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2613 ms11.5%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27913 ms11.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2613 ms11.5%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25612 ms10.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2612 ms10.4%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33312 ms10.4%
Connection.connectpsycopg/connection.py:10912 ms10.4%
wait_connpsycopg/waiting.py:1418 ms6.9%
EpollSelector.select<stdlib>/selectors.py:4528 ms6.9%
wait_connpsycopg/waiting.py:1454 ms3.5%
BaseConnection._connect_genpsycopg/_connection_base.py:4394 ms3.5%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2581 ms1.2%
DatabaseWrapper.init_connection_statedjango/db/backends/postgresql/base.py:4021 ms1.2%
DatabaseWrapper._configure_connectiondjango/db/backends/postgresql/base.py:3741 ms1.2%
DatabaseWrapper._configure_timezonedjango/db/backends/postgresql/base.py:3571 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
call37 ms31.8%
StorageTest.test_an_older_upload_keeps_the_newer_snapshotapps/projects/tests.py:1227 store_profile(30 ms25.7%
store_profileapps/projects/testing.py:37320 ms17.1%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)14 ms12.2%
claim_partapps/projects/profiles.py:39911 ms9.8%
get_or_create_environmentapps/projects/environments.py:79 obj.save(update_fields=update_fields)10 ms8.6%
Model.savedjango/db/models/base.py:87410 ms8.6%
Model.save_basedjango/db/models/base.py:96610 ms8.6%
Model._save_tabledjango/db/models/base.py:111010 ms8.6%
Model._do_updatedjango/db/models/base.py:12119 ms7.3%
QuerySet._updatedjango/db/models/query.py:13279 ms7.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21409 ms7.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21119 ms7.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16247 ms6.1%
CursorWrapper.executedjango/db/backends/utils.py:797 ms6.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:927 ms6.1%
CursorWrapper._executedjango/db/backends/utils.py:1057 ms6.1%
Cursor.executepsycopg/cursor.py:1137 ms6.1%
Connection.waitpsycopg/connection.py:4957 ms6.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2067 ms6.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2867 ms6.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:787 ms6.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16221 ms1.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.2%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms1.2%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981 ms1.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.2%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4301 ms1.2%
Connection.cursorpsycopg/connection.py:2591 ms1.2%
Cursor.__init__psycopg/cursor.py:471 ms1.2%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:1281 ms1.2%
Model.from_dbdjango/db/models/base.py:6051 ms1.2%
Model.__init__django/db/models/base.py:5131 ms1.2%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
claim_partapps/projects/profiles.py:4671 ms1.2%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.2%
Model.savedjango/db/models/base.py:8741 ms1.2%
Model.save_basedjango/db/models/base.py:9661 ms1.2%
Model._save_tabledjango/db/models/base.py:11101 ms1.2%
Model._do_updatedjango/db/models/base.py:12111 ms1.2%
QuerySet._updatedjango/db/models/query.py:13271 ms1.2%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:3653 ms2.4%
upsert_testsapps/projects/profiles.py:4723 ms2.4%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.2%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19241 ms1.2%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18711 ms1.2%
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}1 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:3661 ms1.2%
Atomic.__exit__django/db/transaction.py:2471 ms1.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.2%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms1.2%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
process_profile_partapps/projects/profiles.py:368 ProfilePart.objects.filter(pk=part.pk).update(1 ms1.2%
QuerySet.updatedjango/db/models/query.py:13001 ms1.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)9 ms7.3%
finalize_profileapps/projects/profiles.py:5174 ms3.7%
add_perfsapps/projects/rollups.py:30 for perf in perfs:1 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms1.2%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms1.2%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms1.2%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(1 ms1.2%
QuerySet.__iter__django/db/models/query.py:3901 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.2%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.2%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.2%
QuerySet._insertdjango/db/models/query.py:19181 ms1.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)1 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171 ms1.2%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.2%
Col.as_sqldjango/db/models/expressions.py:13251 ms1.2%
finalize_profileapps/projects/profiles.py:5111 ms1.2%
QuerySet.deletedjango/db/models/query.py:12381 ms1.2%
Collector.deletedjango/db/models/deletion.py:4711 ms1.2%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms1.2%
QuerySet.filterdjango/db/models/query.py:15421 ms1.2%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.2%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.2%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.2%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.2%
Query.build_filterdjango/db/models/sql/query.py:16111 ms1.2%
Query._get_coldjango/db/models/sql/query.py:4511 ms1.2%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()1 ms1.2%
Model.refresh_from_dbdjango/db/models/base.py:7581 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3181 ms1.2%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms3.7%
TestCase._fixture_teardowndjango/test/testcases.py:14953 ms2.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4833 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms2.4%
Cursor.executepsycopg/cursor.py:1133 ms2.4%
Connection.waitpsycopg/connection.py:4953 ms2.4%
TestCase._fixture_teardowndjango/test/testcases.py:14971 ms1.2%
TestCase._rollback_atomicsdjango/test/testcases.py:14051 ms1.2%
Atomic.__exit__django/db/transaction.py:2831 ms1.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.2%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4131 ms1.2%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3711 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
StorageTest.test_an_older_upload_keeps_the_newer_snapshotapps/projects/tests.py:12331 ms1.2%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms1.2%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
StorageTest.test_an_older_upload_keeps_the_newer_snapshotapps/projects/tests.py:12341 ms1.2%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms1.2%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms1.2%
QuerySet.getdjango/db/models/query.py:6351 ms1.2%
QuerySet.__len__django/db/models/query.py:3721 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.2%
ModelIterable.__iter__django/db/models/query.py:951 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.2%
Estimated from 85 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment
· Database
|
16 ms |
|
apps/projects/environments.py:79
obj.save(update_fields=update_fields)
get_or_create_environment
· Database
|
10 ms |
|
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save
· Database
|
8 ms |
|
apps/projects/profiles.py:404
commit, _ = Commit.objects.get_or_create(
claim_part
· Database
|
5 ms |
|
apps/projects/profiles.py:368
ProfilePart.objects.filter(pk=part.pk).update(
process_profile_part
· Database
|
4 ms |
|
apps/projects/profiles.py:500
profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)
finalize_profile
· Database
|
4 ms |
|
apps/projects/models.py:230
self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order
TestManager.upsert
· Database
|
3 ms |
|
apps/projects/rollups.py:64
for row in TestDailyStats.objects.filter(
add_perfs
· Database
|
3 ms |
|
apps/projects/rollups.py:88
TestDailyStats.objects.bulk_create(
add_perfs
· Database
|
3 ms |
|
apps/projects/testing.py:375
profile.refresh_from_db()
store_profile
· Database
|
3 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_StorageTest class | 78 ms |
| _django_setup_unittest class | 0.24 ms |
| _dj_autoclear_mailbox function | 0.06 ms |
| _django_db_marker function | 0.04 ms |
| _django_clear_site_cache function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
128 queries · 52 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
10×
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…
7×
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…
6×
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"."…
3×
SELECT MAX("projects_profile"."number") AS "last" FROM "projects_profile" WHERE "projects_profile"."project_id" = %s
3×
INSERT INTO "projects_profile" ("project_id", "number", "environment_id", "session_id", "run_id", "commit_id", "ingest_id", "external_id", "status", "error", "started_at", "duration", "exit_status", "backend", "rate", "samples", "workers", "flakytest_version", "python_version", "branch", "dirty", "…
Biggest pieces of work
|
setup setUpClass
django/test/testcases.py:1423
|
78 ms |
|
call test body
apps/projects/tests.py:1227
|
33 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 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 | 116 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 71 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 117 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 93 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 119 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 78 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 125 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 120 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 119 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 139 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 100 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 130 ms | Profile |