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

MemoryTest::test_reprocessing_doesnt_count_memory_twice

First seen 8 hours ago in 78a4357
CI github-actions:test 5 runs
Average
45 ms
median 46 ms
max 53 ms
Phases
Setup 0.68 ms Call 44 ms Teardown 0.17 ms
Categories
Database 41 ms App code 2 ms Test code 0.38 ms Other (Unsampled, Serialization, Libraries) 2 ms

59 database queries per run

Needs 0 KB of memory (max 0 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, an hour ago · open run
Hide pytest frames
call44 ms97.9%
CallInfo.from_call_pytest/runner.py:35344 ms97.9%
call_and_report.<locals>.<lambda>_pytest/runner.py:24544 ms97.9%
HookCaller.__call__pluggy/_hooks.py:51244 ms97.9%
PluginManager._hookexecpluggy/_manager.py:12044 ms97.9%
_multicallpluggy/_callers.py:12144 ms97.9%
pytest_runtest_call_pytest/runner.py:17944 ms97.9%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:57344 ms97.9%
SimpleTestCase.__call__django/test/testcases.py:31344 ms97.9%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36841 ms89.4%
TestCase.__call__<stdlib>/unittest/case.py:74741 ms89.4%
TestCase.run<stdlib>/unittest/case.py:69135 ms76.6%
TestCase._callTestMethod<stdlib>/unittest/case.py:63735 ms76.6%
MemoryTest.test_reprocessing_doesnt_count_memory_twiceapps/projects/tests.py:1389 process_profile_part(self.latest.part_set.get())19 ms42.6%
process_profile_partapps/projects/profiles.py:342 profile = claim_part(part, document)10 ms21.3%
ContextDecorator.__call__.<locals>.inner<stdlib>/contextlib.py:11610 ms21.3%
claim_partapps/projects/profiles.py:3634 ms8.5%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(2 ms4.3%
QuerySet.__iter__django/db/models/query.py:3902 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.3%
ModelIterable.__iter__django/db/models/query.py:952 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(2 ms4.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.3%
QuerySet.bulk_createdjango/db/models/query.py:8162 ms4.3%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms4.3%
QuerySet._insertdjango/db/models/query.py:19182 ms4.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms4.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms4.3%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms4.3%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms4.3%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms4.3%
Dumper.quotepsycopg/adapt.py:592 ms4.3%
ListDumper.dumppsycopg/types/array.py:1842 ms4.3%
ListDumper.dump.<locals>.dump_listpsycopg/types/array.py:1682 ms4.3%
claim_partapps/projects/profiles.py:362 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()2 ms4.3%
QuerySet.firstdjango/db/models/query.py:11452 ms4.3%
QuerySet.__iter__django/db/models/query.py:3902 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.3%
ModelIterable.__iter__django/db/models/query.py:952 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
claim_partapps/projects/profiles.py:3782 ms4.3%
get_or_create_environmentapps/projects/environments.py:79 obj.save(update_fields=update_fields)2 ms4.3%
Model.savedjango/db/models/base.py:8742 ms4.3%
Model.save_basedjango/db/models/base.py:9662 ms4.3%
Model._save_tabledjango/db/models/base.py:11102 ms4.3%
Model._do_updatedjango/db/models/base.py:12112 ms4.3%
QuerySet._updatedjango/db/models/query.py:13272 ms4.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms4.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
claim_partapps/projects/profiles.py:4462 ms4.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms4.3%
Model.savedjango/db/models/base.py:8742 ms4.3%
Model.save_basedjango/db/models/base.py:9662 ms4.3%
Model._save_tabledjango/db/models/base.py:11102 ms4.3%
Model._do_updatedjango/db/models/base.py:12112 ms4.3%
QuerySet._updatedjango/db/models/query.py:13272 ms4.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms4.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
process_profile_partapps/projects/profiles.py:3444 ms8.5%
upsert_testsapps/projects/profiles.py:4514 ms8.5%
TestManager.upsertapps/projects/models.py:2292 ms4.3%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))2 ms4.3%
QuerySet.__iter__django/db/models/query.py:3902 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms4.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order2 ms4.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.3%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms4.3%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms4.3%
QuerySet._insertdjango/db/models/query.py:19182 ms4.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms4.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms4.3%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms4.3%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms4.3%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms4.3%
ListDumper.get_keypsycopg/types/array.py:1232 ms4.3%
process_profile_partapps/projects/profiles.py:3464 ms8.5%
write_snapshotsapps/projects/profiles.py:3122 ms4.3%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:3102 ms4.3%
write_snapshots.<locals>.rowapps/projects/profiles.py:306 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),2 ms4.3%
snapshot_documentapps/projects/profiles.py:262 "version": document.get("version"),2 ms4.3%
write_snapshotsapps/projects/profiles.py:313 cursor.executemany(SNAPSHOT_UPSERT, batch)2 ms4.3%
CursorWrapper.executemanydjango/db/backends/utils.py:842 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executemanydjango/db/backends/utils.py:1142 ms4.3%
Cursor.executemanypsycopg/cursor.py:1372 ms4.3%
_GeneratorContextManager.__exit__<stdlib>/contextlib.py:2102 ms4.3%
Connection._pipeline_nolockpsycopg/connection.py:4722 ms4.3%
Pipeline.__exit__psycopg/_pipeline.py:732 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
MemoryTest.test_reprocessing_doesnt_count_memory_twiceapps/projects/tests.py:139015 ms34.1%
ContextDecorator.__call__.<locals>.inner<stdlib>/contextlib.py:11614 ms29.8%
finalize_profileapps/projects/profiles.py:4964 ms8.5%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(2 ms4.3%
QuerySet.__iter__django/db/models/query.py:3902 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.3%
ModelIterable.__iter__django/db/models/query.py:952 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms4.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms4.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:882 ms4.3%
WhereNode.split_having_qualifydjango/db/models/sql/where.py:472 ms4.3%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(2 ms4.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.3%
QuerySet.bulk_createdjango/db/models/query.py:8162 ms4.3%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms4.3%
QuerySet._insertdjango/db/models/query.py:19182 ms4.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19242 ms4.3%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18692 ms4.3%
SQLInsertCompiler.assemble_as_sqldjango/db/backends/postgresql/compiler.py:562 ms4.3%
SQLInsertCompiler.assemble_as_sql.<locals>.<genexpr>django/db/backends/postgresql/compiler.py:572 ms4.3%
finalize_profileapps/projects/profiles.py:479 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 ms4.3%
QuerySet.getdjango/db/models/query.py:6352 ms4.3%
QuerySet.__len__django/db/models/query.py:3722 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.3%
ModelIterable.__iter__django/db/models/query.py:952 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
finalize_profileapps/projects/profiles.py:483 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):2 ms4.3%
QuerySet.__iter__django/db/models/query.py:3902 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.3%
ModelIterable.__iter__django/db/models/query.py:952 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
finalize_profileapps/projects/profiles.py:488 ProfilePart.objects.filter(profile=profile).exclude(pk__in=[part.pk for part in current]).delete()2 ms4.3%
QuerySet.deletedjango/db/models/query.py:12382 ms4.3%
Collector.deletedjango/db/models/deletion.py:4712 ms4.3%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
finalize_profileapps/projects/profiles.py:491 duplicates = rows.values("test").annotate(count=Count("id"), keep=Max("id")).filter(count__gt=1)2 ms4.3%
finalize_profileapps/projects/profiles.py:495 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()2 ms4.3%
QuerySet.filterdjango/db/models/query.py:15422 ms4.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms4.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms4.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms4.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms4.3%
Query.build_filterdjango/db/models/sql/query.py:16112 ms4.3%
ContextDecorator.__call__.<locals>.inner<stdlib>/contextlib.py:1152 ms4.3%
Atomic.__exit__django/db/transaction.py:2472 ms4.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms4.3%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms4.3%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
TestCase.run<stdlib>/unittest/case.py:6876 ms12.8%
TestCase._callSetUp<stdlib>/unittest/case.py:6346 ms12.8%
MemoryTest.setUpapps/projects/tests.py:1375 self.client.force_login(self.user)6 ms12.8%
ClientMixin.force_logindjango/test/client.py:8556 ms12.8%
ClientMixin._logindjango/test/client.py:8814 ms8.5%
logindjango/contrib/auth/__init__.py:1874 ms8.5%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms4.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms4.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms4.3%
Model.savedjango/db/models/base.py:8742 ms4.3%
Model.save_basedjango/db/models/base.py:9662 ms4.3%
Model._save_tabledjango/db/models/base.py:11672 ms4.3%
Model._do_insertdjango/db/models/base.py:12182 ms4.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms4.3%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms4.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms4.3%
QuerySet.getdjango/db/models/query.py:6352 ms4.3%
QuerySet.__len__django/db/models/query.py:3722 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.3%
ModelIterable.__iter__django/db/models/query.py:952 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
ClientMixin._logindjango/test/client.py:8762 ms4.3%
ClientMixin.sessiondjango/test/client.py:8122 ms4.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms4.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms4.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms4.3%
Atomic.__exit__django/db/transaction.py:2472 ms4.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms4.3%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms4.3%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3714 ms8.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms8.5%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms4.3%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms4.3%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms4.3%
Atomic.__exit__django/db/transaction.py:2862 ms4.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms4.3%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms4.3%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms4.3%
Cursor.executepsycopg/cursor.py:1132 ms4.3%
Connection.waitpsycopg/connection.py:4952 ms4.3%
Estimated from 23 samples; phase durations are exact. Frames from pytest and pluggy are shown .

Hot lines in your code

apps/projects/tests.py:1375
self.client.force_login(self.user)
MemoryTest.setUp · Database
6 ms
apps/projects/rollups.py:64
for row in TestDailyStats.objects.filter(
add_perfs · Database
4 ms
apps/projects/rollups.py:88
TestDailyStats.objects.bulk_create(
add_perfs · Database
4 ms
apps/projects/profiles.py:362
Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()
claim_part · Database
2 ms
apps/projects/environments.py:79
obj.save(update_fields=update_fields)
get_or_create_environment · Database
2 ms
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save · Database
2 ms
apps/projects/models.py:240
existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))
TestManager.slugs_for · Database
2 ms
apps/projects/models.py:230
self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order
TestManager.upsert · Database
2 ms
apps/projects/profiles.py:262
"version": document.get("version"),
snapshot_document · App code
2 ms
apps/projects/profiles.py:313
cursor.executemany(SNAPSHOT_UPSERT, batch)
write_snapshots · Database
2 ms

Fixtures

Exact setup time
_live_server_helper function 0.09 ms
_template_string_if_invalid_marker function 0.06 ms
_dj_autoclear_mailbox function 0.04 ms
_django_db_marker function 0.03 ms
_django_set_urlconf function 0.03 ms
monkeypatch function 0.03 ms
_django_clear_site_cache function 0.02 ms

Database

59 queries · 22 ms

Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).

3×
SELECT "projects_profilepart"."id", "projects_profilepart"."profile_id", "projects_profilepart"."index", "projects_profilepart"."count", "projects_profilepart"."checksum", "projects_profilepart"."status", "projects_profilepart"."error", "projects_profilepart"."tests_count", "projects_profilepart"."…
3×
SELECT "projects_environment"."id", "projects_environment"."project_id", "projects_environment"."name", "projects_environment"."kind", "projects_environment"."provider", "projects_environment"."details", "projects_environment"."date_first_seen", "projects_environment"."date_last_seen" FROM "project…
3×
SELECT "projects_testdailystats"."id", "projects_testdailystats"."project_id", "projects_testdailystats"."test_id", "projects_testdailystats"."environment_id", "projects_testdailystats"."day", "projects_testdailystats"."runs", "projects_testdailystats"."failures", "projects_testdailystats"."duratio…

Biggest pieces of work

call test body
apps/projects/tests.py:1389
35 ms
call setUp
apps/projects/tests.py:1375
6 ms
call _post_teardown
django/test/testcases.py:1240
4 ms

Reliability

5 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 5 results, oldest first in the strip
When Environment Outcome Duration Commit
an hour ago CI github-actions:test passed 45 ms 9caa567 main Profile
an hour ago CI github-actions:test passed 46 ms ec75501 main Profile
8 hours ago CI github-actions:test passed 53 ms d2c12e5 main Profile
8 hours ago CI github-actions:test passed 31 ms 0b902f6 main Profile
8 hours ago CI github-actions:test passed 48 ms 78a4357 main Profile