Tests / apps/projects/tests.py
SeedDemoCommandTest::test_seed_demo
First seen 7 hours ago in 78a4357
CI
github-actions:test
3 runs
Average
1.95 s
median 2.07 s
max 2.30 s
max 2.30 s
Phases
Setup 10 ms
Call 1.94 s
Teardown 2 ms
Categories
Database 1.20 s
App code 171 ms
Other (Libraries, Serialization, Deep copies, Imports, ...) 573 ms
1318 database queries per run
Needs 237 KB of memory (max 632 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 6 hours ago ·
open run
setup14 ms0.6%
setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()12 ms0.5%
_enter_atomicsdjango/test/testcases.py:139612 ms0.5%
__enter__django/db/transaction.py:19812 ms0.5%
get_autocommitdjango/db/backends/base/base.py:45412 ms0.5%
patched_ensure_connectiondjango/test/testcases.py:30312 ms0.5%
innerdjango/utils/asyncio.py:2612 ms0.5%
ensure_connectiondjango/db/backends/base/base.py:27912 ms0.5%
innerdjango/utils/asyncio.py:2612 ms0.5%
connectdjango/db/backends/base/base.py:25612 ms0.5%
innerdjango/utils/asyncio.py:2612 ms0.5%
get_new_connectiondjango/db/backends/postgresql/base.py:33312 ms0.5%
connectpsycopg/connection.py:10912 ms0.5%
wait_connpsycopg/waiting.py:11812 ms0.5%
_connect_genpsycopg/_connection_base.py:44112 ms0.5%
call2.28 s99.4%
test_seed_demoapps/projects/tests.py:1143 call_command("seed_demo", email="[email protected]", days=6, public=True, stdout=out)2.10 s91.5%
call_commanddjango/core/management/__init__.py:1952.09 s90.8%
executedjango/core/management/base.py:4602.09 s90.8%
handleapps/projects/management/commands/seed_demo.py:184945 ms41.1%
store_profileapps/projects/testing.py:363590 ms25.7%
process_profile_partapps/projects/profiles.py:346239 ms10.4%
write_snapshotsapps/projects/profiles.py:312158 ms6.9%
<genexpr>apps/projects/profiles.py:310158 ms6.9%
rowapps/projects/profiles.py:306 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),152 ms6.6%
snapshot_documentapps/projects/profiles.py:25052 ms2.2%
node_idapps/projects/profiles.py:23813 ms0.6%
7 smaller frames hidden
compressapps/projects/profiles.py:108 return gzip.compress(data, compresslevel=6)42 ms1.8%
compress<stdlib>/gzip.py:63442 ms1.8%
dumps<stdlib>/json/__init__.py:24229 ms1.3%
encode<stdlib>/json/encoder.py:20226 ms1.1%
iterencode<stdlib>/json/encoder.py:26326 ms1.1%
2 smaller frames hidden
2 smaller frames hidden
write_snapshotsapps/projects/profiles.py:313 cursor.executemany(SNAPSHOT_UPSERT, batch)81 ms3.5%
executemanydjango/db/backends/utils.py:8481 ms3.5%
_execute_with_wrappersdjango/db/backends/utils.py:9281 ms3.5%
_executemanydjango/db/backends/utils.py:11481 ms3.5%
executemanypsycopg/cursor.py:13768 ms2.9%
_pipeline_nolockpsycopg/connection.py:46868 ms2.9%
__exit__psycopg/_pipeline.py:7368 ms2.9%
waitpsycopg/connection.py:48368 ms2.9%
executemanypsycopg/cursor.py:13913 ms0.6%
waitpsycopg/connection.py:48313 ms0.6%
process_profile_partapps/projects/profiles.py:342 profile = claim_part(part, document)123 ms5.3%
claim_partapps/projects/profiles.py:44626 ms1.1%
saveapps/projects/models.py:466 super().save(*args, **kwargs)26 ms1.1%
savedjango/db/models/base.py:87426 ms1.1%
save_basedjango/db/models/base.py:97226 ms1.1%
_save_tabledjango/db/models/base.py:111723 ms1.0%
_do_updatedjango/db/models/base.py:121123 ms1.0%
_updatedjango/db/models/query.py:132723 ms1.0%
execute_returning_sqldjango/db/models/sql/compiler.py:214019 ms0.8%
execute_sqldjango/db/models/sql/compiler.py:211119 ms0.8%
execute_sqldjango/db/models/sql/compiler.py:162419 ms0.8%
executedjango/db/backends/utils.py:7919 ms0.8%
_execute_with_wrappersdjango/db/backends/utils.py:9219 ms0.8%
_executedjango/db/backends/utils.py:10519 ms0.8%
executepsycopg/cursor.py:11419 ms0.8%
waitpsycopg/connection.py:48319 ms0.8%
1 smaller frames hidden
1 smaller frames hidden
claim_partapps/projects/profiles.py:400 session = Session.objects.filter(project=project, ingest_id=profile.ingest_id).select_related("run").first()26 ms1.1%
firstdjango/db/models/query.py:114523 ms1.0%
__iter__django/db/models/query.py:39023 ms1.0%
_fetch_alldjango/db/models/query.py:200023 ms1.0%
__iter__django/db/models/query.py:9519 ms0.8%
execute_sqldjango/db/models/sql/compiler.py:161113 ms0.6%
1 smaller frames hidden
1 smaller frames hidden
1 smaller frames hidden
claim_partapps/projects/profiles.py:37819 ms0.8%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(13 ms0.6%
manager_methoddjango/db/models/manager.py:8713 ms0.6%
get_or_createdjango/db/models/query.py:98713 ms0.6%
getdjango/db/models/query.py:63513 ms0.6%
__len__django/db/models/query.py:37213 ms0.6%
_fetch_alldjango/db/models/query.py:200013 ms0.6%
__iter__django/db/models/query.py:9513 ms0.6%
2 smaller frames hidden
claim_partapps/projects/profiles.py:358 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)19 ms0.8%
getdjango/db/models/query.py:63516 ms0.7%
__len__django/db/models/query.py:37216 ms0.7%
_fetch_alldjango/db/models/query.py:200016 ms0.7%
__iter__django/db/models/query.py:9516 ms0.7%
1 smaller frames hidden
5 smaller frames hidden
process_profile_partapps/projects/profiles.py:34168 ms2.9%
load_documentapps/projects/profiles.py:112 return json.loads(gzip.decompress(bytes(part.document)))68 ms2.9%
loads<stdlib>/json/__init__.py:35261 ms2.7%
decode<stdlib>/json/decoder.py:34561 ms2.7%
raw_decode<stdlib>/json/decoder.py:36161 ms2.7%
2 smaller frames hidden
process_profile_partapps/projects/profiles.py:34464 ms2.8%
upsert_testsapps/projects/profiles.py:45164 ms2.8%
upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order32 ms1.4%
manager_methoddjango/db/models/manager.py:8732 ms1.4%
bulk_createdjango/db/models/query.py:83329 ms1.3%
_batched_insertdjango/db/models/query.py:195629 ms1.3%
_insertdjango/db/models/query.py:191829 ms1.3%
execute_sqldjango/db/models/sql/compiler.py:192523 ms1.0%
executedjango/db/backends/utils.py:7923 ms1.0%
_execute_with_wrappersdjango/db/backends/utils.py:9223 ms1.0%
_executedjango/db/backends/utils.py:10523 ms1.0%
executepsycopg/cursor.py:11423 ms1.0%
waitpsycopg/connection.py:48323 ms1.0%
1 smaller frames hidden
1 smaller frames hidden
upsertapps/projects/models.py:22919 ms0.8%
slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))19 ms0.8%
__iter__django/db/models/query.py:39013 ms0.6%
_fetch_alldjango/db/models/query.py:200013 ms0.6%
__iter__django/db/models/query.py:23813 ms0.6%
results_iterdjango/db/models/sql/compiler.py:157313 ms0.6%
execute_sqldjango/db/models/sql/compiler.py:162413 ms0.6%
executedjango/db/backends/utils.py:7913 ms0.6%
_execute_with_wrappersdjango/db/backends/utils.py:9213 ms0.6%
1 smaller frames hidden
2 smaller frames hidden
process_profile_partapps/projects/profiles.py:345 write_perfs(profile, part, entries, tests)42 ms1.8%
write_perfsapps/projects/profiles.py:458 TestPerf.objects.bulk_create(35 ms1.5%
manager_methoddjango/db/models/manager.py:8735 ms1.5%
bulk_createdjango/db/models/query.py:83329 ms1.3%
_batched_insertdjango/db/models/query.py:195629 ms1.3%
_insertdjango/db/models/query.py:191829 ms1.3%
execute_sqldjango/db/models/sql/compiler.py:192519 ms0.8%
executedjango/db/backends/utils.py:7916 ms0.7%
_execute_with_wrappersdjango/db/backends/utils.py:9216 ms0.7%
_executedjango/db/backends/utils.py:10516 ms0.7%
executepsycopg/cursor.py:11416 ms0.7%
waitpsycopg/connection.py:48316 ms0.7%
1 smaller frames hidden
1 smaller frames hidden
1 smaller frames hidden
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:335 part = ProfilePart.objects.filter(pk=part.pk).first()16 ms0.7%
firstdjango/db/models/query.py:114516 ms0.7%
__iter__django/db/models/query.py:39016 ms0.7%
_fetch_alldjango/db/models/query.py:200016 ms0.7%
__iter__django/db/models/query.py:9513 ms0.6%
3 smaller frames hidden
store_profileapps/projects/testing.py:364 finalize_profile(profile.id)184 ms8.0%
finalize_profileapps/projects/profiles.py:49664 ms2.8%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(39 ms1.7%
manager_methoddjango/db/models/manager.py:8739 ms1.7%
bulk_createdjango/db/models/query.py:83326 ms1.1%
_batched_insertdjango/db/models/query.py:195626 ms1.1%
_insertdjango/db/models/query.py:191823 ms1.0%
execute_sqldjango/db/models/sql/compiler.py:192516 ms0.7%
executedjango/db/backends/utils.py:7916 ms0.7%
_execute_with_wrappersdjango/db/backends/utils.py:9216 ms0.7%
_executedjango/db/backends/utils.py:10516 ms0.7%
executepsycopg/cursor.py:11416 ms0.7%
waitpsycopg/connection.py:48316 ms0.7%
1 smaller frames hidden
bulk_createdjango/db/models/query.py:81613 ms0.6%
_batched_insertdjango/db/models/query.py:195613 ms0.6%
_insertdjango/db/models/query.py:191813 ms0.6%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(13 ms0.6%
__iter__django/db/models/query.py:39013 ms0.6%
_fetch_alldjango/db/models/query.py:200013 ms0.6%
1 smaller frames hidden
finalize_profileapps/projects/profiles.py:483 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):23 ms1.0%
__iter__django/db/models/query.py:39016 ms0.7%
_fetch_alldjango/db/models/query.py:200016 ms0.7%
__iter__django/db/models/query.py:9516 ms0.7%
2 smaller frames hidden
finalize_profileapps/projects/profiles.py:50423 ms1.0%
saveapps/projects/models.py:466 super().save(*args, **kwargs)23 ms1.0%
savedjango/db/models/base.py:87423 ms1.0%
save_basedjango/db/models/base.py:97219 ms0.8%
_save_tabledjango/db/models/base.py:111713 ms0.6%
_do_updatedjango/db/models/base.py:121113 ms0.6%
2 smaller frames hidden
finalize_profileapps/projects/profiles.py:479 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)16 ms0.7%
getdjango/db/models/query.py:63516 ms0.7%
__len__django/db/models/query.py:37216 ms0.7%
_fetch_alldjango/db/models/query.py:200016 ms0.7%
__iter__django/db/models/query.py:9513 ms0.6%
1 smaller frames hidden
7 smaller frames hidden
store_profileapps/projects/testing.py:362 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))106 ms4.6%
compressapps/projects/profiles.py:108 return gzip.compress(data, compresslevel=6)87 ms3.8%
compress<stdlib>/gzip.py:63487 ms3.8%
manager_methoddjango/db/models/manager.py:8719 ms0.8%
createdjango/db/models/query.py:66919 ms0.8%
savedjango/db/models/base.py:87419 ms0.8%
save_basedjango/db/models/base.py:97219 ms0.8%
_save_tabledjango/db/models/base.py:116819 ms0.8%
_do_insertdjango/db/models/base.py:121819 ms0.8%
manager_methoddjango/db/models/manager.py:8719 ms0.8%
_insertdjango/db/models/query.py:191816 ms0.7%
execute_sqldjango/db/models/sql/compiler.py:192513 ms0.6%
executedjango/db/backends/utils.py:7913 ms0.6%
_execute_with_wrappersdjango/db/backends/utils.py:9213 ms0.6%
_executedjango/db/backends/utils.py:10513 ms0.6%
executepsycopg/cursor.py:11413 ms0.6%
waitpsycopg/connection.py:48313 ms0.6%
1 smaller frames hidden
1 smaller frames hidden
store_profileapps/projects/testing.py:360 data = json.dumps(document).encode()39 ms1.7%
dumps<stdlib>/json/__init__.py:23539 ms1.7%
encode<stdlib>/json/encoder.py:20239 ms1.7%
iterencode<stdlib>/json/encoder.py:26339 ms1.7%
store_profileapps/projects/testing.py:365 profile.refresh_from_db()13 ms0.6%
refresh_from_dbdjango/db/models/base.py:75813 ms0.6%
getdjango/db/models/query.py:63513 ms0.6%
__len__django/db/models/query.py:37213 ms0.6%
_fetch_alldjango/db/models/query.py:200013 ms0.6%
__iter__django/db/models/query.py:9513 ms0.6%
store_profileapps/projects/testing.py:361 profile = Profile.objects.create(project=project, external_id=document["run"]["id"], ingest_id=ingest_id)13 ms0.6%
manager_methoddjango/db/models/manager.py:8713 ms0.6%
createdjango/db/models/query.py:66913 ms0.6%
handleapps/projects/management/commands/seed_demo.py:200758 ms33.0%
store_profileapps/projects/testing.py:363474 ms20.6%
process_profile_partapps/projects/profiles.py:346229 ms10.0%
write_snapshotsapps/projects/profiles.py:312164 ms7.2%
<genexpr>apps/projects/profiles.py:310164 ms7.2%
rowapps/projects/profiles.py:306 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),148 ms6.5%
compressapps/projects/profiles.py:108 return gzip.compress(data, compresslevel=6)48 ms2.1%
compress<stdlib>/gzip.py:63448 ms2.1%
dumps<stdlib>/json/__init__.py:24239 ms1.7%
encode<stdlib>/json/encoder.py:20239 ms1.7%
iterencode<stdlib>/json/encoder.py:26339 ms1.7%
snapshot_documentapps/projects/profiles.py:25032 ms1.4%
node_idapps/projects/profiles.py:24113 ms0.6%
4 smaller frames hidden
4 smaller frames hidden
rowapps/projects/profiles.py:308 return [field.get_db_prep_save(value, connection) for field, value in zip(fields, values, strict=True)]13 ms0.6%
1 smaller frames hidden
write_snapshotsapps/projects/profiles.py:313 cursor.executemany(SNAPSHOT_UPSERT, batch)64 ms2.8%
executemanydjango/db/backends/utils.py:8464 ms2.8%
_execute_with_wrappersdjango/db/backends/utils.py:9264 ms2.8%
_executemanydjango/db/backends/utils.py:11464 ms2.8%
executemanypsycopg/cursor.py:13742 ms1.8%
_pipeline_nolockpsycopg/connection.py:46842 ms1.8%
__exit__psycopg/_pipeline.py:7342 ms1.8%
waitpsycopg/connection.py:48342 ms1.8%
executemanypsycopg/cursor.py:13923 ms1.0%
waitpsycopg/connection.py:48323 ms1.0%
_executemany_gen_pipelinepsycopg/_cursor_base.py:23913 ms0.6%
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:342 profile = claim_part(part, document)81 ms3.5%
claim_partapps/projects/profiles.py:44619 ms0.8%
saveapps/projects/models.py:466 super().save(*args, **kwargs)19 ms0.8%
savedjango/db/models/base.py:87419 ms0.8%
save_basedjango/db/models/base.py:97219 ms0.8%
_save_tabledjango/db/models/base.py:111719 ms0.8%
_do_updatedjango/db/models/base.py:121119 ms0.8%
_updatedjango/db/models/query.py:132719 ms0.8%
execute_returning_sqldjango/db/models/sql/compiler.py:214019 ms0.8%
execute_sqldjango/db/models/sql/compiler.py:211119 ms0.8%
execute_sqldjango/db/models/sql/compiler.py:162416 ms0.7%
executedjango/db/backends/utils.py:7916 ms0.7%
_execute_with_wrappersdjango/db/backends/utils.py:9216 ms0.7%
_executedjango/db/backends/utils.py:10516 ms0.7%
executepsycopg/cursor.py:11416 ms0.7%
waitpsycopg/connection.py:48316 ms0.7%
1 smaller frames hidden
claim_partapps/projects/profiles.py:383 commit, _ = Commit.objects.get_or_create(13 ms0.6%
manager_methoddjango/db/models/manager.py:8713 ms0.6%
7 smaller frames hidden
process_profile_partapps/projects/profiles.py:34145 ms2.0%
load_documentapps/projects/profiles.py:112 return json.loads(gzip.decompress(bytes(part.document)))45 ms2.0%
loads<stdlib>/json/__init__.py:35242 ms1.8%
decode<stdlib>/json/decoder.py:34542 ms1.8%
raw_decode<stdlib>/json/decoder.py:36142 ms1.8%
1 smaller frames hidden
process_profile_partapps/projects/profiles.py:34442 ms1.8%
upsert_testsapps/projects/profiles.py:45142 ms1.8%
upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order23 ms1.0%
manager_methoddjango/db/models/manager.py:8723 ms1.0%
bulk_createdjango/db/models/query.py:83316 ms0.7%
_batched_insertdjango/db/models/query.py:195616 ms0.7%
_insertdjango/db/models/query.py:191816 ms0.7%
execute_sqldjango/db/models/sql/compiler.py:192516 ms0.7%
executedjango/db/backends/utils.py:7913 ms0.6%
_execute_with_wrappersdjango/db/backends/utils.py:9213 ms0.6%
_executedjango/db/backends/utils.py:10513 ms0.6%
executepsycopg/cursor.py:11413 ms0.6%
waitpsycopg/connection.py:48313 ms0.6%
1 smaller frames hidden
1 smaller frames hidden
2 smaller frames hidden
process_profile_partapps/projects/profiles.py:345 write_perfs(profile, part, entries, tests)32 ms1.4%
write_perfsapps/projects/profiles.py:458 TestPerf.objects.bulk_create(23 ms1.0%
manager_methoddjango/db/models/manager.py:8719 ms0.8%
bulk_createdjango/db/models/query.py:83316 ms0.7%
_batched_insertdjango/db/models/query.py:195616 ms0.7%
_insertdjango/db/models/query.py:191816 ms0.7%
execute_sqldjango/db/models/sql/compiler.py:192513 ms0.6%
executedjango/db/backends/utils.py:7913 ms0.6%
_execute_with_wrappersdjango/db/backends/utils.py:9213 ms0.6%
_executedjango/db/backends/utils.py:10513 ms0.6%
executepsycopg/cursor.py:11413 ms0.6%
waitpsycopg/connection.py:48313 ms0.6%
1 smaller frames hidden
1 smaller frames hidden
3 smaller frames hidden
process_profile_partapps/projects/profiles.py:335 part = ProfilePart.objects.filter(pk=part.pk).first()13 ms0.6%
firstdjango/db/models/query.py:114513 ms0.6%
__iter__django/db/models/query.py:39013 ms0.6%
_fetch_alldjango/db/models/query.py:200013 ms0.6%
__iter__django/db/models/query.py:9513 ms0.6%
4 smaller frames hidden
store_profileapps/projects/testing.py:364 finalize_profile(profile.id)116 ms5.1%
finalize_profileapps/projects/profiles.py:49652 ms2.2%
add_perfsapps/projects/rollups.py:30 for perf in perfs:19 ms0.8%
__iter__django/db/models/query.py:39019 ms0.8%
_fetch_alldjango/db/models/query.py:200019 ms0.8%
__iter__django/db/models/query.py:9516 ms0.7%
1 smaller frames hidden
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(19 ms0.8%
manager_methoddjango/db/models/manager.py:8719 ms0.8%
bulk_createdjango/db/models/query.py:83316 ms0.7%
_batched_insertdjango/db/models/query.py:195616 ms0.7%
_insertdjango/db/models/query.py:191816 ms0.7%
execute_sqldjango/db/models/sql/compiler.py:192516 ms0.7%
executedjango/db/backends/utils.py:7916 ms0.7%
_execute_with_wrappersdjango/db/backends/utils.py:9216 ms0.7%
_executedjango/db/backends/utils.py:10513 ms0.6%
executepsycopg/cursor.py:11413 ms0.6%
waitpsycopg/connection.py:48313 ms0.6%
1 smaller frames hidden
2 smaller frames hidden
finalize_profileapps/projects/profiles.py:50423 ms1.0%
saveapps/projects/models.py:466 super().save(*args, **kwargs)23 ms1.0%
savedjango/db/models/base.py:87419 ms0.8%
save_basedjango/db/models/base.py:97219 ms0.8%
_save_tabledjango/db/models/base.py:111716 ms0.7%
_do_updatedjango/db/models/base.py:121116 ms0.7%
_updatedjango/db/models/query.py:132716 ms0.7%
execute_returning_sqldjango/db/models/sql/compiler.py:214016 ms0.7%
execute_sqldjango/db/models/sql/compiler.py:211116 ms0.7%
execute_sqldjango/db/models/sql/compiler.py:162416 ms0.7%
executedjango/db/backends/utils.py:7916 ms0.7%
_execute_with_wrappersdjango/db/backends/utils.py:9216 ms0.7%
_executedjango/db/backends/utils.py:10516 ms0.7%
executepsycopg/cursor.py:11416 ms0.7%
waitpsycopg/connection.py:48316 ms0.7%
1 smaller frames hidden
1 smaller frames hidden
finalize_profileapps/projects/profiles.py:479 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)13 ms0.6%
getdjango/db/models/query.py:63513 ms0.6%
__len__django/db/models/query.py:37213 ms0.6%
_fetch_alldjango/db/models/query.py:200013 ms0.6%
6 smaller frames hidden
store_profileapps/projects/testing.py:362 part = ProfilePart.objects.create(profile=profile, index=0, document=compress(data), document_size=len(data))106 ms4.6%
compressapps/projects/profiles.py:108 return gzip.compress(data, compresslevel=6)97 ms4.2%
compress<stdlib>/gzip.py:63497 ms4.2%
1 smaller frames hidden
store_profileapps/projects/testing.py:360 data = json.dumps(document).encode()35 ms1.5%
dumps<stdlib>/json/__init__.py:23535 ms1.5%
encode<stdlib>/json/encoder.py:20235 ms1.5%
iterencode<stdlib>/json/encoder.py:26335 ms1.5%
store_profileapps/projects/testing.py:361 profile = Profile.objects.create(project=project, external_id=document["run"]["id"], ingest_id=ingest_id)16 ms0.7%
manager_methoddjango/db/models/manager.py:8716 ms0.7%
1 smaller frames hidden
handleapps/projects/management/commands/seed_demo.py:183206 ms9.0%
ingest_sessionapps/projects/management/commands/seed_demo.py:248 test, _ = Test.objects.get_or_create(100 ms4.4%
manager_methoddjango/db/models/manager.py:8797 ms4.2%
get_or_createdjango/db/models/query.py:98784 ms3.6%
getdjango/db/models/query.py:63581 ms3.5%
__len__django/db/models/query.py:37281 ms3.5%
_fetch_alldjango/db/models/query.py:200081 ms3.5%
__iter__django/db/models/query.py:9581 ms3.5%
execute_sqldjango/db/models/sql/compiler.py:162461 ms2.7%
executedjango/db/backends/utils.py:7961 ms2.7%
_execute_with_wrappersdjango/db/backends/utils.py:9261 ms2.7%
_executedjango/db/backends/utils.py:10561 ms2.7%
executepsycopg/cursor.py:11461 ms2.7%
waitpsycopg/connection.py:48361 ms2.7%
execute_sqldjango/db/models/sql/compiler.py:161116 ms0.7%
1 smaller frames hidden
1 smaller frames hidden
get_or_createdjango/db/models/query.py:99413 ms0.6%
createdjango/db/models/query.py:66913 ms0.6%
1 smaller frames hidden
ingest_sessionapps/projects/management/commands/seed_demo.py:264 TestRun.objects.bulk_create(tests)29 ms1.3%
manager_methoddjango/db/models/manager.py:8726 ms1.1%
bulk_createdjango/db/models/query.py:83323 ms1.0%
_batched_insertdjango/db/models/query.py:195623 ms1.0%
_insertdjango/db/models/query.py:191823 ms1.0%
execute_sqldjango/db/models/sql/compiler.py:192516 ms0.7%
executedjango/db/backends/utils.py:7916 ms0.7%
_execute_with_wrappersdjango/db/backends/utils.py:9216 ms0.7%
_executedjango/db/backends/utils.py:10516 ms0.7%
executepsycopg/cursor.py:11416 ms0.7%
waitpsycopg/connection.py:48316 ms0.7%
1 smaller frames hidden
1 smaller frames hidden
ingest_sessionapps/projects/management/commands/seed_demo.py:23513 ms0.6%
ingest_sessionapps/projects/management/commands/seed_demo.py:21713 ms0.6%
manager_methoddjango/db/models/manager.py:8713 ms0.6%
ingest_sessionapps/projects/management/commands/seed_demo.py:22113 ms0.6%
manager_methoddjango/db/models/manager.py:8713 ms0.6%
createdjango/db/models/query.py:66913 ms0.6%
ingest_sessionapps/projects/management/commands/seed_demo.py:22913 ms0.6%
manager_methoddjango/db/models/manager.py:8713 ms0.6%
4 smaller frames hidden
handleapps/projects/management/commands/seed_demo.py:189100 ms4.4%
variantapps/projects/management/commands/seed_demo.py:83 document = copy.deepcopy(template)84 ms3.6%
deepcopy<stdlib>/copy.py:13184 ms3.6%
_deepcopy_dict<stdlib>/copy.py:20284 ms3.6%
deepcopy<stdlib>/copy.py:13184 ms3.6%
_deepcopy_list<stdlib>/copy.py:17777 ms3.4%
deepcopy<stdlib>/copy.py:13155 ms2.4%
_deepcopy_list<stdlib>/copy.py:17423 ms1.0%
4 smaller frames hidden
4 smaller frames hidden
2 smaller frames hidden
2 smaller frames hidden
handleapps/projects/management/commands/seed_demo.py:17274 ms3.2%
variantapps/projects/management/commands/seed_demo.py:83 document = copy.deepcopy(template)55 ms2.4%
deepcopy<stdlib>/copy.py:13155 ms2.4%
_deepcopy_dict<stdlib>/copy.py:20255 ms2.4%
deepcopy<stdlib>/copy.py:13155 ms2.4%
_deepcopy_list<stdlib>/copy.py:17752 ms2.2%
deepcopy<stdlib>/copy.py:13129 ms1.3%
_deepcopy_dict<stdlib>/copy.py:20226 ms1.1%
deepcopy<stdlib>/copy.py:13123 ms1.0%
_deepcopy_dict<stdlib>/copy.py:20219 ms0.8%
deepcopy<stdlib>/copy.py:13119 ms0.8%
_deepcopy_list<stdlib>/copy.py:17716 ms0.7%
deepcopy<stdlib>/copy.py:13116 ms0.7%
_deepcopy_dict<stdlib>/copy.py:20116 ms0.7%
1 smaller frames hidden
1 smaller frames hidden
1 smaller frames hidden
1 smaller frames hidden
4 smaller frames hidden
1 smaller frames hidden
2 smaller frames hidden
1 smaller frames hidden
call_commanddjango/core/management/__init__.py:11813 ms0.6%
load_command_classdjango/core/management/__init__.py:4813 ms0.6%
import_module<stdlib>/importlib/__init__.py:8813 ms0.6%
_gcd_import<frozen importlib._bootstrap>:140613 ms0.6%
_find_and_load<frozen importlib._bootstrap>:137113 ms0.6%
_find_and_load_unlocked<frozen importlib._bootstrap>:134213 ms0.6%
_load_unlocked<frozen importlib._bootstrap>:93813 ms0.6%
exec_module<frozen importlib._bootstrap_external>:75913 ms0.6%
get_code<frozen importlib._bootstrap_external>:89713 ms0.6%
source_to_code<frozen importlib._bootstrap_external>:82713 ms0.6%
_call_with_frames_removed<frozen importlib._bootstrap>:49113 ms0.6%
1 smaller frames hidden
test_seed_demoapps/projects/tests.py:115587 ms3.8%
getdjango/test/client.py:112487 ms3.8%
getdjango/test/client.py:47587 ms3.8%
genericdjango/test/client.py:67187 ms3.8%
requestdjango/test/client.py:108287 ms3.8%
__call__django/test/client.py:18674 ms3.2%
get_responsedjango/core/handlers/base.py:14174 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__debug_toolbar/middleware.py:13074 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__django/utils/deprecation.py:30974 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__whitenoise/middleware.py:12374 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__django/utils/deprecation.py:30974 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__django/utils/deprecation.py:30974 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__django/utils/deprecation.py:30974 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__django/utils/deprecation.py:30974 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__django/utils/deprecation.py:30974 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
__call__django/utils/deprecation.py:30974 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
middlewareallauth/account/middleware.py:3474 ms3.2%
innerdjango/core/handlers/exception.py:5574 ms3.2%
_get_responsedjango/core/handlers/base.py:19874 ms3.2%
project_dashboardapps/projects/urls.py:16316 ms0.7%
project_dashboardapps/projects/urls.py:154 "overview": analytics.overview(scope, flaky),13 ms0.6%
overviewapps/projects/analytics.py:30113 ms0.6%
latest_profilesapps/projects/analytics.py:264 profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()13 ms0.6%
project_dashboardapps/projects/urls.py:14213 ms0.6%
flaky_reportapps/projects/flakiness.py:25313 ms0.6%
project_dashboardapps/projects/urls.py:14413 ms0.6%
ci_vs_localapps/projects/analytics.py:73813 ms0.6%
4 smaller frames hidden
__call__django/test/client.py:17313 ms0.6%
load_middlewaredjango/core/handlers/base.py:6213 ms0.6%
__init__whitenoise/middleware.py:10413 ms0.6%
add_fileswhitenoise/base.py:10813 ms0.6%
update_files_dictionarywhitenoise/base.py:12013 ms0.6%
add_file_to_dictionarywhitenoise/base.py:13113 ms0.6%
get_static_filewhitenoise/base.py:20813 ms0.6%
_post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()77 ms3.4%
_fixture_teardowndjango/test/testcases.py:149577 ms3.4%
check_constraintsdjango/db/backends/postgresql/base.py:48377 ms3.4%
executedjango/db/backends/utils.py:7977 ms3.4%
_execute_with_wrappersdjango/db/backends/utils.py:9277 ms3.4%
_executedjango/db/backends/utils.py:10377 ms3.4%
executepsycopg/cursor.py:11477 ms3.4%
waitpsycopg/connection.py:48377 ms3.4%
4 smaller frames hidden
Estimated from 716 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/profiles.py:108
return gzip.compress(data, compresslevel=6)
compress
· Libraries
|
287 ms |
|
apps/projects/profiles.py:313
cursor.executemany(SNAPSHOT_UPSERT, batch)
write_snapshots
· Database
|
145 ms |
|
apps/projects/management/commands/seed_demo.py:83
document = copy.deepcopy(template)
variant
· Deep copies
|
139 ms |
|
apps/projects/profiles.py:112
return json.loads(gzip.decompress(bytes(part.document)))
load_document
· Serialization
|
113 ms |
|
apps/projects/models.py:466
super().save(*args, **kwargs)
save
· Database
|
103 ms |
|
apps/projects/management/commands/seed_demo.py:248
test, _ = Test.objects.get_or_create(
ingest_session
· Database
|
87 ms |
|
apps/projects/profiles.py:306
compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),
row
· Serialization
|
87 ms |
|
apps/projects/testing.py:360
data = json.dumps(document).encode()
store_profile
· Serialization
|
74 ms |
|
apps/projects/rollups.py:88
TestDailyStats.objects.bulk_create(
add_perfs
· Database
|
58 ms |
|
apps/projects/profiles.py:458
TestPerf.objects.bulk_create(
write_perfs
· Database
|
58 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_SeedDemoCommandTest class | 12 ms |
| _django_setup_unittest class | 0.37 ms |
| _django_clear_site_cache function | 0.07 ms |
| _template_string_if_invalid_marker function | 0.07 ms |
| _django_db_marker function | 0.07 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_set_urlconf function | 0.05 ms |
| _live_server_helper function | 0.05 ms |
| monkeypatch function | 0.03 ms |
Database
1322 queries · 881 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
180×
SELECT "projects_test"."id", "projects_test"."name", "projects_test"."project_id", "projects_test"."slug", "projects_test"."date_last_run", "projects_test"."date_first_seen", "projects_test"."first_commit_id", "projects_test"."muted" FROM "projects_test" WHERE ("projects_test"."name" = %s AND "proj…
69×
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…
61×
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…
42×
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"."…
36×
SELECT "projects_test"."name" AS "name", "projects_test"."slug" AS "slug" FROM "projects_test" WHERE ("projects_test"."name" IN (…) AND "projects_test"."project_id" = %s)
Biggest pieces of work
|
call test body
apps/projects/tests.py:1143
|
2.20 s |
|
call _post_teardown
django/test/testcases.py:1240
|
77 ms |
|
setup setUpClass
django/test/testcases.py:1423
|
12 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
3 ms |
| setup pytest internals | 2 ms |
Reliability
4 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.