Tests / apps/projects/tests.py
RealProfileDocumentTest::test_call_tree
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
186 ms
median 164 ms
max 307 ms
max 307 ms
Phases
Setup 172 ms
Call 14 ms
Teardown 0.41 ms
Categories
Database 88 ms
App code 11 ms
Factories 0.41 ms
Test code 0.11 ms
Other (Serialization, Libraries, Deep copies, pytest, ...) 87 ms
89 database queries per run
Needs 830 KB of memory (max 2 MB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup128 ms89.3%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()113 ms78.8%
RealProfileDocumentTest.setUpTestDataapps/projects/tests.py:83957 ms39.9%
store_profileapps/projects/testing.py:37334 ms23.7%
process_profile_partapps/projects/profiles.py:36714 ms9.5%
write_snapshotsapps/projects/profiles.py:33310 ms6.6%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:33110 ms6.6%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),10 ms6.6%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)5 ms3.8%
compress<stdlib>/gzip.py:6685 ms3.8%
snapshot_documentapps/projects/profiles.py:2713 ms1.9%
snapshot_document.<locals>.node_idapps/projects/profiles.py:266 new_stacks.append([node_ids.get(parent, -1), frame_id(frame)])3 ms1.9%
snapshot_documentapps/projects/profiles.py:2871 ms0.9%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)4 ms2.8%
CursorWrapper.executemanydjango/db/backends/utils.py:844 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.8%
CursorWrapper._executemanydjango/db/backends/utils.py:1144 ms2.8%
Cursor.executemanypsycopg/cursor.py:1374 ms2.8%
Connection._pipeline_nolockpsycopg/connection.py:4724 ms2.8%
Pipeline.__exit__psycopg/_pipeline.py:734 ms2.8%
Connection.waitpsycopg/connection.py:4954 ms2.8%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)8 ms5.7%
claim_partapps/projects/profiles.py:4673 ms1.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms1.9%
Model.savedjango/db/models/base.py:8743 ms1.9%
Model.save_basedjango/db/models/base.py:9663 ms1.9%
Model._save_tabledjango/db/models/base.py:11103 ms1.9%
Model._do_updatedjango/db/models/base.py:12113 ms1.9%
QuerySet._updatedjango/db/models/query.py:13273 ms1.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21403 ms1.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21113 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms1.9%
Cursor.executepsycopg/cursor.py:1133 ms1.9%
Connection.waitpsycopg/connection.py:4953 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2111 ms0.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3181 ms0.9%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)1 ms0.9%
QuerySet.updatedjango/db/models/query.py:13001 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
claim_partapps/projects/profiles.py:397 project = profile.project1 ms0.9%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms0.9%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms0.9%
QuerySet.getdjango/db/models/query.py:6351 ms0.9%
QuerySet.__len__django/db/models/query.py:3721 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:951 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
claim_partapps/projects/profiles.py:3991 ms0.9%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.get_or_createdjango/db/models/query.py:9921 ms0.9%
Atomic.__enter__django/db/transaction.py:2111 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms0.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.get_or_createdjango/db/models/query.py:9921 ms0.9%
Atomic.__enter__django/db/transaction.py:2111 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms0.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms0.9%
process_profile_partapps/projects/profiles.py:3654 ms2.8%
upsert_testsapps/projects/profiles.py:4724 ms2.8%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order3 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms1.9%
QuerySet.bulk_createdjango/db/models/query.py:8333 ms1.9%
QuerySet._batched_insertdjango/db/models/query.py:19563 ms1.9%
QuerySet._insertdjango/db/models/query.py:19183 ms1.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19241 ms0.9%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18131 ms0.9%
SQLInsertCompiler.prepare_valuedjango/db/models/sql/compiler.py:17421 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
TestManager.upsertapps/projects/models.py:2291 ms0.9%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))1 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ValuesListIterable.__iter__django/db/models/query.py:2381 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
process_profile_partapps/projects/profiles.py:3664 ms2.8%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.filterdjango/db/models/query.py:15421 ms0.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms0.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms0.9%
Query.add_qdjango/db/models/sql/query.py:16711 ms0.9%
Query._add_qdjango/db/models/sql/query.py:17031 ms0.9%
Query.build_filterdjango/db/models/sql/query.py:16131 ms0.9%
Query.build_lookupdjango/db/models/sql/query.py:14401 ms0.9%
Lookup.__init__django/db/models/lookups.py:351 ms0.9%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms0.9%
QuerySet._insertdjango/db/models/query.py:19181 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
Atomic.__exit__django/db/transaction.py:2471 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms0.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
process_profile_partapps/projects/profiles.py:3623 ms1.9%
load_documentapps/projects/profiles.py:1333 ms1.9%
loadsapps/projects/profiles.py:118 document = json.loads(data)3 ms1.9%
loads<stdlib>/json/__init__.py:3713 ms1.9%
JSONDecoder.decode<stdlib>/json/decoder.py:3583 ms1.9%
JSONDecoder.raw_decode<stdlib>/json/decoder.py:3743 ms1.9%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()1 ms0.9%
QuerySet.firstdjango/db/models/query.py:11451 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:951 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)11 ms7.6%
finalize_profileapps/projects/profiles.py:5173 ms1.9%
add_perfsapps/projects/rollups.py:30 for perf in perfs:1 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:951 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms0.9%
QuerySet._insertdjango/db/models/query.py:19181 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
Atomic.__enter__django/db/transaction.py:2111 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms0.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)1 ms0.9%
QuerySet.getdjango/db/models/query.py:6351 ms0.9%
QuerySet.__len__django/db/models/query.py:3721 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:951 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):1 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:951 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
finalize_profileapps/projects/profiles.py:513 for duplicate in duplicates:1 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ValuesIterable.__iter__django/db/models/query.py:2221 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms0.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:931 ms0.9%
SQLCompiler.get_group_bydjango/db/models/sql/compiler.py:1591 ms0.9%
Expression.__hash__django/db/models/expressions.py:5621 ms0.9%
cached_property.__get__django/utils/functional.py:471 ms0.9%
Expression.identitydjango/db/models/expressions.py:5431 ms0.9%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms0.9%
QuerySet.firstdjango/db/models/query.py:11451 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:951 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms0.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9811 ms0.9%
finalize_profileapps/projects/profiles.py:5251 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms0.9%
Model.savedjango/db/models/base.py:8741 ms0.9%
Model.save_basedjango/db/models/base.py:9661 ms0.9%
Model._save_tabledjango/db/models/base.py:11101 ms0.9%
Model._do_updatedjango/db/models/base.py:12111 ms0.9%
QuerySet._updatedjango/db/models/query.py:13271 ms0.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))5 ms3.8%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)4 ms2.8%
compress<stdlib>/gzip.py:6684 ms2.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.createdjango/db/models/query.py:6691 ms0.9%
Model.savedjango/db/models/base.py:8741 ms0.9%
Model.save_basedjango/db/models/base.py:9661 ms0.9%
Model._save_tabledjango/db/models/base.py:11671 ms0.9%
Model._do_insertdjango/db/models/base.py:12181 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet._insertdjango/db/models/query.py:19181 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
store_profileapps/projects/testing.py:3714 ms2.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms2.8%
QuerySet.createdjango/db/models/query.py:6694 ms2.8%
Profile.saveapps/projects/models.py:4653 ms1.9%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 13 ms1.9%
QuerySet.aggregatedjango/db/models/query.py:5943 ms1.9%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
Query.get_aggregationdjango/db/models/sql/query.py:6381 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms0.9%
Model.savedjango/db/models/base.py:8741 ms0.9%
Model.save_basedjango/db/models/base.py:9661 ms0.9%
Model._save_tabledjango/db/models/base.py:11671 ms0.9%
Model._do_insertdjango/db/models/base.py:12181 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet._insertdjango/db/models/query.py:19181 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
store_profileapps/projects/testing.py:370 data = json.dumps(document).encode()1 ms0.9%
dumps<stdlib>/json/__init__.py:2341 ms0.9%
JSONEncoder.encode<stdlib>/json/encoder.py:2021 ms0.9%
JSONEncoder.iterencode<stdlib>/json/encoder.py:2631 ms0.9%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()1 ms0.9%
Model.refresh_from_dbdjango/db/models/base.py:7581 ms0.9%
QuerySet.getdjango/db/models/query.py:6351 ms0.9%
QuerySet.__len__django/db/models/query.py:3721 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:1271 ms0.9%
SQLCompiler.apply_convertersdjango/db/models/sql/compiler.py:15421 ms0.9%
JSONField.from_db_valuedjango/db/models/fields/json.py:921 ms0.9%
RealProfileDocumentTest.setUpTestDataapps/projects/tests.py:84046 ms32.3%
store_profileapps/projects/testing.py:37327 ms19.0%
process_profile_partapps/projects/profiles.py:36714 ms9.5%
write_snapshotsapps/projects/profiles.py:33310 ms6.6%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:33110 ms6.6%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),8 ms5.7%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)3 ms1.9%
compress<stdlib>/gzip.py:6681 ms0.9%
compress<stdlib>/gzip.py:6711 ms0.9%
snapshot_documentapps/projects/profiles.py:2891 ms0.9%
dumps<stdlib>/json/__init__.py:2411 ms0.9%
JSONEncoder.encode<stdlib>/json/encoder.py:2021 ms0.9%
JSONEncoder.iterencode<stdlib>/json/encoder.py:2631 ms0.9%
snapshot_documentapps/projects/profiles.py:2871 ms0.9%
snapshot_documentapps/projects/profiles.py:2711 ms0.9%
snapshot_document.<locals>.node_idapps/projects/profiles.py:266 new_stacks.append([node_ids.get(parent, -1), frame_id(frame)])1 ms0.9%
write_snapshots.<locals>.rowapps/projects/profiles.py:329 return [field.get_db_prep_save(value, connection) for field, value in zip(fields, values, strict=True)]1 ms0.9%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)4 ms2.8%
CursorWrapper.executemanydjango/db/backends/utils.py:844 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.8%
CursorWrapper._executemanydjango/db/backends/utils.py:1144 ms2.8%
Cursor.executemanypsycopg/cursor.py:1383 ms1.9%
Connection.waitpsycopg/connection.py:4953 ms1.9%
BaseCursor._executemany_gen_pipelinepsycopg/_cursor_base.py:2391 ms0.9%
BasePipeline._communicate_genpsycopg/_pipeline_base.py:1121 ms0.9%
Cursor.executemanypsycopg/cursor.py:1371 ms0.9%
Connection._pipeline_nolockpsycopg/connection.py:4721 ms0.9%
Pipeline.__exit__psycopg/_pipeline.py:731 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)5 ms3.8%
claim_partapps/projects/profiles.py:4673 ms1.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms1.9%
Model.savedjango/db/models/base.py:8743 ms1.9%
Model.save_basedjango/db/models/base.py:9663 ms1.9%
Model._save_tabledjango/db/models/base.py:11103 ms1.9%
Model._do_updatedjango/db/models/base.py:12113 ms1.9%
QuerySet._updatedjango/db/models/query.py:13273 ms1.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21403 ms1.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21113 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16223 ms1.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)1 ms0.9%
QuerySet.updatedjango/db/models/query.py:13001 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
claim_partapps/projects/profiles.py:397 project = profile.project1 ms0.9%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms0.9%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms0.9%
QuerySet.getdjango/db/models/query.py:6351 ms0.9%
QuerySet.__len__django/db/models/query.py:3721 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:1281 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15771 ms0.9%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15261 ms0.9%
process_profile_partapps/projects/profiles.py:3654 ms2.8%
upsert_testsapps/projects/profiles.py:4724 ms2.8%
TestManager.upsertapps/projects/models.py:2291 ms0.9%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))1 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ValuesListIterable.__iter__django/db/models/query.py:2381 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms0.9%
QuerySet._insertdjango/db/models/query.py:19181 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}1 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ModelIterable.__iter__django/db/models/query.py:951 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
process_profile_partapps/projects/profiles.py:3663 ms1.9%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()1 ms0.9%
QuerySet.deletedjango/db/models/query.py:12381 ms0.9%
Collector.deletedjango/db/models/deletion.py:4711 ms0.9%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8081 ms0.9%
QuerySet._prepare_for_bulk_createdjango/db/models/query.py:6921 ms0.9%
Model._prepare_related_fields_for_savedjango/db/models/base.py:12741 ms0.9%
process_profile_partapps/projects/profiles.py:3621 ms0.9%
load_documentapps/projects/profiles.py:1331 ms0.9%
loadsapps/projects/profiles.py:118 document = json.loads(data)1 ms0.9%
loads<stdlib>/json/__init__.py:3711 ms0.9%
JSONDecoder.decode<stdlib>/json/decoder.py:3581 ms0.9%
JSONDecoder.raw_decode<stdlib>/json/decoder.py:3741 ms0.9%
store_profileapps/projects/testing.py:374 finalize_profile(profile.id)10 ms6.6%
finalize_profileapps/projects/profiles.py:5174 ms2.8%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.filterdjango/db/models/query.py:15421 ms0.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms0.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms0.9%
Query.add_qdjango/db/models/sql/query.py:16711 ms0.9%
Query._add_qdjango/db/models/sql/query.py:17031 ms0.9%
add_perfsapps/projects/rollups.py:72 row = existing.get((test_id, environment_id, day)) or TestDailyStats(1 ms0.9%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms0.9%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms0.9%
QuerySet._insertdjango/db/models/query.py:19181 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
finalize_profileapps/projects/profiles.py:509 ProfilePart.objects.filter(profile=profile).exclude(pk__in=[part.pk for part in current]).delete()1 ms0.9%
QuerySet.excludedjango/db/models/query.py:15501 ms0.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms0.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15681 ms0.9%
finalize_profileapps/projects/profiles.py:5111 ms0.9%
QuerySet.deletedjango/db/models/query.py:12381 ms0.9%
Collector.deletedjango/db/models/deletion.py:4711 ms0.9%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
finalize_profileapps/projects/profiles.py:513 for duplicate in duplicates:1 ms0.9%
QuerySet.__iter__django/db/models/query.py:3901 ms0.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.9%
ValuesIterable.__iter__django/db/models/query.py:2221 ms0.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16621 ms0.9%
finalize_profileapps/projects/profiles.py:5251 ms0.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms0.9%
Model.savedjango/db/models/base.py:8741 ms0.9%
Model.save_basedjango/db/models/base.py:9661 ms0.9%
Model._save_tabledjango/db/models/base.py:11101 ms0.9%
Model._do_updatedjango/db/models/base.py:12111 ms0.9%
QuerySet._updatedjango/db/models/query.py:13271 ms0.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms0.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
store_profileapps/projects/testing.py:372 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))4 ms2.8%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)3 ms1.9%
compress<stdlib>/gzip.py:6683 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.createdjango/db/models/query.py:6691 ms0.9%
Model.savedjango/db/models/base.py:8741 ms0.9%
Model.save_basedjango/db/models/base.py:9661 ms0.9%
Model._save_tabledjango/db/models/base.py:11671 ms0.9%
Model._do_insertdjango/db/models/base.py:12181 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet._insertdjango/db/models/query.py:19181 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms0.9%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms0.9%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms0.9%
PostgresClientQuery.dumppsycopg/_queries.py:2991 ms0.9%
store_profileapps/projects/testing.py:375 profile.refresh_from_db()3 ms1.9%
Model.refresh_from_dbdjango/db/models/base.py:7583 ms1.9%
QuerySet.getdjango/db/models/query.py:6353 ms1.9%
QuerySet.__len__django/db/models/query.py:3723 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms1.9%
ModelIterable.__iter__django/db/models/query.py:951 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
ModelIterable.__iter__django/db/models/query.py:1281 ms0.9%
Model.from_dbdjango/db/models/base.py:6051 ms0.9%
Model.__init__django/db/models/base.py:5131 ms0.9%
ForeignKeyDeferredAttribute.__set__django/db/models/fields/related_descriptors.py:891 ms0.9%
store_profileapps/projects/testing.py:370 data = json.dumps(document).encode()1 ms0.9%
dumps<stdlib>/json/__init__.py:2341 ms0.9%
JSONEncoder.encode<stdlib>/json/encoder.py:2021 ms0.9%
JSONEncoder.iterencode<stdlib>/json/encoder.py:2631 ms0.9%
store_profileapps/projects/testing.py:3711 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet.createdjango/db/models/query.py:6691 ms0.9%
Profile.saveapps/projects/models.py:4651 ms0.9%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 11 ms0.9%
QuerySet.aggregatedjango/db/models/query.py:5941 ms0.9%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms0.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
RealProfileDocumentTest.setUpTestDataapps/projects/tests.py:837 cls.local_document = json.loads((SAMPLES / "local-tachyon.json").read_text())7 ms4.7%
loads<stdlib>/json/__init__.py:3717 ms4.7%
JSONDecoder.decode<stdlib>/json/decoder.py:3587 ms4.7%
JSONDecoder.raw_decode<stdlib>/json/decoder.py:3747 ms4.7%
RealProfileDocumentTest.setUpTestDataapps/projects/tests.py:8361 ms0.9%
makemodel_bakery/baker.py:1471 ms0.9%
Baker.makemodel_bakery/baker.py:4061 ms0.9%
Baker._makemodel_bakery/baker.py:4711 ms0.9%
Baker.generate_valuemodel_bakery/baker.py:8001 ms0.9%
gen_relatedmodel_bakery/random_gen.py:2741 ms0.9%
makemodel_bakery/baker.py:1471 ms0.9%
Baker.makemodel_bakery/baker.py:4061 ms0.9%
Baker._makemodel_bakery/baker.py:4821 ms0.9%
Baker.instancemodel_bakery/baker.py:5351 ms0.9%
Model.savedjango/db/models/base.py:8741 ms0.9%
Model.save_basedjango/db/models/base.py:9661 ms0.9%
Model._save_tabledjango/db/models/base.py:11671 ms0.9%
Model._do_insertdjango/db/models/base.py:12181 ms0.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.9%
QuerySet._insertdjango/db/models/query.py:19181 ms0.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
RealProfileDocumentTest.setUpTestDataapps/projects/tests.py:8381 ms0.9%
loads<stdlib>/json/__init__.py:3711 ms0.9%
JSONDecoder.decode<stdlib>/json/decoder.py:3581 ms0.9%
JSONDecoder.raw_decode<stdlib>/json/decoder.py:3741 ms0.9%
<GC>~1 ms0.9%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()15 ms10.4%
TestCase._enter_atomicsdjango/test/testcases.py:139615 ms10.4%
Atomic.__enter__django/db/transaction.py:19815 ms10.4%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45415 ms10.4%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30315 ms10.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2615 ms10.4%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27915 ms10.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2615 ms10.4%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25614 ms9.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2614 ms9.5%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33314 ms9.5%
Connection.connectpsycopg/connection.py:10914 ms9.5%
wait_connpsycopg/waiting.py:1417 ms4.7%
EpollSelector.select<stdlib>/selectors.py:4527 ms4.7%
wait_connpsycopg/waiting.py:1457 ms4.7%
BaseConnection._connect_genpsycopg/_connection_base.py:4397 ms4.7%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2581 ms0.9%
DatabaseWrapper.init_connection_statedjango/db/backends/postgresql/base.py:4021 ms0.9%
DatabaseWrapper._configure_connectiondjango/db/backends/postgresql/base.py:3741 ms0.9%
DatabaseWrapper._configure_timezonedjango/db/backends/postgresql/base.py:3571 ms0.9%
Cursor.executepsycopg/cursor.py:1131 ms0.9%
Connection.waitpsycopg/connection.py:4951 ms0.9%
call15 ms10.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()6 ms4.0%
TestCase._fixture_teardowndjango/test/testcases.py:14956 ms4.0%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4836 ms4.0%
CursorWrapper.executedjango/db/backends/utils.py:796 ms4.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:926 ms4.0%
CursorWrapper._executedjango/db/backends/utils.py:1036 ms4.0%
Cursor.executepsycopg/cursor.py:1136 ms4.0%
Connection.waitpsycopg/connection.py:4956 ms4.0%
RealProfileDocumentTest.test_call_treeapps/projects/tests.py:861 entry = find_test_entry(self.local_document, self.nodeid)3 ms2.4%
TestData.__get__django/test/testcases.py:13673 ms2.4%
deepcopy<stdlib>/copy.py:1303 ms2.4%
_deepcopy_dict<stdlib>/copy.py:2013 ms2.4%
deepcopy<stdlib>/copy.py:1303 ms2.4%
_deepcopy_list<stdlib>/copy.py:1763 ms2.4%
deepcopy<stdlib>/copy.py:1302 ms1.6%
_deepcopy_list<stdlib>/copy.py:1731 ms0.8%
<GC>~1 ms0.8%
_deepcopy_dict<stdlib>/copy.py:2011 ms0.8%
deepcopy<stdlib>/copy.py:1301 ms0.8%
_deepcopy_dict<stdlib>/copy.py:2011 ms0.8%
RealProfileDocumentTest.test_call_treeapps/projects/tests.py:8782 ms1.6%
build_call_treeapps/projects/profiles.py:6081 ms0.8%
__init____init__:-11 ms0.8%
StackResolver.__init__apps/projects/profiles.py:5731 ms0.8%
StackResolver.__init__.<locals>.<genexpr>apps/projects/profiles.py:5731 ms0.8%
build_call_treeapps/projects/profiles.py:6321 ms0.8%
source_lineapps/projects/profiles.py:601 return str(as_dict(document.get("sources")).get(str(frame_index)) or "").strip()1 ms0.8%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()1 ms0.8%
TestCase._fixture_setupdjango/test/testcases.py:14781 ms0.8%
TestCase._enter_atomicsdjango/test/testcases.py:13961 ms0.8%
Atomic.__enter__django/db/transaction.py:2111 ms0.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.8%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms0.8%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms0.8%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.8%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.8%
Cursor.executepsycopg/cursor.py:1131 ms0.8%
Connection.waitpsycopg/connection.py:4951 ms0.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.8%
RealProfileDocumentTest.test_call_treeapps/projects/tests.py:8621 ms0.8%
build_call_treeapps/projects/profiles.py:6311 ms0.8%
CallNode.childapps/projects/profiles.py:559 self.children[key] = CallNode(frame=frame, label=label)1 ms0.8%
RealProfileDocumentTest.test_call_treeapps/projects/tests.py:8811 ms0.8%
render_call_treeapps/projects/profiles.py:6951 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.<genexpr>apps/projects/profiles.py:6951 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
format_html_join.<locals>.<genexpr>django/utils/html.py:1641 ms0.8%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6791 ms0.8%
render_call_tree.<locals>.renderapps/projects/profiles.py:6791 ms0.8%
format_html_joindjango/utils/html.py:1581 ms0.8%
Estimated from 107 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/profiles.py:111
return gzip.compress(data, compresslevel=6)
compress
· Libraries
|
15 ms |
|
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save
· Database
|
10 ms |
|
apps/projects/profiles.py:334
cursor.executemany(SNAPSHOT_UPSERT, batch)
write_snapshots
· Database
|
8 ms |
|
apps/projects/tests.py:837
cls.local_document = json.loads((SAMPLES / "local-tachyon.json").read_text())
RealProfileDocumentTest.setUpTestData
· Serialization
|
7 ms |
|
apps/projects/profiles.py:118
document = json.loads(data)
loads
· Serialization
|
4 ms |
|
apps/projects/profiles.py:266
new_stacks.append([node_ids.get(parent, -1), frame_id(frame)])
snapshot_document.<locals>.node_id
· App code
|
4 ms |
|
apps/projects/models.py:35
return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 1
next_number
· Database
|
4 ms |
|
apps/projects/models.py:230
self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order
TestManager.upsert
· Database
|
4 ms |
|
apps/projects/testing.py:375
profile.refresh_from_db()
store_profile
· Database
|
4 ms |
|
apps/projects/tests.py:861
entry = find_test_entry(self.local_document, self.nodeid)
RealProfileDocumentTest.test_call_tree
· Deep copies
|
3 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_RealProfileDocumentTest class | 127 ms |
| _django_setup_unittest class | 0.19 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| _django_clear_site_cache function | 0.02 ms |
| monkeypatch function | 0.02 ms |
Database
89 queries · 50 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…
Biggest pieces of work
|
setup setUpClass
django/test/testcases.py:1423
|
128 ms |
|
call test body
apps/projects/tests.py:861
|
8 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
6 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
1 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 144 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 86 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 152 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 119 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 165 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 95 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 307 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 303 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 281 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 183 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 239 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 163 ms | Profile |