Tests / apps/projects/tests.py
FlakyReportCacheTest::test_cached_until_new_results_arrive
First seen 7 hours ago in 78a4357
CI
github-actions:test
5 runs
Average
107 ms
median 107 ms
max 132 ms
max 132 ms
Phases
Setup 51 ms
Call 55 ms
Teardown 0.95 ms
Categories
Database 94 ms
App code 4 ms
Other (Libraries, Imports, pytest, Serialization, ...) 10 ms
106 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, 15 minutes ago ·
open run
setup50 ms46.6%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()35 ms33.0%
FlakyReportCacheTest.setUpTestDataapps/projects/tests.py:129932 ms29.6%
store_profileapps/projects/testing.py:37316 ms14.8%
process_profile_partapps/projects/profiles.py:342 profile = claim_part(part, document)10 ms9.1%
claim_partapps/projects/profiles.py:3784 ms3.4%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(4 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.4%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms2.3%
QuerySet.getdjango/db/models/query.py:6251 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:15771 ms1.1%
Query.setup_joinsdjango/db/models/sql/query.py:19271 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
QuerySet.get_or_createdjango/db/models/query.py:9941 ms1.1%
QuerySet.createdjango/db/models/query.py:6691 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
claim_partapps/projects/profiles.py:358 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)1 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
claim_partapps/projects/profiles.py:359 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)1 ms1.1%
QuerySet.updatedjango/db/models/query.py:13001 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
claim_partapps/projects/profiles.py:360 ProfilePart.objects.filter(profile=profile, index=part.index, id__lt=part.id).delete() # superseded uploads1 ms1.1%
QuerySet.deletedjango/db/models/query.py:12381 ms1.1%
Collector.deletedjango/db/models/deletion.py:4581 ms1.1%
claim_partapps/projects/profiles.py:383 commit, _ = Commit.objects.get_or_create(1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
claim_partapps/projects/profiles.py:4461 ms1.1%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11101 ms1.1%
Model._do_updatedjango/db/models/base.py:12111 ms1.1%
QuerySet._updatedjango/db/models/query.py:13271 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
process_profile_partapps/projects/profiles.py:335 part = ProfilePart.objects.filter(pk=part.pk).first()2 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:16131 ms1.1%
Query.build_lookupdjango/db/models/sql/query.py:14401 ms1.1%
QuerySet.firstdjango/db/models/query.py:11451 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
process_profile_partapps/projects/profiles.py:345 write_perfs(profile, part, entries, tests)2 ms2.3%
write_perfsapps/projects/profiles.py:457 TestPerf.objects.filter(profile=profile, part=part.index).delete()1 ms1.1%
QuerySet.deletedjango/db/models/query.py:12381 ms1.1%
Collector.deletedjango/db/models/deletion.py:4711 ms1.1%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
write_perfsapps/projects/profiles.py:458 TestPerf.objects.bulk_create(1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.1%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
process_profile_partapps/projects/profiles.py:3441 ms1.1%
upsert_testsapps/projects/profiles.py:4511 ms1.1%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.1%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)11 ms10.2%
finalize_profileapps/projects/profiles.py:4964 ms3.4%
add_perfsapps/projects/rollups.py:30 for perf in perfs:1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.1%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
finalize_profileapps/projects/profiles.py:483 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):2 ms2.3%
QuerySet.order_bydjango/db/models/query.py:17711 ms1.1%
Query.clear_orderingdjango/db/models/sql/query.py:23481 ms1.1%
QuerySet.excludedjango/db/models/query.py:15501 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15681 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:16991 ms1.1%
__init____init__:-11 ms1.1%
JoinPromoter.__init__django/db/models/sql/query.py:27651 ms1.1%
finalize_profileapps/projects/profiles.py:490 rows.filter(part__gte=profile.parts).delete()1 ms1.1%
QuerySet.deletedjango/db/models/query.py:12381 ms1.1%
Collector.deletedjango/db/models/deletion.py:4711 ms1.1%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
finalize_profileapps/projects/profiles.py:492 for duplicate in duplicates:1 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ValuesIterable.__iter__django/db/models/query.py:2221 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
finalize_profileapps/projects/profiles.py:495 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms1.1%
QuerySet.firstdjango/db/models/query.py:11451 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
finalize_profileapps/projects/profiles.py:5041 ms1.1%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11101 ms1.1%
Model._do_updatedjango/db/models/base.py:12111 ms1.1%
QuerySet._updatedjango/db/models/query.py:13271 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
store_profileapps/projects/testing.py:3714 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.4%
QuerySet.createdjango/db/models/query.py:6694 ms3.4%
Profile.saveapps/projects/models.py:465 self.number = next_number(type(self), self.project_id)2 ms2.3%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 12 ms2.3%
QuerySet.aggregatedjango/db/models/query.py:5942 ms2.3%
Query.get_aggregationdjango/db/models/sql/query.py:4861 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.createdjango/db/models/query.py:6691 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11621 ms1.1%
FlakyReportCacheTest.setUpTestDataapps/projects/tests.py:1298 cls.project = baker.make(Project)4 ms3.4%
makemodel_bakery/baker.py:1474 ms3.4%
Baker.makemodel_bakery/baker.py:4064 ms3.4%
Baker._makemodel_bakery/baker.py:4712 ms2.3%
Baker.generate_valuemodel_bakery/baker.py:8002 ms2.3%
gen_relatedmodel_bakery/random_gen.py:2742 ms2.3%
makemodel_bakery/baker.py:1472 ms2.3%
Baker.makemodel_bakery/baker.py:4062 ms2.3%
Baker._makemodel_bakery/baker.py:4822 ms2.3%
Baker.instancemodel_bakery/baker.py:5352 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11581 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
Baker._makemodel_bakery/baker.py:4821 ms1.1%
Baker.instancemodel_bakery/baker.py:5351 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()10 ms9.1%
TestCase._enter_atomicsdjango/test/testcases.py:139610 ms9.1%
Atomic.__enter__django/db/transaction.py:19810 ms9.1%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45410 ms9.1%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30310 ms9.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms9.1%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27910 ms9.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms9.1%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2568 ms8.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:268 ms8.0%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3338 ms8.0%
Connection.connectpsycopg/connection.py:1098 ms8.0%
wait_connpsycopg/waiting.py:1415 ms4.5%
EpollSelector.select<stdlib>/selectors.py:4525 ms4.5%
wait_connpsycopg/waiting.py:1454 ms3.4%
BaseConnection._connect_genpsycopg/_connection_base.py:4394 ms3.4%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2581 ms1.1%
DatabaseWrapper.init_connection_statedjango/db/backends/postgresql/base.py:4021 ms1.1%
DatabaseWrapper._configure_connectiondjango/db/backends/postgresql/base.py:3741 ms1.1%
DatabaseWrapper._configure_timezonedjango/db/backends/postgresql/base.py:3571 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
__init____init__:-12 ms2.3%
signature<stdlib>/inspect.py:33402 ms2.3%
Signature.from_callable<stdlib>/inspect.py:30552 ms2.3%
_signature_from_callable<stdlib>/inspect.py:25252 ms2.3%
_signature_from_function<stdlib>/inspect.py:23482 ms2.3%
TestCase.setUpClassdjango/test/testcases.py:14171 ms1.1%
TransactionTestCase.setUpClassdjango/test/testcases.py:11301 ms1.1%
SimpleTestCase.setUpClassdjango/test/testcases.py:2221 ms1.1%
TestContextDecorator.__enter__django/test/utils.py:4201 ms1.1%
override_settings.enabledjango/test/utils.py:5001 ms1.1%
Signal.senddjango/dispatch/dispatcher.py:2091 ms1.1%
call56 ms52.4%
FlakyReportCacheTest.test_cached_until_new_results_arriveapps/projects/tests.py:131327 ms25.3%
store_profileapps/projects/testing.py:37317 ms16.3%
process_profile_partapps/projects/profiles.py:342 profile = claim_part(part, document)10 ms9.0%
Atomic.__enter__django/db/transaction.py:2112 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.8%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
claim_partapps/projects/profiles.py:359 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)2 ms1.8%
QuerySet.updatedjango/db/models/query.py:13002 ms1.8%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
claim_partapps/projects/profiles.py:360 ProfilePart.objects.filter(profile=profile, index=part.index, id__lt=part.id).delete() # superseded uploads2 ms1.8%
QuerySet.deletedjango/db/models/query.py:12382 ms1.8%
Collector.deletedjango/db/models/deletion.py:4712 ms1.8%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.8%
claim_partapps/projects/profiles.py:3782 ms1.8%
get_or_create_environmentapps/projects/environments.py:79 obj.save(update_fields=update_fields)2 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:10632 ms1.8%
claim_partapps/projects/profiles.py:4462 ms1.8%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:11102 ms1.8%
Model._do_updatedjango/db/models/base.py:12112 ms1.8%
QuerySet._updatedjango/db/models/query.py:13272 ms1.8%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.8%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.8%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.8%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.8%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms1.8%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms1.8%
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.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.filterdjango/db/models/query.py:15422 ms1.8%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.8%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.8%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.8%
Query.build_filterdjango/db/models/sql/query.py:15772 ms1.8%
Query.setup_joinsdjango/db/models/sql/query.py:19272 ms1.8%
process_profile_partapps/projects/profiles.py:3442 ms1.8%
upsert_testsapps/projects/profiles.py:4512 ms1.8%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order2 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms1.8%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms1.8%
QuerySet._insertdjango/db/models/query.py:19182 ms1.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
process_profile_partapps/projects/profiles.py:345 write_perfs(profile, part, entries, tests)2 ms1.8%
Atomic.__enter__django/db/transaction.py:2112 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.8%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.8%
process_profile_partapps/projects/profiles.py:3462 ms1.8%
write_snapshotsapps/projects/profiles.py:313 cursor.executemany(SNAPSHOT_UPSERT, batch)2 ms1.8%
CursorWrapper.executemanydjango/db/backends/utils.py:842 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executemanydjango/db/backends/utils.py:1142 ms1.8%
Cursor.executemanypsycopg/cursor.py:1372 ms1.8%
Connection._pipeline_nolockpsycopg/connection.py:4722 ms1.8%
Pipeline.__exit__psycopg/_pipeline.py:732 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)6 ms5.4%
finalize_profileapps/projects/profiles.py:479 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 ms1.8%
QuerySet.getdjango/db/models/query.py:6352 ms1.8%
QuerySet.__len__django/db/models/query.py:3722 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.8%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.8%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.8%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.8%
finalize_profileapps/projects/profiles.py:490 rows.filter(part__gte=profile.parts).delete()2 ms1.8%
QuerySet.deletedjango/db/models/query.py:12382 ms1.8%
Collector.deletedjango/db/models/deletion.py:4712 ms1.8%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
finalize_profileapps/projects/profiles.py:492 for duplicate in duplicates:2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
store_profileapps/projects/testing.py:3712 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.createdjango/db/models/query.py:6692 ms1.8%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:10572 ms1.8%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))2 ms1.8%
compressapps/projects/profiles.py:108 return gzip.compress(data, compresslevel=6)2 ms1.8%
compress<stdlib>/gzip.py:6682 ms1.8%
FlakyReportCacheTest.test_cached_until_new_results_arriveapps/projects/tests.py:1308 first = flaky_report(self.project, 3650)13 ms12.7%
flaky_reportapps/projects/flakiness.py:2536 ms5.4%
compute_flaky_reportapps/projects/flakiness.py:2684 ms3.6%
failing_test_idsapps/projects/flakiness.py:202 ids = set(2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
failing_test_idsapps/projects/flakiness.py:212 ids |= set(2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
compute_flaky_reportapps/projects/flakiness.py:2722 ms1.8%
observations_forapps/projects/flakiness.py:189 for row in Profile.objects.filter(id__in={row[3] for row in perfs}).values_list(2 ms1.8%
QuerySet.values_listdjango/db/models/query.py:14582 ms1.8%
QuerySet._valuesdjango/db/models/query.py:14092 ms1.8%
Query.set_valuesdjango/db/models/sql/query.py:25482 ms1.8%
Query.check_aliasdjango/db/models/sql/query.py:12292 ms1.8%
flaky_reportapps/projects/flakiness.py:2504 ms3.6%
data_versionapps/projects/flakiness.py:228 ingest = Ingest.objects.filter(project=project).aggregate(latest=Max("id"))["latest"]2 ms1.8%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.8%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
data_versionapps/projects/flakiness.py:229 profile = Profile.objects.filter(project=project).aggregate(latest=Max("date_processed"))["latest"]2 ms1.8%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.8%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
flaky_reportapps/projects/flakiness.py:251 report = cache.get(key)4 ms3.6%
ConnectionProxy.__getattr__django/utils/connection.py:154 ms3.6%
BaseConnectionHandler.__getitem__django/utils/connection.py:624 ms3.6%
CachePanel.ready.<locals>.wrapperdebug_toolbar/panels/cache.py:954 ms3.6%
CacheHandler.create_connectiondjango/core/cache/__init__.py:484 ms3.6%
import_stringdjango/utils/module_loading.py:304 ms3.6%
cached_importdjango/utils/module_loading.py:154 ms3.6%
import_module<stdlib>/importlib/__init__.py:884 ms3.6%
_gcd_import<frozen importlib._bootstrap>:13904 ms3.6%
_find_and_load<frozen importlib._bootstrap>:13504 ms3.6%
_find_and_load_unlocked<frozen importlib._bootstrap>:13094 ms3.6%
_load_unlocked<frozen importlib._bootstrap>:9154 ms3.6%
_LoaderBasics.exec_module<frozen importlib._bootstrap_external>:7432 ms1.8%
SourceLoader.get_code<frozen importlib._bootstrap_external>:8772 ms1.8%
SourceLoader.source_to_code<frozen importlib._bootstrap_external>:8062 ms1.8%
_call_with_frames_removed<frozen importlib._bootstrap>:5492 ms1.8%
_LoaderBasics.exec_module<frozen importlib._bootstrap_external>:7472 ms1.8%
_call_with_frames_removed<frozen importlib._bootstrap>:5492 ms1.8%
<module>django/core/cache/backends/locmem.py2 ms1.8%
SysMonitor.sysmon_py_startcoverage/sysmon.py:3512 ms1.8%
Coverage._should_tracecoverage/control.py:4532 ms1.8%
InOrOut.should_tracecoverage/inorout.py:3642 ms1.8%
canonical_filenamecoverage/files.py:852 ms1.8%
abs_filecoverage/files.py:1582 ms1.8%
realpath<frozen posixpath>:4602 ms1.8%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()6 ms5.4%
TestCase._fixture_teardowndjango/test/testcases.py:14954 ms3.6%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4834 ms3.6%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.6%
CursorWrapper._executedjango/db/backends/utils.py:1034 ms3.6%
Cursor.executepsycopg/cursor.py:1134 ms3.6%
Connection.waitpsycopg/connection.py:4954 ms3.6%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms1.8%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms1.8%
Atomic.__exit__django/db/transaction.py:2832 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4132 ms1.8%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3712 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
FlakyReportCacheTest.test_cached_until_new_results_arriveapps/projects/tests.py:13216 ms5.4%
flaky_reportapps/projects/flakiness.py:2536 ms5.4%
compute_flaky_reportapps/projects/flakiness.py:2724 ms3.6%
observations_forapps/projects/flakiness.py:169 for row in Session.objects.filter(id__in={row[4] for row in test_runs}).values_list(2 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.filterdjango/db/models/query.py:15422 ms1.8%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.8%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.8%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.8%
Query.build_filterdjango/db/models/sql/query.py:15602 ms1.8%
Query.resolve_lookup_valuedjango/db/models/sql/query.py:13422 ms1.8%
observations_forapps/projects/flakiness.py:186 perfs = list(perfs)2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms1.8%
compute_flaky_reportapps/projects/flakiness.py:2682 ms1.8%
failing_test_idsapps/projects/flakiness.py:2132 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.filterdjango/db/models/query.py:15422 ms1.8%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.8%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.8%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.8%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.8%
Query.build_lookupdjango/db/models/sql/query.py:14302 ms1.8%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()2 ms1.8%
TestCase._fixture_setupdjango/test/testcases.py:14782 ms1.8%
TestCase._enter_atomicsdjango/test/testcases.py:13962 ms1.8%
Atomic.__enter__django/db/transaction.py:2112 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.8%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
FlakyReportCacheTest.test_cached_until_new_results_arriveapps/projects/tests.py:13112 ms1.8%
flaky_reportapps/projects/flakiness.py:2502 ms1.8%
data_versionapps/projects/flakiness.py:229 profile = Profile.objects.filter(project=project).aggregate(latest=Max("date_processed"))["latest"]2 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.filterdjango/db/models/query.py:15422 ms1.8%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.8%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.8%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.8%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.8%
Query.build_lookupdjango/db/models/sql/query.py:14402 ms1.8%
Lookup.__init__django/db/models/lookups.py:352 ms1.8%
teardown1 ms0.9%
TestCase.tearDownClassdjango/test/testcases.py:1453 cls._rollback_atomics(cls.cls_atomics)1 ms0.9%
TestCase._rollback_atomicsdjango/test/testcases.py:14051 ms0.9%
Atomic.__exit__django/db/transaction.py:2951 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.9%
BaseDatabaseWrapper.rollbackdjango/db/backends/base/base.py:3371 ms0.9%
BaseDatabaseWrapper._rollbackdjango/db/backends/base/base.py:3081 ms0.9%
Connection.rollbackpsycopg/connection.py:3141 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
BaseConnection._rollback_genpsycopg/_connection_base.py:6171 ms0.9%
BaseConnection._exec_commandpsycopg/_connection_base.py:4741 ms0.9%
Estimated from 71 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
|
7 ms |
|
apps/projects/flakiness.py:229
profile = Profile.objects.filter(project=project).aggregate(latest=Max("date_processed"))["latest"]
data_version
· Database
|
4 ms |
|
apps/projects/flakiness.py:251
report = cache.get(key)
flaky_report
· Imports
|
4 ms |
|
apps/projects/tests.py:1298
cls.project = baker.make(Project)
FlakyReportCacheTest.setUpTestData
· Database
|
4 ms |
|
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment
· Database
|
4 ms |
|
apps/projects/profiles.py:359
ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)
claim_part
· Database
|
3 ms |
|
apps/projects/profiles.py:360
ProfilePart.objects.filter(profile=profile, index=part.index, id__lt=part.id).delete() # superseded uploads
claim_part
· Database
|
3 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/profiles.py:490
rows.filter(part__gte=profile.parts).delete()
finalize_profile
· Database
|
3 ms |
|
apps/projects/profiles.py:492
for duplicate in duplicates:
finalize_profile
· Database
|
3 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_FlakyReportCacheTest class | 48 ms |
| _django_setup_unittest class | 0.55 ms |
| _template_string_if_invalid_marker function | 0.07 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _live_server_helper function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
106 queries · 47 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
6×
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…
4×
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"."…
4×
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…
3×
SELECT MAX("api_ingest"."id") AS "latest" FROM "api_ingest" WHERE "api_ingest"."project_id" = %s
3×
SELECT MAX("projects_profile"."date_processed") AS "latest" FROM "projects_profile" WHERE "projects_profile"."project_id" = %s
Biggest pieces of work
|
call test body
apps/projects/tests.py:1308
|
48 ms |
|
setup setUpClass
django/test/testcases.py:1423
|
46 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
6 ms |
|
setup __init__
__init__:-1
|
2 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
2 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 15 minutes ago | CI github-actions:test | passed | 107 ms | Profile |
| 40 minutes ago | CI github-actions:test | passed | 106 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 132 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 71 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 122 ms | Profile |