Tests / apps/projects/tests.py
BackfillSessionEnvironmentsTest::test_backfill
First seen 8 hours ago in 78a4357
CI
github-actions:test
5 runs
Average
54 ms
median 57 ms
max 61 ms
max 61 ms
Phases
Setup 10 ms
Call 43 ms
Teardown 0.59 ms
Categories
Database 47 ms
Factories 4 ms
Test code 1 ms
Other (Libraries, pytest, Unsampled) 3 ms
53 database queries per run
Needs 5 KB of memory (max 12 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, an hour ago ·
open run
setup10 ms17.8%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()10 ms17.8%
TestCase._enter_atomicsdjango/test/testcases.py:139610 ms17.8%
Atomic.__enter__django/db/transaction.py:19810 ms17.8%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45410 ms17.8%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30310 ms17.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms17.8%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27910 ms17.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms17.8%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2569 ms16.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms16.0%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3339 ms16.0%
Connection.connectpsycopg/connection.py:1098 ms14.2%
wait_connpsycopg/waiting.py:1454 ms7.1%
BaseConnection._connect_genpsycopg/_connection_base.py:4394 ms7.1%
wait_connpsycopg/waiting.py:1413 ms5.3%
EpollSelector.select<stdlib>/selectors.py:4523 ms5.3%
wait_connpsycopg/waiting.py:1401 ms1.8%
_wait_timepsycopg/waiting.py:611 ms1.8%
Connection.connectpsycopg/connection.py:1001 ms1.8%
conninfo_attemptspsycopg/_conninfo_attempts.py:451 ms1.8%
_resolve_hostnamespsycopg/_conninfo_attempts.py:1021 ms1.8%
getaddrinfo<stdlib>/socket.py:9981 ms1.8%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2581 ms1.8%
DatabaseWrapper.init_connection_statedjango/db/backends/postgresql/base.py:4041 ms1.8%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:4541 ms1.8%
call46 ms81.1%
BackfillSessionEnvironmentsTest.test_backfillapps/projects/tests.py:662 migration.backfill(django_apps, None)12 ms20.8%
backfillapps/projects/migrations/0012_backfill_session_environments.py:36 environments[key], _ = Environment.objects.get_or_create(5 ms9.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:875 ms9.3%
QuerySet.get_or_createdjango/db/models/query.py:9873 ms4.6%
QuerySet.getdjango/db/models/query.py:6351 ms2.3%
QuerySet.__len__django/db/models/query.py:3721 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
QuerySet.getdjango/db/models/query.py:6251 ms2.3%
QuerySet.filterdjango/db/models/query.py:15421 ms2.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms2.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms2.3%
Query.add_qdjango/db/models/sql/query.py:16711 ms2.3%
Query._add_qdjango/db/models/sql/query.py:17031 ms2.3%
Query.build_filterdjango/db/models/sql/query.py:16111 ms2.3%
Query._get_coldjango/db/models/sql/query.py:4511 ms2.3%
QuerySet.get_or_createdjango/db/models/query.py:9941 ms2.3%
QuerySet.createdjango/db/models/query.py:6691 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19231 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms2.3%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
QuerySet.get_or_createdjango/db/models/query.py:9921 ms2.3%
Atomic.__enter__django/db/transaction.py:2111 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms2.3%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
backfillapps/projects/migrations/0012_backfill_session_environments.py:30 for session in sessions.iterator(chunk_size=500):4 ms6.9%
QuerySet._iteratordjango/db/models/query.py:5084 ms6.9%
ModelIterable.__iter__django/db/models/query.py:1273 ms4.6%
SQLCompiler.apply_convertersdjango/db/models/sql/compiler.py:15383 ms4.6%
cursor_iterdjango/db/models/sql/compiler.py:22543 ms4.6%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22543 ms4.6%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1013 ms4.6%
ServerCursor.fetchmanypsycopg/_server_cursor.py:1213 ms4.6%
Connection.waitpsycopg/connection.py:4953 ms4.6%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
ServerCursor.executepsycopg/_server_cursor.py:961 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
backfillapps/projects/migrations/0012_backfill_session_environments.py:50 Session.objects.bulk_update(batch, ["environment", "python_version"])1 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet.bulk_updatedjango/db/models/query.py:9631 ms2.3%
QuerySet.updatedjango/db/models/query.py:12741 ms2.3%
UpdateQuery.add_update_valuesdjango/db/models/sql/subqueries.py:1041 ms2.3%
UpdateQuery.add_update_fieldsdjango/db/models/sql/subqueries.py:1191 ms2.3%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3011 ms2.3%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3011 ms2.3%
When.resolve_expressiondjango/db/models/expressions.py:16291 ms2.3%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3011 ms2.3%
Value.resolve_expressiondjango/db/models/expressions.py:11881 ms2.3%
backfillapps/projects/migrations/0012_backfill_session_environments.py:52 environment.save(update_fields=["date_last_seen"])1 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11101 ms2.3%
Model._do_updatedjango/db/models/base.py:12111 ms2.3%
QuerySet._updatedjango/db/models/query.py:13271 ms2.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BackfillSessionEnvironmentsTest.test_backfillapps/projects/tests.py:653 ci_session = baker.make(11 ms18.5%
makemodel_bakery/baker.py:14711 ms18.5%
Baker.makemodel_bakery/baker.py:40611 ms18.5%
Baker._makemodel_bakery/baker.py:4717 ms11.6%
Baker.generate_valuemodel_bakery/baker.py:8007 ms11.6%
gen_relatedmodel_bakery/random_gen.py:2747 ms11.6%
makemodel_bakery/baker.py:1477 ms11.6%
Baker.makemodel_bakery/baker.py:4067 ms11.6%
Baker._makemodel_bakery/baker.py:4824 ms6.9%
Baker.instancemodel_bakery/baker.py:5354 ms6.9%
Run.saveapps/projects/models.py:1871 ms2.3%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 11 ms2.3%
QuerySet.aggregatedjango/db/models/query.py:5941 ms2.3%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Run.saveapps/projects/models.py:188 super().save(*args, **kwargs)1 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms2.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms2.3%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Baker._makemodel_bakery/baker.py:4713 ms4.6%
Baker.generate_valuemodel_bakery/baker.py:8003 ms4.6%
gen_relatedmodel_bakery/random_gen.py:2743 ms4.6%
makemodel_bakery/baker.py:1473 ms4.6%
Baker.makemodel_bakery/baker.py:4063 ms4.6%
Baker._makemodel_bakery/baker.py:4711 ms2.3%
Baker.generate_valuemodel_bakery/baker.py:8001 ms2.3%
gen_relatedmodel_bakery/random_gen.py:2741 ms2.3%
makemodel_bakery/baker.py:1471 ms2.3%
Baker.makemodel_bakery/baker.py:4061 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Baker._makemodel_bakery/baker.py:4433 ms4.6%
Baker._skip_fieldmodel_bakery/baker.py:6161 ms2.3%
Baker.generate_valuemodel_bakery/baker.py:8001 ms2.3%
gen_relatedmodel_bakery/random_gen.py:2741 ms2.3%
makemodel_bakery/baker.py:1471 ms2.3%
Baker.makemodel_bakery/baker.py:4061 ms2.3%
Baker._makemodel_bakery/baker.py:4711 ms2.3%
Baker.generate_valuemodel_bakery/baker.py:8001 ms2.3%
gen_relatedmodel_bakery/random_gen.py:2741 ms2.3%
makemodel_bakery/baker.py:1471 ms2.3%
Baker.makemodel_bakery/baker.py:4061 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11511 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BackfillSessionEnvironmentsTest.test_backfillapps/projects/tests.py:659 local_session = baker.make(Session, project=project, ingest__project=project, ingest__data={"env": {}})7 ms11.6%
makemodel_bakery/baker.py:1477 ms11.6%
Baker.makemodel_bakery/baker.py:4067 ms11.6%
Baker._makemodel_bakery/baker.py:4717 ms11.6%
Baker.generate_valuemodel_bakery/baker.py:8007 ms11.6%
gen_relatedmodel_bakery/random_gen.py:2745 ms9.3%
makemodel_bakery/baker.py:1475 ms9.3%
Baker.makemodel_bakery/baker.py:4065 ms9.3%
Baker._makemodel_bakery/baker.py:4714 ms6.9%
Baker.generate_valuemodel_bakery/baker.py:8004 ms6.9%
gen_relatedmodel_bakery/random_gen.py:2744 ms6.9%
makemodel_bakery/baker.py:1474 ms6.9%
Baker.makemodel_bakery/baker.py:4064 ms6.9%
Baker._makemodel_bakery/baker.py:4713 ms4.6%
Baker.generate_valuemodel_bakery/baker.py:8003 ms4.6%
gen_relatedmodel_bakery/random_gen.py:2743 ms4.6%
makemodel_bakery/baker.py:1473 ms4.6%
Baker.makemodel_bakery/baker.py:4063 ms4.6%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Baker._makemodel_bakery/baker.py:4711 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19241 ms2.3%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18131 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Run.saveapps/projects/models.py:1871 ms2.3%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 11 ms2.3%
QuerySet.aggregatedjango/db/models/query.py:5941 ms2.3%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BackfillSessionEnvironmentsTest.test_backfillapps/projects/tests.py:660 other_local_session = baker.make(Session, project=project, ingest__project=project, ingest__data={})7 ms11.6%
makemodel_bakery/baker.py:1477 ms11.6%
Baker.makemodel_bakery/baker.py:4067 ms11.6%
Baker._makemodel_bakery/baker.py:4717 ms11.6%
Baker.generate_valuemodel_bakery/baker.py:8007 ms11.6%
gen_relatedmodel_bakery/random_gen.py:2747 ms11.6%
makemodel_bakery/baker.py:1477 ms11.6%
Baker.makemodel_bakery/baker.py:4067 ms11.6%
Baker._makemodel_bakery/baker.py:4714 ms6.9%
Baker.generate_valuemodel_bakery/baker.py:8004 ms6.9%
gen_relatedmodel_bakery/random_gen.py:2744 ms6.9%
makemodel_bakery/baker.py:1474 ms6.9%
Baker.makemodel_bakery/baker.py:4064 ms6.9%
Baker._makemodel_bakery/baker.py:4823 ms4.6%
Baker.instancemodel_bakery/baker.py:5353 ms4.6%
Model.savedjango/db/models/base.py:8743 ms4.6%
Model.save_basedjango/db/models/base.py:9663 ms4.6%
Model._save_tabledjango/db/models/base.py:11673 ms4.6%
Model._do_insertdjango/db/models/base.py:12183 ms4.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms4.6%
QuerySet._insertdjango/db/models/query.py:19183 ms4.6%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms4.6%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Baker._makemodel_bakery/baker.py:4711 ms2.3%
Baker.generate_valuemodel_bakery/baker.py:8001 ms2.3%
gen_relatedmodel_bakery/random_gen.py:2741 ms2.3%
makemodel_bakery/baker.py:1471 ms2.3%
Baker.makemodel_bakery/baker.py:4061 ms2.3%
Baker._makemodel_bakery/baker.py:4711 ms2.3%
Baker.generate_valuemodel_bakery/baker.py:8001 ms2.3%
gen_relatedmodel_bakery/random_gen.py:2741 ms2.3%
makemodel_bakery/baker.py:1471 ms2.3%
Baker.makemodel_bakery/baker.py:4061 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Baker._makemodel_bakery/baker.py:4823 ms4.6%
Baker.instancemodel_bakery/baker.py:5353 ms4.6%
Run.saveapps/projects/models.py:1871 ms2.3%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 11 ms2.3%
QuerySet.aggregatedjango/db/models/query.py:5941 ms2.3%
Query.get_aggregationdjango/db/models/sql/query.py:4861 ms2.3%
Run.saveapps/projects/models.py:188 super().save(*args, **kwargs)1 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms6.9%
TestCase._fixture_teardowndjango/test/testcases.py:14953 ms4.6%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4831 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4841 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
TestCase._fixture_teardowndjango/test/testcases.py:14941 ms2.3%
TestCase._should_check_constraintsdjango/test/testcases.py:15031 ms2.3%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:4921 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BackfillSessionEnvironmentsTest.test_backfillapps/projects/tests.py:652 project = baker.make(Project)3 ms4.6%
makemodel_bakery/baker.py:1473 ms4.6%
Baker.makemodel_bakery/baker.py:4063 ms4.6%
Baker._makemodel_bakery/baker.py:4711 ms2.3%
Baker.generate_valuemodel_bakery/baker.py:8001 ms2.3%
gen_relatedmodel_bakery/random_gen.py:2741 ms2.3%
makemodel_bakery/baker.py:1471 ms2.3%
Baker.makemodel_bakery/baker.py:4061 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
Baker._makemodel_bakery/baker.py:4821 ms2.3%
Baker.instancemodel_bakery/baker.py:5351 ms2.3%
Model.savedjango/db/models/base.py:8741 ms2.3%
Model.save_basedjango/db/models/base.py:9661 ms2.3%
Model._save_tabledjango/db/models/base.py:11671 ms2.3%
Model._do_insertdjango/db/models/base.py:12181 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
QuerySet._insertdjango/db/models/query.py:19181 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19231 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms2.3%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4301 ms2.3%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()1 ms2.3%
TestCase._fixture_setupdjango/test/testcases.py:14781 ms2.3%
TestCase._enter_atomicsdjango/test/testcases.py:13961 ms2.3%
Atomic.__enter__django/db/transaction.py:2111 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms2.3%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
BackfillSessionEnvironmentsTest.test_backfillapps/projects/tests.py:665 local_session.refresh_from_db()1 ms2.3%
Model.refresh_from_dbdjango/db/models/base.py:7431 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms2.3%
BackfillSessionEnvironmentsTest.test_backfillapps/projects/tests.py:670 self.assertEqual(local_session.environment.name, "local:unknown")1 ms2.3%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms2.3%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms2.3%
QuerySet.getdjango/db/models/query.py:6351 ms2.3%
QuerySet.__len__django/db/models/query.py:3721 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms2.3%
ModelIterable.__iter__django/db/models/query.py:951 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms2.3%
Cursor.executepsycopg/cursor.py:1131 ms2.3%
Connection.waitpsycopg/connection.py:4951 ms2.3%
teardown0.66 ms1.2%
TestCase.tearDownClassdjango/test/testcases.py:1453 cls._rollback_atomics(cls.cls_atomics)0.66 ms1.2%
TestCase._rollback_atomicsdjango/test/testcases.py:14050.66 ms1.2%
Atomic.__exit__django/db/transaction.py:2950.66 ms1.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:260.66 ms1.2%
BaseDatabaseWrapper.rollbackdjango/db/backends/base/base.py:3370.66 ms1.2%
BaseDatabaseWrapper._rollbackdjango/db/backends/base/base.py:3080.66 ms1.2%
Connection.rollbackpsycopg/connection.py:3140.66 ms1.2%
Connection.waitpsycopg/connection.py:4950.66 ms1.2%
Estimated from 46 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:653
ci_session = baker.make(
BackfillSessionEnvironmentsTest.test_backfill
· Database
|
8 ms |
|
apps/projects/tests.py:659
local_session = baker.make(Session, project=project, ingest__project=project, ingest__data={"env": {}})
BackfillSessionEnvironmentsTest.test_backfill
· Database
|
5 ms |
|
apps/projects/migrations/0012_backfill_session_environments.py:36
environments[key], _ = Environment.objects.get_or_create(
backfill
· Database
|
5 ms |
|
apps/projects/migrations/0012_backfill_session_environments.py:30
for session in sessions.iterator(chunk_size=500):
backfill
· Database
|
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/tests.py:660
other_local_session = baker.make(Session, project=project, ingest__project=project, ingest__data={})
BackfillSessionEnvironmentsTest.test_backfill
· Database
|
4 ms |
|
apps/projects/tests.py:652
project = baker.make(Project)
BackfillSessionEnvironmentsTest.test_backfill
· Database
|
3 ms |
|
apps/projects/models.py:188
super().save(*args, **kwargs)
Run.save
· Database
|
3 ms |
|
apps/projects/migrations/0012_backfill_session_environments.py:50
Session.objects.bulk_update(batch, ["environment", "python_version"])
backfill
· Database
|
1 ms |
|
apps/projects/migrations/0012_backfill_session_environments.py:52
environment.save(update_fields=["date_last_seen"])
backfill
· Database
|
1 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_BackfillSessionEnvironmentsTest class | 9 ms |
| _django_setup_unittest class | 0.36 ms |
| _template_string_if_invalid_marker function | 0.06 ms |
| _django_db_marker function | 0.04 ms |
| _dj_autoclear_mailbox function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| _django_clear_site_cache function | 0.02 ms |
| monkeypatch function | 0.02 ms |
Database
53 queries · 23 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
7×
INSERT INTO "orgs_organization" ("name", "slug", "created_by_id", "date_created") VALUES (%s, %s, %s, %s) RETURNING "orgs_organization"."id"
7×
INSERT INTO "projects_project" ("organization_id", "name", "slug", "public", "description", "date_created", "date_updated", "created_by_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "projects_project"."id"
6×
INSERT INTO "api_ingest" ("project_id", "source", "date_created", "date_processed", "data") VALUES (%s, %s, %s, %s, %s) RETURNING "api_ingest"."id"
5×
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…
4×
SELECT "projects_session"."id", "projects_session"."project_id", "projects_session"."run_id", "projects_session"."status", "projects_session"."exit_status", "projects_session"."date_created", "projects_session"."date_finished", "projects_session"."ingest_id", "projects_session"."environment_id", "p…
Biggest pieces of work
|
call test body
apps/projects/tests.py:662
|
41 ms |
|
setup setUpClass
django/test/testcases.py:1423
|
10 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
1 ms |
|
teardown tearDownClass
django/test/testcases.py:1453
|
0.66 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| an hour ago | CI github-actions:test | passed | 57 ms | Profile |
| an hour ago | CI github-actions:test | passed | 55 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 61 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 37 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 59 ms | Profile |