flakytest.dev anze3db flakytest
Tests / apps/projects/tests.py

StorageTest::test_an_older_upload_keeps_the_newer_snapshot

First seen 7 hours ago in 78a4357
CI github-actions:test 5 runs
Average
122 ms
median 120 ms
max 139 ms
Phases
Setup 86 ms Call 36 ms Teardown 0.18 ms
Categories
Database 116 ms App code 2 ms Test code 0.30 ms Other (Libraries, Serialization, pytest, Deep copies, ...) 3 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 minutes ago · open run
Show pytest frames
setup83 ms69.4%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()67 ms56.4%
StorageTest.setUpTestDataapps/projects/tests.py:116935 ms28.9%
store_profileapps/projects/testing.py:37319 ms15.9%
process_profile_partapps/projects/profiles.py:342 profile = claim_part(part, document)10 ms8.7%
claim_partapps/projects/profiles.py:4463 ms2.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms2.9%
Model.savedjango/db/models/base.py:8743 ms2.9%
Model.save_basedjango/db/models/base.py:9663 ms2.9%
Model._save_tabledjango/db/models/base.py:10912 ms1.4%
Model._save_tabledjango/db/models/base.py:11102 ms1.4%
Model._do_updatedjango/db/models/base.py:12112 ms1.4%
QuerySet._updatedjango/db/models/query.py:13272 ms1.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 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%
claim_partapps/projects/profiles.py:358 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)2 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%
claim_partapps/projects/profiles.py:359 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)2 ms1.4%
QuerySet.updatedjango/db/models/query.py:13002 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 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%
claim_partapps/projects/profiles.py:3782 ms1.4%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms1.4%
QuerySet.createdjango/db/models/query.py:6692 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%
claim_partapps/projects/profiles.py:383 commit, _ = Commit.objects.get_or_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9872 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%
process_profile_partapps/projects/profiles.py:345 write_perfs(profile, part, entries, tests)3 ms2.9%
write_perfsapps/projects/profiles.py:457 TestPerf.objects.filter(profile=profile, part=part.index).delete()2 ms1.4%
QuerySet.deletedjango/db/models/query.py:12382 ms1.4%
Collector.deletedjango/db/models/deletion.py:4712 ms1.4%
QuerySet._raw_deletedjango/db/models/query.py:12602 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%
Atomic.__exit__django/db/transaction.py:2472 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.4%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 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%
process_profile_partapps/projects/profiles.py:335 part = ProfilePart.objects.filter(pk=part.pk).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 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%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms1.4%
process_profile_partapps/projects/profiles.py:3442 ms1.4%
upsert_testsapps/projects/profiles.py:4512 ms1.4%
TestManager.upsertapps/projects/models.py:2292 ms1.4%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ValuesListIterable.__iter__django/db/models/query.py:2382 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%
process_profile_partapps/projects/profiles.py:347 ProfilePart.objects.filter(pk=part.pk).update(2 ms1.4%
QuerySet.updatedjango/db/models/query.py:12742 ms1.4%
UpdateQuery.add_update_valuesdjango/db/models/sql/subqueries.py:1042 ms1.4%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)10 ms8.7%
finalize_profileapps/projects/profiles.py:4963 ms2.9%
add_perfsapps/projects/rollups.py:30 for perf in perfs:2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 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:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
RelatedLookupMixin.as_sqldjango/db/models/fields/related_lookups.py:1282 ms1.4%
Exact.as_sqldjango/db/models/lookups.py:4072 ms1.4%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms1.4%
QuerySet._batched_insertdjango/db/models/query.py:19562 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%
finalize_profileapps/projects/profiles.py:479 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 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%
finalize_profileapps/projects/profiles.py:483 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 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%
finalize_profileapps/projects/profiles.py:492 for duplicate in duplicates:2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.4%
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:932 ms1.4%
SQLCompiler.get_group_bydjango/db/models/sql/compiler.py:1592 ms1.4%
finalize_profileapps/projects/profiles.py:5042 ms1.4%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 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:11102 ms1.4%
Model._do_updatedjango/db/models/base.py:12112 ms1.4%
QuerySet._updatedjango/db/models/query.py:13272 ms1.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 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%
store_profileapps/projects/testing.py:3715 ms4.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms4.3%
QuerySet.createdjango/db/models/query.py:6695 ms4.3%
Profile.saveapps/projects/models.py:465 self.number = next_number(type(self), self.project_id)3 ms2.9%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 13 ms2.9%
QuerySet.aggregatedjango/db/models/query.py:5943 ms2.9%
Query.get_aggregationdjango/db/models/sql/query.py:6333 ms2.9%
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:3172 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%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 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%
StorageTest.setUpTestDataapps/projects/tests.py:117729 ms24.6%
store_profileapps/projects/testing.py:37317 ms14.5%
process_profile_partapps/projects/profiles.py:342 profile = claim_part(part, document)7 ms5.8%
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%
claim_partapps/projects/profiles.py:376 project = profile.project2 ms1.4%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.4%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 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%
claim_partapps/projects/profiles.py:3782 ms1.4%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9872 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%
claim_partapps/projects/profiles.py:383 commit, _ = Commit.objects.get_or_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9872 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:16132 ms1.4%
process_profile_partapps/projects/profiles.py:345 write_perfs(profile, part, entries, tests)5 ms4.3%
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%
write_perfsapps/projects/profiles.py:4602 ms1.4%
Model.__init__django/db/models/base.py:5662 ms1.4%
ForwardManyToOneDescriptor.__set__django/db/models/fields/related_descriptors.py:3412 ms1.4%
FieldCacheMixin.set_cached_valuedjango/db/models/fields/mixins.py:312 ms1.4%
Atomic.__exit__django/db/transaction.py:2472 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.4%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 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%
process_profile_partapps/projects/profiles.py:335 part = ProfilePart.objects.filter(pk=part.pk).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 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:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.4%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.4%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.4%
process_profile_partapps/projects/profiles.py:338 or ProfilePart.objects.filter(profile_id=part.profile_id, index=part.index, id__gt=part.id).exists()2 ms1.4%
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:15772 ms1.4%
Query.setup_joinsdjango/db/models/sql/query.py:19772 ms1.4%
process_profile_partapps/projects/profiles.py:3442 ms1.4%
upsert_testsapps/projects/profiles.py:4512 ms1.4%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms1.4%
QuerySet._batched_insertdjango/db/models/query.py:19562 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%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)7 ms5.8%
finalize_profileapps/projects/profiles.py:479 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 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:1282 ms1.4%
Model.from_dbdjango/db/models/base.py:6052 ms1.4%
Model.__init__django/db/models/base.py:5132 ms1.4%
finalize_profileapps/projects/profiles.py:483 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:1282 ms1.4%
Model.from_dbdjango/db/models/base.py:6052 ms1.4%
finalize_profileapps/projects/profiles.py:492 for duplicate in duplicates:2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ValuesIterable.__iter__django/db/models/query.py:2222 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%
finalize_profileapps/projects/profiles.py:495 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 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%
store_profileapps/projects/testing.py:370 data = json.dumps(document).encode()2 ms1.4%
dumps<stdlib>/json/__init__.py:2342 ms1.4%
JSONEncoder.encode<stdlib>/json/encoder.py:2022 ms1.4%
JSONEncoder.iterencode<stdlib>/json/encoder.py:2632 ms1.4%
store_profileapps/projects/testing.py:3712 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.createdjango/db/models/query.py:6692 ms1.4%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 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:11562 ms1.4%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))2 ms1.4%
compressapps/projects/profiles.py:108 return gzip.compress(data, compresslevel=6)2 ms1.4%
compress<stdlib>/gzip.py:6682 ms1.4%
StorageTest.setUpTestDataapps/projects/tests.py:1166 cls.project = baker.make(Project)3 ms2.9%
makemodel_bakery/baker.py:1473 ms2.9%
Baker.makemodel_bakery/baker.py:4063 ms2.9%
Baker._makemodel_bakery/baker.py:4712 ms1.4%
Baker.generate_valuemodel_bakery/baker.py:8002 ms1.4%
gen_relatedmodel_bakery/random_gen.py:2742 ms1.4%
makemodel_bakery/baker.py:1472 ms1.4%
Baker.makemodel_bakery/baker.py:4062 ms1.4%
Baker._makemodel_bakery/baker.py:4822 ms1.4%
Baker.instancemodel_bakery/baker.py:5352 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%
Baker._makemodel_bakery/baker.py:4822 ms1.4%
Baker.instancemodel_bakery/baker.py:5352 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%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()14 ms11.6%
TestCase._enter_atomicsdjango/test/testcases.py:139614 ms11.6%
Atomic.__enter__django/db/transaction.py:19814 ms11.6%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45414 ms11.6%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30314 ms11.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2614 ms11.6%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27914 ms11.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2614 ms11.6%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25614 ms11.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2614 ms11.6%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33314 ms11.6%
Connection.connectpsycopg/connection.py:10914 ms11.6%
wait_connpsycopg/waiting.py:1457 ms5.8%
BaseConnection._connect_genpsycopg/_connection_base.py:4397 ms5.8%
wait_connpsycopg/waiting.py:1415 ms4.3%
EpollSelector.select<stdlib>/selectors.py:4525 ms4.3%
wait_connpsycopg/waiting.py:1362 ms1.4%
BaseConnection._connect_genpsycopg/_connection_base.py:4392 ms1.4%
call36 ms30.5%
StorageTest.test_an_older_upload_keeps_the_newer_snapshotapps/projects/tests.py:1225 store_profile(28 ms23.2%
store_profileapps/projects/testing.py:37314 ms11.6%
process_profile_partapps/projects/profiles.py:342 profile = claim_part(part, document)5 ms4.4%
claim_partapps/projects/profiles.py:359 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)2 ms1.5%
QuerySet.updatedjango/db/models/query.py:13002 ms1.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
claim_partapps/projects/profiles.py:3782 ms1.5%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(2 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms1.5%
QuerySet.getdjango/db/models/query.py:6352 ms1.5%
QuerySet.__len__django/db/models/query.py:3722 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.5%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.5%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.5%
claim_partapps/projects/profiles.py:4462 ms1.5%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.5%
Model.savedjango/db/models/base.py:8742 ms1.5%
Model.save_basedjango/db/models/base.py:9662 ms1.5%
Model._save_tabledjango/db/models/base.py:10912 ms1.5%
process_profile_partapps/projects/profiles.py:335 part = ProfilePart.objects.filter(pk=part.pk).first()2 ms1.5%
QuerySet.firstdjango/db/models/query.py:11452 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
process_profile_partapps/projects/profiles.py:338 or ProfilePart.objects.filter(profile_id=part.profile_id, index=part.index, id__gt=part.id).exists()2 ms1.5%
QuerySet.existsdjango/db/models/query.py:13372 ms1.5%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.5%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
process_profile_partapps/projects/profiles.py:3442 ms1.5%
upsert_testsapps/projects/profiles.py:4512 ms1.5%
TestManager.upsertapps/projects/models.py:2292 ms1.5%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.5%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
process_profile_partapps/projects/profiles.py:345 write_perfs(profile, part, entries, tests)2 ms1.5%
Atomic.__enter__django/db/transaction.py:2112 ms1.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.5%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.5%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
process_profile_partapps/projects/profiles.py:3462 ms1.5%
write_snapshotsapps/projects/profiles.py:3122 ms1.5%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:3102 ms1.5%
write_snapshots.<locals>.rowapps/projects/profiles.py:306 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),2 ms1.5%
dumps<stdlib>/json/__init__.py:2412 ms1.5%
JSONEncoder.encode<stdlib>/json/encoder.py:2022 ms1.5%
JSONEncoder.iterencode<stdlib>/json/encoder.py:2632 ms1.5%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)9 ms7.3%
finalize_profileapps/projects/profiles.py:483 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.5%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.5%
finalize_profileapps/projects/profiles.py:488 ProfilePart.objects.filter(profile=profile).exclude(pk__in=[part.pk for part in current]).delete()2 ms1.5%
QuerySet.deletedjango/db/models/query.py:12382 ms1.5%
Collector.deletedjango/db/models/deletion.py:4712 ms1.5%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.5%
SQLDeleteCompiler.as_sqldjango/db/models/sql/compiler.py:20062 ms1.5%
SQLDeleteCompiler._as_sqldjango/db/models/sql/compiler.py:19922 ms1.5%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.5%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.5%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.5%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.5%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.5%
In.as_sqldjango/db/models/lookups.py:5562 ms1.5%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2382 ms1.5%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms1.5%
Lookup.process_lhsdjango/db/models/lookups.py:1092 ms1.5%
finalize_profileapps/projects/profiles.py:490 rows.filter(part__gte=profile.parts).delete()2 ms1.5%
QuerySet.deletedjango/db/models/query.py:12382 ms1.5%
Collector.deletedjango/db/models/deletion.py:4712 ms1.5%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
finalize_profileapps/projects/profiles.py:492 for duplicate in duplicates:2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.5%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
finalize_profileapps/projects/profiles.py:5042 ms1.5%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.5%
Model.savedjango/db/models/base.py:8742 ms1.5%
Model.save_basedjango/db/models/base.py:9662 ms1.5%
Model._save_tabledjango/db/models/base.py:11102 ms1.5%
Model._do_updatedjango/db/models/base.py:12112 ms1.5%
QuerySet._updatedjango/db/models/query.py:13272 ms1.5%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.5%
store_profileapps/projects/testing.py:3712 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.createdjango/db/models/query.py:6692 ms1.5%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.5%
Model.savedjango/db/models/base.py:8742 ms1.5%
Model.save_basedjango/db/models/base.py:9662 ms1.5%
Model._save_tabledjango/db/models/base.py:11672 ms1.5%
Model._do_insertdjango/db/models/base.py:12182 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet._insertdjango/db/models/query.py:19182 ms1.5%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))2 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.createdjango/db/models/query.py:6692 ms1.5%
Model.savedjango/db/models/base.py:8742 ms1.5%
Model.save_basedjango/db/models/base.py:9662 ms1.5%
Model._save_tabledjango/db/models/base.py:11672 ms1.5%
Model._do_insertdjango/db/models/base.py:12182 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet._insertdjango/db/models/query.py:19182 ms1.5%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()2 ms1.5%
Model.refresh_from_dbdjango/db/models/base.py:7582 ms1.5%
QuerySet.getdjango/db/models/query.py:6352 ms1.5%
QuerySet.__len__django/db/models/query.py:3722 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.5%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.5%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.5%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5742 ms1.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()5 ms4.4%
TestCase._fixture_teardowndjango/test/testcases.py:14953 ms2.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4833 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms2.9%
Cursor.executepsycopg/cursor.py:1133 ms2.9%
Connection.waitpsycopg/connection.py:4953 ms2.9%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms1.5%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms1.5%
Atomic.__exit__django/db/transaction.py:2862 ms1.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.5%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.5%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.5%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()2 ms1.5%
TestCase._fixture_setupdjango/test/testcases.py:14782 ms1.5%
StorageTest.test_an_older_upload_keeps_the_newer_snapshotapps/projects/tests.py:12312 ms1.5%
TestData.__get__django/test/testcases.py:13672 ms1.5%
deepcopy<stdlib>/copy.py:1572 ms1.5%
_reconstruct<stdlib>/copy.py:2492 ms1.5%
Estimated from 69 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save · Database
14 ms
apps/projects/profiles.py:345
write_perfs(profile, part, entries, tests)
process_profile_part · Database
7 ms
apps/projects/profiles.py:335
part = ProfilePart.objects.filter(pk=part.pk).first()
process_profile_part · Database
5 ms
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment · Database
5 ms
apps/projects/profiles.py:483
for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):
finalize_profile · Database
5 ms
apps/projects/profiles.py:492
for duplicate in duplicates:
finalize_profile · Database
5 ms
apps/projects/profiles.py:359
ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)
claim_part · Database
3 ms
apps/projects/models.py:240
existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))
TestManager.slugs_for · Database
3 ms
apps/projects/profiles.py:338
or ProfilePart.objects.filter(profile_id=part.profile_id, index=part.index, id__gt=part.id).exists()
process_profile_part · Database
3 ms
apps/projects/tests.py:1166
cls.project = baker.make(Project)
StorageTest.setUpTestData · Database
3 ms

Fixtures

Exact setup time
_unittest_setUpClass_fixture_StorageTest class 82 ms
_django_setup_unittest class 0.31 ms
_live_server_helper function 0.08 ms
_django_set_urlconf function 0.05 ms
_dj_autoclear_mailbox function 0.05 ms
_template_string_if_invalid_marker function 0.05 ms
_django_db_marker function 0.05 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.02 ms

Database

128 queries · 56 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
81 ms
call test body
apps/projects/tests.py:1225
29 ms
call _post_teardown
django/test/testcases.py:1240
5 ms
call _pre_setup
django/test/testcases.py:1164
2 ms

Reliability

5 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 5 results, oldest first in the strip
When Environment Outcome Duration Commit
16 minutes ago CI github-actions:test passed 120 ms 9caa567 main Profile
41 minutes ago CI github-actions:test passed 119 ms ec75501 main Profile
7 hours ago CI github-actions:test passed 139 ms d2c12e5 main Profile
7 hours ago CI github-actions:test passed 100 ms 0b902f6 main Profile
7 hours ago CI github-actions:test passed 130 ms 78a4357 main Profile