Tests / apps/projects/tests.py
AnalyticsTest::test_category_breakdown
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
178 ms
median 193 ms
max 220 ms
max 220 ms
Phases
Setup 169 ms
Call 9 ms
Teardown 0.18 ms
Categories
Database 166 ms
App code 4 ms
Test code 0.31 ms
Factories 0.24 ms
Other (Libraries, Serialization, pytest, Unsampled) 7 ms
205 database queries per run
Needs 88 KB of memory (max 196 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup166 ms95.2%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()153 ms88.1%
AnalyticsTest.setUpTestDataapps/projects/tests.py:718149 ms85.4%
perf_scenarioapps/projects/tests.py:68393 ms53.4%
store_profileapps/projects/testing.py:37356 ms32.0%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)26 ms15.1%
claim_partapps/projects/profiles.py:4676 ms3.6%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)6 ms3.6%
Model.savedjango/db/models/base.py:8746 ms3.6%
Model.save_basedjango/db/models/base.py:9666 ms3.6%
Model._save_tabledjango/db/models/base.py:11105 ms2.7%
Model._do_updatedjango/db/models/base.py:12115 ms2.7%
QuerySet._updatedjango/db/models/query.py:13275 ms2.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21405 ms2.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21115 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.8%
Cursor.executepsycopg/cursor.py:1133 ms1.8%
Connection.waitpsycopg/connection.py:4953 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLUpdateCompiler.as_sqldjango/db/models/sql/compiler.py:20652 ms0.9%
Model._save_tabledjango/db/models/base.py:10572 ms0.9%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)5 ms2.7%
QuerySet.updatedjango/db/models/query.py:13005 ms2.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21115 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16245 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:795 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms2.7%
Cursor.executepsycopg/cursor.py:1135 ms2.7%
Connection.waitpsycopg/connection.py:4955 ms2.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2112 ms0.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms0.9%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)5 ms2.7%
QuerySet.getdjango/db/models/query.py:6355 ms2.7%
QuerySet.__len__django/db/models/query.py:3725 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms2.7%
ModelIterable.__iter__django/db/models/query.py:955 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16245 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:795 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms2.7%
Cursor.executepsycopg/cursor.py:1135 ms2.7%
Connection.waitpsycopg/connection.py:4955 ms2.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms0.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms0.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms0.9%
claim_partapps/projects/profiles.py:3995 ms2.7%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(5 ms2.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms2.7%
QuerySet.get_or_createdjango/db/models/query.py:9873 ms1.8%
QuerySet.getdjango/db/models/query.py:6353 ms1.8%
QuerySet.__len__django/db/models/query.py:3723 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms1.8%
ModelIterable.__iter__django/db/models/query.py:953 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
QuerySet.get_or_createdjango/db/models/query.py:9922 ms0.9%
Atomic.__enter__django/db/transaction.py:2112 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms0.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms0.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
claim_partapps/projects/profiles.py:397 project = profile.project3 ms1.8%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2573 ms1.8%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2223 ms1.8%
QuerySet.getdjango/db/models/query.py:6252 ms0.9%
QuerySet.getdjango/db/models/query.py:6352 ms0.9%
QuerySet.__len__django/db/models/query.py:3722 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms0.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms0.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms0.9%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(3 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms1.8%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms0.9%
QuerySet.getdjango/db/models/query.py:6252 ms0.9%
QuerySet.filterdjango/db/models/query.py:15422 ms0.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms0.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.9%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.9%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.9%
Query.build_filterdjango/db/models/sql/query.py:16072 ms0.9%
Query._get_coldjango/db/models/sql/query.py:4512 ms0.9%
QuerySet.get_or_createdjango/db/models/query.py:9922 ms0.9%
Atomic.__enter__django/db/transaction.py:2112 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms0.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms0.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
process_profile_partapps/projects/profiles.py:3659 ms5.3%
upsert_testsapps/projects/profiles.py:4729 ms5.3%
TestManager.upsertapps/projects/models.py:2293 ms1.8%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))2 ms0.9%
QuerySet.__iter__django/db/models/query.py:3902 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order3 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms1.8%
QuerySet.bulk_createdjango/db/models/query.py:8333 ms1.8%
QuerySet._batched_insertdjango/db/models/query.py:19563 ms1.8%
QuerySet._insertdjango/db/models/query.py:19183 ms1.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19242 ms0.9%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18692 ms0.9%
SQLInsertCompiler.assemble_as_sqldjango/db/backends/postgresql/compiler.py:652 ms0.9%
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}3 ms1.8%
QuerySet.__iter__django/db/models/query.py:3903 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms1.8%
ModelIterable.__iter__django/db/models/query.py:953 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.8%
Cursor.executepsycopg/cursor.py:1133 ms1.8%
Connection.waitpsycopg/connection.py:4953 ms1.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms0.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms0.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms0.9%
process_profile_partapps/projects/profiles.py:3666 ms3.6%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(5 ms2.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms2.7%
QuerySet.bulk_createdjango/db/models/query.py:8335 ms2.7%
QuerySet._batched_insertdjango/db/models/query.py:19565 ms2.7%
QuerySet._insertdjango/db/models/query.py:19185 ms2.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19255 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:795 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms2.7%
Cursor.executepsycopg/cursor.py:1135 ms2.7%
Connection.waitpsycopg/connection.py:4955 ms2.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms0.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms0.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms0.9%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()2 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.filterdjango/db/models/query.py:15422 ms0.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms0.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.9%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.9%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.9%
Query.build_filterdjango/db/models/sql/query.py:15772 ms0.9%
Query.setup_joinsdjango/db/models/sql/query.py:19442 ms0.9%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()5 ms2.7%
QuerySet.firstdjango/db/models/query.py:11455 ms2.7%
QuerySet.__iter__django/db/models/query.py:3905 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms2.7%
ModelIterable.__iter__django/db/models/query.py:955 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16245 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:795 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms2.7%
Cursor.executepsycopg/cursor.py:1135 ms2.7%
Connection.waitpsycopg/connection.py:4955 ms2.7%
process_profile_partapps/projects/profiles.py:359 or ProfilePart.objects.filter(profile_id=part.profile_id, index=part.index, id__gt=part.id).exists()5 ms2.7%
QuerySet.existsdjango/db/models/query.py:13375 ms2.7%
Query.has_resultsdjango/db/models/sql/query.py:6815 ms2.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15925 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16245 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:795 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms2.7%
Cursor.executepsycopg/cursor.py:1135 ms2.7%
Connection.waitpsycopg/connection.py:4955 ms2.7%
process_profile_partapps/projects/profiles.py:3673 ms1.8%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)2 ms0.9%
CursorWrapper.executemanydjango/db/backends/utils.py:842 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executemanydjango/db/backends/utils.py:1142 ms0.9%
Cursor.executemanypsycopg/cursor.py:1382 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
BaseCursor._executemany_gen_pipelinepsycopg/_cursor_base.py:2322 ms0.9%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms0.9%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms0.9%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms0.9%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms0.9%
write_snapshotsapps/projects/profiles.py:3332 ms0.9%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:3312 ms0.9%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),2 ms0.9%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)2 ms0.9%
compress<stdlib>/gzip.py:6682 ms0.9%
process_profile_partapps/projects/profiles.py:368 ProfilePart.objects.filter(pk=part.pk).update(2 ms0.9%
QuerySet.updatedjango/db/models/query.py:13002 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)26 ms15.1%
finalize_profileapps/projects/profiles.py:5178 ms4.5%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(6 ms3.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:876 ms3.6%
QuerySet.bulk_createdjango/db/models/query.py:8336 ms3.6%
QuerySet._batched_insertdjango/db/models/query.py:19566 ms3.6%
QuerySet._insertdjango/db/models/query.py:19186 ms3.6%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19256 ms3.6%
CursorWrapper.executedjango/db/backends/utils.py:796 ms3.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:926 ms3.6%
CursorWrapper._executedjango/db/backends/utils.py:1056 ms3.6%
Cursor.executepsycopg/cursor.py:1136 ms3.6%
Connection.waitpsycopg/connection.py:4956 ms3.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2053 ms1.8%
BaseCursor._convert_querypsycopg/_cursor_base.py:4653 ms1.8%
PostgresClientQuery.convertpsycopg/_queries.py:2893 ms1.8%
PostgresClientQuery.dumppsycopg/_queries.py:2993 ms1.8%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3003 ms1.8%
ListDumper.get_keypsycopg/types/array.py:1232 ms0.9%
BaseListDumper._find_list_elementpsycopg/types/array.py:572 ms0.9%
BaseListDumper._flatiterpsycopg/types/array.py:892 ms0.9%
<GC>~2 ms0.9%
Dumper.quotepsycopg/adapt.py:592 ms0.9%
add_perfsapps/projects/rollups.py:30 for perf in perfs:2 ms0.9%
QuerySet.__iter__django/db/models/query.py:3902 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms0.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms0.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms0.9%
finalize_profileapps/projects/profiles.py:509 ProfilePart.objects.filter(profile=profile).exclude(pk__in=[part.pk for part in current]).delete()5 ms2.7%
QuerySet.deletedjango/db/models/query.py:12383 ms1.8%
Collector.deletedjango/db/models/deletion.py:4713 ms1.8%
QuerySet._raw_deletedjango/db/models/query.py:12603 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
QuerySet.deletedjango/db/models/query.py:12372 ms0.9%
Collector.collectdjango/db/models/deletion.py:2792 ms0.9%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)3 ms1.8%
QuerySet.getdjango/db/models/query.py:6353 ms1.8%
QuerySet.__len__django/db/models/query.py:3723 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms1.8%
ModelIterable.__iter__django/db/models/query.py:953 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms0.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms0.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms0.9%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10302 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):3 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.filterdjango/db/models/query.py:15422 ms0.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms0.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.9%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.9%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.9%
Query.build_filterdjango/db/models/sql/query.py:15772 ms0.9%
Query.setup_joinsdjango/db/models/sql/query.py:19862 ms0.9%
finalize_profileapps/projects/profiles.py:513 for duplicate in duplicates:3 ms1.8%
QuerySet.__iter__django/db/models/query.py:3903 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms1.8%
ValuesIterable.__iter__django/db/models/query.py:2223 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:932 ms0.9%
SQLCompiler.get_group_bydjango/db/models/sql/compiler.py:1762 ms0.9%
SQLCompiler.collapse_group_bydjango/db/models/sql/compiler.py:2272 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()2 ms0.9%
QuerySet.firstdjango/db/models/query.py:11452 ms0.9%
QuerySet.__iter__django/db/models/query.py:3902 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
finalize_profileapps/projects/profiles.py:5252 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms0.9%
Model.savedjango/db/models/base.py:8742 ms0.9%
Model.save_basedjango/db/models/base.py:9662 ms0.9%
Model._save_tabledjango/db/models/base.py:11102 ms0.9%
Model._do_updatedjango/db/models/base.py:12112 ms0.9%
QuerySet._updatedjango/db/models/query.py:13272 ms0.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
finalize_profileapps/projects/profiles.py:5112 ms0.9%
QuerySet.deletedjango/db/models/query.py:12382 ms0.9%
Collector.deletedjango/db/models/deletion.py:4712 ms0.9%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
store_profileapps/projects/testing.py:3715 ms2.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms2.7%
QuerySet.createdjango/db/models/query.py:6695 ms2.7%
Profile.saveapps/projects/models.py:4653 ms1.8%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 13 ms1.8%
QuerySet.aggregatedjango/db/models/query.py:5943 ms1.8%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
Query.get_aggregationdjango/db/models/sql/query.py:6322 ms0.9%
Query.get_compilerdjango/db/models/sql/query.py:3692 ms0.9%
BaseConnectionHandler.__getitem__django/utils/connection.py:582 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms0.9%
Model.savedjango/db/models/base.py:8742 ms0.9%
Model.save_basedjango/db/models/base.py:9662 ms0.9%
Model._save_tabledjango/db/models/base.py:11672 ms0.9%
Model._do_insertdjango/db/models/base.py:12182 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet._insertdjango/db/models/query.py:19182 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()5 ms2.7%
Model.refresh_from_dbdjango/db/models/base.py:7585 ms2.7%
QuerySet.getdjango/db/models/query.py:6355 ms2.7%
QuerySet.__len__django/db/models/query.py:3725 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms2.7%
ModelIterable.__iter__django/db/models/query.py:955 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.8%
Cursor.executepsycopg/cursor.py:1133 ms1.8%
Connection.waitpsycopg/connection.py:4953 ms1.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms0.9%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms0.9%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms0.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms0.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms0.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5742 ms0.9%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))2 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.createdjango/db/models/query.py:6692 ms0.9%
Model.savedjango/db/models/base.py:8742 ms0.9%
Model.save_basedjango/db/models/base.py:9662 ms0.9%
Model._save_tabledjango/db/models/base.py:11672 ms0.9%
Model._do_insertdjango/db/models/base.py:12182 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet._insertdjango/db/models/query.py:19182 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
perf_scenarioapps/projects/tests.py:69856 ms32.0%
store_profileapps/projects/testing.py:37329 ms16.9%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)12 ms7.1%
claim_partapps/projects/profiles.py:3993 ms1.8%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(3 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms1.8%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms0.9%
QuerySet.getdjango/db/models/query.py:6352 ms0.9%
QuerySet.__len__django/db/models/query.py:3722 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms0.9%
QuerySet.createdjango/db/models/query.py:6692 ms0.9%
Model.savedjango/db/models/base.py:8742 ms0.9%
Model.save_basedjango/db/models/base.py:9662 ms0.9%
Model._save_tabledjango/db/models/base.py:11672 ms0.9%
Model._do_insertdjango/db/models/base.py:12182 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet._insertdjango/db/models/query.py:19182 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
claim_partapps/projects/profiles.py:4673 ms1.8%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms1.8%
Model.savedjango/db/models/base.py:8743 ms1.8%
Model.save_basedjango/db/models/base.py:9663 ms1.8%
Model._save_tabledjango/db/models/base.py:11103 ms1.8%
Model._do_updatedjango/db/models/base.py:12113 ms1.8%
QuerySet._updatedjango/db/models/query.py:13273 ms1.8%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21403 ms1.8%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21113 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLUpdateCompiler.as_sqldjango/db/models/sql/compiler.py:20812 ms0.9%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)2 ms0.9%
QuerySet.getdjango/db/models/query.py:6352 ms0.9%
QuerySet.__len__django/db/models/query.py:3722 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms0.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms0.9%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms0.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms0.9%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)2 ms0.9%
QuerySet.updatedjango/db/models/query.py:13002 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
claim_partapps/projects/profiles.py:397 project = profile.project2 ms0.9%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms0.9%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms0.9%
QuerySet.getdjango/db/models/query.py:6352 ms0.9%
QuerySet.__len__django/db/models/query.py:3722 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms0.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms0.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms0.9%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(2 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms0.9%
QuerySet.getdjango/db/models/query.py:6352 ms0.9%
QuerySet.__len__django/db/models/query.py:3722 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
process_profile_partapps/projects/profiles.py:3666 ms3.6%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()3 ms1.8%
QuerySet.deletedjango/db/models/query.py:12382 ms0.9%
Collector.deletedjango/db/models/deletion.py:4712 ms0.9%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.filterdjango/db/models/query.py:15422 ms0.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms0.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.9%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.9%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.9%
Query.build_filterdjango/db/models/sql/query.py:15772 ms0.9%
Query.setup_joinsdjango/db/models/sql/query.py:19282 ms0.9%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(2 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms0.9%
QuerySet._insertdjango/db/models/query.py:19182 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
Atomic.__exit__django/db/transaction.py:2472 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms0.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms0.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
process_profile_partapps/projects/profiles.py:3675 ms2.7%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)3 ms1.8%
CursorWrapper.executemanydjango/db/backends/utils.py:843 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.8%
CursorWrapper._executemanydjango/db/backends/utils.py:1143 ms1.8%
Cursor.executemanypsycopg/cursor.py:1372 ms0.9%
Connection._pipeline_nolockpsycopg/connection.py:4722 ms0.9%
Pipeline.__exit__psycopg/_pipeline.py:732 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
Cursor.executemanypsycopg/cursor.py:1382 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
write_snapshotsapps/projects/profiles.py:3332 ms0.9%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:3312 ms0.9%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),2 ms0.9%
snapshot_documentapps/projects/profiles.py:2872 ms0.9%
process_profile_partapps/projects/profiles.py:3653 ms1.8%
upsert_testsapps/projects/profiles.py:4723 ms1.8%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order2 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms0.9%
QuerySet._insertdjango/db/models/query.py:19182 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms0.9%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms0.9%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms0.9%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms0.9%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms0.9%
Dumper.quotepsycopg/adapt.py:592 ms0.9%
TestManager.upsertapps/projects/models.py:2292 ms0.9%
TestManager.slugs_forapps/projects/models.py:242 taken = set(self.filter(project_id=project_id, slug__in=set(new.values())).values_list("slug", flat=True))2 ms0.9%
QuerySet.__iter__django/db/models/query.py:3902 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms0.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms0.9%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()2 ms0.9%
QuerySet.firstdjango/db/models/query.py:11452 ms0.9%
QuerySet.__iter__django/db/models/query.py:3902 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms0.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms0.9%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms0.9%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:4742 ms0.9%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)19 ms10.7%
finalize_profileapps/projects/profiles.py:5176 ms3.6%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(5 ms2.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms2.7%
QuerySet.bulk_createdjango/db/models/query.py:8335 ms2.7%
QuerySet._batched_insertdjango/db/models/query.py:19565 ms2.7%
QuerySet._insertdjango/db/models/query.py:19185 ms2.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19242 ms0.9%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18132 ms0.9%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(2 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.filterdjango/db/models/query.py:15422 ms0.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms0.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms0.9%
Query.add_qdjango/db/models/sql/query.py:16712 ms0.9%
Query._add_qdjango/db/models/sql/query.py:17032 ms0.9%
Query.build_filterdjango/db/models/sql/query.py:16132 ms0.9%
Query.build_lookupdjango/db/models/sql/query.py:14402 ms0.9%
finalize_profileapps/projects/profiles.py:513 for duplicate in duplicates:3 ms1.8%
QuerySet.__iter__django/db/models/query.py:3903 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms1.8%
ValuesIterable.__iter__django/db/models/query.py:2223 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.8%
Cursor.executepsycopg/cursor.py:1133 ms1.8%
Connection.waitpsycopg/connection.py:4953 ms1.8%
Atomic.__exit__django/db/transaction.py:2473 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:263 ms1.8%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4313 ms1.8%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3753 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms1.8%
Cursor.executepsycopg/cursor.py:1133 ms1.8%
Connection.waitpsycopg/connection.py:4953 ms1.8%
Atomic.__enter__django/db/transaction.py:2112 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms0.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms0.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 ms0.9%
QuerySet.getdjango/db/models/query.py:6352 ms0.9%
QuerySet.__len__django/db/models/query.py:3722 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):2 ms0.9%
QuerySet.__iter__django/db/models/query.py:3902 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()2 ms0.9%
QuerySet.firstdjango/db/models/query.py:11452 ms0.9%
QuerySet.__iter__django/db/models/query.py:3902 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16622 ms0.9%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms0.9%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms0.9%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()3 ms1.8%
Model.refresh_from_dbdjango/db/models/base.py:7583 ms1.8%
QuerySet.getdjango/db/models/query.py:6353 ms1.8%
QuerySet.__len__django/db/models/query.py:3723 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms1.8%
ModelIterable.__iter__django/db/models/query.py:1272 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms0.9%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15262 ms0.9%
ModelIterable.__iter__django/db/models/query.py:952 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16622 ms0.9%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms0.9%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms0.9%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms0.9%
Cursor.fetchmanypsycopg/cursor.py:2682 ms0.9%
store_profileapps/projects/testing.py:3713 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms1.8%
QuerySet.createdjango/db/models/query.py:6693 ms1.8%
Profile.saveapps/projects/models.py:4652 ms0.9%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 12 ms0.9%
QuerySet.aggregatedjango/db/models/query.py:5942 ms0.9%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms0.9%
Cursor.executepsycopg/cursor.py:1132 ms0.9%
Connection.waitpsycopg/connection.py:4952 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms0.9%
Model.savedjango/db/models/base.py:8742 ms0.9%
Model.save_basedjango/db/models/base.py:9662 ms0.9%
Model._save_tabledjango/db/models/base.py:11672 ms0.9%
Model._do_insertdjango/db/models/base.py:12182 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet._insertdjango/db/models/query.py:19182 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))2 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.createdjango/db/models/query.py:6672 ms0.9%
Model.__init__django/db/models/base.py:5562 ms0.9%
AnalyticsTest.setUpTestDataapps/projects/tests.py:7173 ms1.8%
makemodel_bakery/baker.py:1473 ms1.8%
Baker.makemodel_bakery/baker.py:4063 ms1.8%
Baker._makemodel_bakery/baker.py:4713 ms1.8%
Baker.generate_valuemodel_bakery/baker.py:8003 ms1.8%
gen_relatedmodel_bakery/random_gen.py:2743 ms1.8%
makemodel_bakery/baker.py:1473 ms1.8%
Baker.makemodel_bakery/baker.py:4063 ms1.8%
Baker._makemodel_bakery/baker.py:4823 ms1.8%
Baker.instancemodel_bakery/baker.py:5353 ms1.8%
Model.savedjango/db/models/base.py:8282 ms0.9%
Model.savedjango/db/models/base.py:8742 ms0.9%
Model.save_basedjango/db/models/base.py:9662 ms0.9%
Model._save_tabledjango/db/models/base.py:11672 ms0.9%
Model._do_insertdjango/db/models/base.py:12182 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet._insertdjango/db/models/query.py:19182 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms0.9%
AnalyticsTest.setUpTestDataapps/projects/tests.py:7192 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms0.9%
QuerySet.getdjango/db/models/query.py:6352 ms0.9%
QuerySet.__len__django/db/models/query.py:3722 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms0.9%
ModelIterable.__iter__django/db/models/query.py:1072 ms0.9%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()11 ms6.2%
TestCase._enter_atomicsdjango/test/testcases.py:139611 ms6.2%
Atomic.__enter__django/db/transaction.py:19811 ms6.2%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45411 ms6.2%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30311 ms6.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2611 ms6.2%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27911 ms6.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2611 ms6.2%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25611 ms6.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2611 ms6.2%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33311 ms6.2%
Connection.connectpsycopg/connection.py:10911 ms6.2%
wait_connpsycopg/waiting.py:1456 ms3.6%
BaseConnection._connect_genpsycopg/_connection_base.py:4396 ms3.6%
wait_connpsycopg/waiting.py:1362 ms0.9%
BaseConnection._connect_genpsycopg/_connection_base.py:4392 ms0.9%
wait_connpsycopg/waiting.py:1372 ms0.9%
wait_connpsycopg/waiting.py:1412 ms0.9%
EpollSelector.select<stdlib>/selectors.py:4522 ms0.9%
call8 ms4.7%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms2.3%
TestCase._fixture_teardowndjango/test/testcases.py:14954 ms2.3%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4834 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:794 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1034 ms2.3%
Cursor.executepsycopg/cursor.py:1134 ms2.3%
Connection.waitpsycopg/connection.py:4954 ms2.3%
AnalyticsTest.test_category_breakdownapps/projects/tests.py:773 rows = category_breakdown(resolve_scope(self.project))4 ms2.3%
category_breakdownapps/projects/analytics.py:359 summaries = list(3 ms1.6%
QuerySet.__iter__django/db/models/query.py:3903 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms1.6%
ValuesListIterable.__iter__django/db/models/query.py:2383 ms1.6%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.6%
Cursor.executepsycopg/cursor.py:1133 ms1.6%
Connection.waitpsycopg/connection.py:4953 ms1.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms0.8%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms0.8%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms0.8%
PostgresClientQuery.dumppsycopg/_queries.py:2991 ms0.8%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001 ms0.8%
category_breakdownapps/projects/analytics.py:3601 ms0.8%
Scope.profilesapps/projects/analytics.py:1751 ms0.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.8%
QuerySet.filterdjango/db/models/query.py:15421 ms0.8%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms0.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms0.8%
Query.add_qdjango/db/models/sql/query.py:16711 ms0.8%
Query._add_qdjango/db/models/sql/query.py:17031 ms0.8%
Query.build_filterdjango/db/models/sql/query.py:15771 ms0.8%
Query.setup_joinsdjango/db/models/sql/query.py:19871 ms0.8%
teardown0.18 ms0.1%
Estimated from 114 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/rollups.py:88
TestDailyStats.objects.bulk_create(
add_perfs
· Database
|
11 ms |
|
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment
· Database
|
8 ms |
|
apps/projects/testing.py:375
profile.refresh_from_db()
store_profile
· Database
|
8 ms |
|
apps/projects/profiles.py:356
part = ProfilePart.objects.filter(pk=part.pk).first()
process_profile_part
· Database
|
6 ms |
|
apps/projects/profiles.py:380
ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)
claim_part
· Database
|
6 ms |
|
apps/projects/profiles.py:479
TestPerf.objects.bulk_create(
write_perfs
· Database
|
6 ms |
|
apps/projects/profiles.py:379
profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)
claim_part
· Database
|
6 ms |
|
apps/projects/profiles.py:513
for duplicate in duplicates:
finalize_profile
· Database
|
6 ms |
|
apps/projects/profiles.py:359
or ProfilePart.objects.filter(profile_id=part.profile_id, index=part.index, id__gt=part.id).exists()
process_profile_part
· Database
|
5 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_AnalyticsTest class | 165 ms |
| _django_setup_unittest class | 0.26 ms |
| _dj_autoclear_mailbox function | 0.06 ms |
| _django_db_marker function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
205 queries · 80 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
15×
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…
13×
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…
10×
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"."…
5×
SELECT MAX("projects_profile"."number") AS "last" FROM "projects_profile" WHERE "projects_profile"."project_id" = %s
5×
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
|
164 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
|
call test body
apps/projects/tests.py:773
|
4 ms |
| setup pytest internals | 2 ms |
| teardown pytest internals | 0.18 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 174 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 111 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 190 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 165 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 202 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 120 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 196 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 217 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 220 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 209 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 130 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 201 ms | Profile |