Tests / apps/api/tests.py
IngestStartEndpointTest::test_ingest_valid
First seen 2 years, 11 months ago in 6555e46
CI
github-actions:test
12 runs
Average
173 ms
median 181 ms
max 281 ms
max 281 ms
Phases
Setup 0.85 ms
Call 172 ms
Teardown 0.38 ms
Categories
Database 39 ms
Factories 0.78 ms
App code 0.12 ms
Other (DB schema, Libraries, pytest, Imports, ...) 133 ms
91 database queries per run
Needs 302 KB of memory (max 796 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call152 ms99.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()92 ms60.0%
TransactionTestCase._fixture_teardowndjango/test/testcases.py:127592 ms60.0%
call_commanddjango/core/management/__init__.py:19592 ms60.0%
BaseCommand.executedjango/core/management/base.py:46092 ms60.0%
Command.handledjango/core/management/commands/flush.py:7445 ms29.5%
BaseDatabaseOperations.execute_sql_flushdjango/db/backends/base/operations.py:46838 ms24.6%
CursorWrapper.executedjango/db/backends/utils.py:7938 ms24.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9238 ms24.6%
CursorWrapper._executedjango/db/backends/utils.py:10338 ms24.6%
Cursor.executepsycopg/cursor.py:11338 ms24.6%
Connection.waitpsycopg/connection.py:49538 ms24.6%
BaseDatabaseOperations.execute_sql_flushdjango/db/backends/base/operations.py:4628 ms4.9%
Atomic.__exit__django/db/transaction.py:2638 ms4.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:268 ms4.9%
BaseDatabaseWrapper.commitdjango/db/backends/base/base.py:3278 ms4.9%
BaseDatabaseWrapper._commitdjango/db/backends/base/base.py:3038 ms4.9%
Connection.commitpsycopg/connection.py:3098 ms4.9%
Connection.waitpsycopg/connection.py:4958 ms4.9%
Command.handledjango/core/management/commands/flush.py:9241 ms26.6%
emit_post_migrate_signaldjango/core/management/sql.py:5241 ms26.6%
Signal.senddjango/dispatch/dispatcher.py:20941 ms26.6%
create_permissionsdjango/contrib/auth/management/__init__.py:10712 ms7.9%
QuerySet.bulk_createdjango/db/models/query.py:83311 ms6.9%
QuerySet._batched_insertdjango/db/models/query.py:195611 ms6.9%
QuerySet._insertdjango/db/models/query.py:191811 ms6.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:192511 ms6.9%
CursorWrapper.executedjango/db/backends/utils.py:7911 ms6.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9211 ms6.9%
CursorWrapper._executedjango/db/backends/utils.py:1059 ms5.9%
Cursor.executepsycopg/cursor.py:1139 ms5.9%
Connection.waitpsycopg/connection.py:4959 ms5.9%
create_permissionsdjango/contrib/auth/management/__init__.py:6111 ms6.9%
create_contenttypesdjango/contrib/contenttypes/management/__init__.py:1326 ms3.9%
QuerySet.bulk_createdjango/db/models/query.py:8335 ms3.0%
QuerySet._batched_insertdjango/db/models/query.py:19565 ms3.0%
QuerySet._insertdjango/db/models/query.py:19185 ms3.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19255 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:795 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms3.0%
Cursor.executepsycopg/cursor.py:1135 ms3.0%
Connection.waitpsycopg/connection.py:4955 ms3.0%
QuerySet.bulk_createdjango/db/models/query.py:8322 ms1.0%
create_contenttypesdjango/contrib/contenttypes/management/__init__.py:1225 ms3.0%
QuerySet.__iter__django/db/models/query.py:3905 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms3.0%
FlatValuesListIterable.__iter__django/db/models/query.py:2775 ms3.0%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15735 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms2.0%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.0%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.0%
Cursor.executepsycopg/cursor.py:1133 ms2.0%
Connection.waitpsycopg/connection.py:4953 ms2.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.0%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.0%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.0%
create_permissionsdjango/contrib/auth/management/__init__.py:808 ms4.9%
ContentTypeManager.get_for_modelsdjango/contrib/contenttypes/models.py:916 ms3.9%
QuerySet.__iter__django/db/models/query.py:3906 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20006 ms3.9%
ModelIterable.__iter__django/db/models/query.py:956 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16246 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:796 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:926 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1056 ms3.9%
Cursor.executepsycopg/cursor.py:1136 ms3.9%
Connection.waitpsycopg/connection.py:4956 ms3.9%
ContentTypeManager.get_for_modelsdjango/contrib/contenttypes/models.py:902 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.filterdjango/db/models/query.py:15422 ms1.0%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.0%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.0%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.0%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.0%
Query.build_filterdjango/db/models/sql/query.py:15282 ms1.0%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.0%
Query.build_filterdjango/db/models/sql/query.py:15282 ms1.0%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.0%
Query.build_filterdjango/db/models/sql/query.py:15992 ms1.0%
create_permissionsdjango/contrib/auth/management/__init__.py:876 ms3.9%
QuerySet.__iter__django/db/models/query.py:3906 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20006 ms3.9%
ValuesListIterable.__iter__django/db/models/query.py:2386 ms3.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15736 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16246 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:796 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:926 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1056 ms3.9%
Cursor.executepsycopg/cursor.py:1136 ms3.9%
Connection.waitpsycopg/connection.py:4956 ms3.9%
create_contenttypesdjango/contrib/contenttypes/management/__init__.py:1223 ms2.0%
QuerySet.__iter__django/db/models/query.py:3903 ms2.0%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms2.0%
FlatValuesListIterable.__iter__django/db/models/query.py:2773 ms2.0%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms2.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms2.0%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.0%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.0%
Cursor.executepsycopg/cursor.py:1133 ms2.0%
Connection.waitpsycopg/connection.py:4953 ms2.0%
create_permissionsdjango/contrib/auth/management/__init__.py:982 ms1.0%
_get_all_permissionsdjango/contrib/auth/management/__init__.py:212 ms1.0%
Command.handledjango/core/management/commands/flush.py:525 ms3.0%
sql_flushdjango/core/management/sql.py:115 ms3.0%
BaseDatabaseIntrospection.django_table_namesdjango/db/backends/base/introspection.py:1135 ms3.0%
BaseDatabaseIntrospection.table_namesdjango/db/backends/base/introspection.py:605 ms3.0%
BaseDatabaseIntrospection.table_names.<locals>.get_namesdjango/db/backends/base/introspection.py:545 ms3.0%
DatabaseIntrospection.get_table_listdjango/db/backends/postgresql/introspection.py:585 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:795 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1035 ms3.0%
Cursor.executepsycopg/cursor.py:1135 ms3.0%
Connection.waitpsycopg/connection.py:4955 ms3.0%
Command.handledjango/core/management/commands/flush.py:482 ms1.0%
import_module<stdlib>/importlib/__init__.py:882 ms1.0%
_gcd_import<frozen importlib._bootstrap>:13892 ms1.0%
_find_and_load<frozen importlib._bootstrap>:13532 ms1.0%
_find_and_load_unlocked<frozen importlib._bootstrap>:12382 ms1.0%
_find_spec<frozen importlib._bootstrap>:11642 ms1.0%
PurePath.with_suffix<stdlib>/pathlib/__init__.py:4362 ms1.0%
PurePath.stem<stdlib>/pathlib/__init__.py:4482 ms1.0%
PurePath.name<stdlib>/pathlib/__init__.py:4042 ms1.0%
PurePath._tail<stdlib>/pathlib/__init__.py:3672 ms1.0%
PurePath._raw_path<stdlib>/pathlib/__init__.py:3402 ms1.0%
join<frozen posixpath>:832 ms1.0%
IngestStartEndpointTest.test_ingest_validapps/api/tests.py:122 response = self.ingest_start({"test": "test"})33 ms21.6%
IngestStartEndpointTest.ingest_startapps/api/tests.py:98 return self.client.post(33 ms21.6%
Client.postdjango/test/client.py:115333 ms21.6%
RequestFactory.postdjango/test/client.py:49933 ms21.6%
RequestFactory.genericdjango/test/client.py:67133 ms21.6%
Client.requestdjango/test/client.py:108233 ms21.6%
ClientHandler.__call__django/test/client.py:18621 ms13.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14121 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13021 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12321 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3421 ms13.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms13.8%
BaseHandler._get_responsedjango/core/handlers/base.py:19821 ms13.8%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6521 ms13.8%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:3721 ms13.8%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6421 ms13.8%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:7518 ms11.8%
ingest_startapps/api/urls.py:100 process_ingest_start(ingest.id)14 ms8.9%
_SharedTaskProxy.__call__potatoq/app.py:76314 ms8.9%
Task.__call__potatoq/task.py:18914 ms8.9%
process_ingest_startapps/api/tasks.py:773 ms2.0%
get_or_create_numberedapps/projects/models.py:23 with transaction.atomic():2 ms1.0%
get_or_create_numberedapps/projects/models.py:24 return model.objects.create(project=project, number=number, **lookup, **(defaults or {})), True2 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.createdjango/db/models/query.py:6692 ms1.0%
Run.saveapps/projects/models.py:188 super().save(*args, **kwargs)2 ms1.0%
Model.savedjango/db/models/base.py:8742 ms1.0%
Model.save_basedjango/db/models/base.py:9662 ms1.0%
Model._save_tabledjango/db/models/base.py:11672 ms1.0%
Model._do_insertdjango/db/models/base.py:12182 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet._insertdjango/db/models/query.py:19182 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
process_ingest_startapps/api/tasks.py:843 ms2.0%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(3 ms2.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.0%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms1.0%
QuerySet.getdjango/db/models/query.py:6352 ms1.0%
QuerySet.__len__django/db/models/query.py:3722 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.0%
ModelIterable.__iter__django/db/models/query.py:952 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms1.0%
QuerySet.createdjango/db/models/query.py:6692 ms1.0%
Model.savedjango/db/models/base.py:8742 ms1.0%
Model.save_basedjango/db/models/base.py:9662 ms1.0%
Model._save_tabledjango/db/models/base.py:11672 ms1.0%
Model._do_insertdjango/db/models/base.py:12182 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet._insertdjango/db/models/query.py:19182 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
process_ingest_startapps/api/tasks.py:89 Session.objects.get_or_create(3 ms2.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.0%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms1.0%
QuerySet.createdjango/db/models/query.py:6692 ms1.0%
Model.savedjango/db/models/base.py:8742 ms1.0%
Model.save_basedjango/db/models/base.py:9662 ms1.0%
Model._save_tabledjango/db/models/base.py:11672 ms1.0%
Model._do_insertdjango/db/models/base.py:12182 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet._insertdjango/db/models/query.py:19182 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
QuerySet.get_or_createdjango/db/models/query.py:9922 ms1.0%
Atomic.__exit__django/db/transaction.py:2472 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.0%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.0%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
process_ingest_startapps/api/tasks.py:53 ingest = Ingest.objects.only("id").select_for_update().get(id=ingest_id)2 ms1.0%
QuerySet.getdjango/db/models/query.py:6352 ms1.0%
QuerySet.__len__django/db/models/query.py:3722 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1092 ms1.0%
get_related_populatorsdjango/db/models/query.py:27822 ms1.0%
process_ingest_startapps/api/tasks.py:79 ingest.project,2 ms1.0%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2442 ms1.0%
ForeignObject.get_local_related_valuedjango/db/models/fields/related.py:8122 ms1.0%
ForeignObject.get_instance_value_for_fieldsdjango/db/models/fields/related.py:8342 ms1.0%
DeferredAttribute.__get__django/db/models/query_utils.py:2712 ms1.0%
Model.refresh_from_dbdjango/db/models/base.py:7582 ms1.0%
QuerySet.getdjango/db/models/query.py:6352 ms1.0%
QuerySet.__len__django/db/models/query.py:3722 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.0%
ModelIterable.__iter__django/db/models/query.py:952 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
Atomic.__exit__django/db/transaction.py:2632 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.0%
BaseDatabaseWrapper.commitdjango/db/backends/base/base.py:3272 ms1.0%
BaseDatabaseWrapper._commitdjango/db/backends/base/base.py:3032 ms1.0%
Connection.commitpsycopg/connection.py:3092 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
ingest_startapps/api/urls.py:95 "muted_tests": [{"name": test.name} for test in muted_tests],3 ms2.0%
QuerySet.__iter__django/db/models/query.py:3903 ms2.0%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms2.0%
ModelIterable.__iter__django/db/models/query.py:953 ms2.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.0%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.0%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.0%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.0%
IsNull.as_sqldjango/db/models/lookups.py:6722 ms1.0%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms1.0%
Lookup.process_lhsdjango/db/models/lookups.py:1092 ms1.0%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms1.0%
BaseExpression.copydjango/db/models/expressions.py:4442 ms1.0%
copy<stdlib>/copy.py:1002 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
ingest_startapps/api/urls.py:90 ingest = Ingest.objects.create(project=project, source="ingest_start", data=json.loads(request.body))2 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.createdjango/db/models/query.py:6692 ms1.0%
Model.savedjango/db/models/base.py:8742 ms1.0%
Model.save_basedjango/db/models/base.py:9662 ms1.0%
Model._save_tabledjango/db/models/base.py:11672 ms1.0%
Model._do_insertdjango/db/models/base.py:12182 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet._insertdjango/db/models/query.py:19182 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:72 project = get_object_or_404(Project, secrettokens__token=request.headers.get("Authorization"))2 ms1.0%
get_object_or_404django/shortcuts.py:902 ms1.0%
QuerySet.getdjango/db/models/query.py:6352 ms1.0%
QuerySet.__len__django/db/models/query.py:3722 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.0%
ModelIterable.__iter__django/db/models/query.py:952 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:73 touch_token(request.headers.get("Authorization"))2 ms1.0%
touch_tokenapps/api/urls.py:59 SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)2 ms1.0%
QuerySet.__iter__django/db/models/query.py:3902 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.0%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.0%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
ClientHandler.__call__django/test/client.py:17312 ms7.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6212 ms7.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10412 ms7.9%
WhiteNoise.add_fileswhitenoise/base.py:10812 ms7.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1209 ms5.9%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1319 ms5.9%
WhiteNoise.get_static_filewhitenoise/base.py:2086 ms3.9%
StaticFile.__init__whitenoise/responders.py:772 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms1.0%
StaticFile.__init__whitenoise/responders.py:732 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1762 ms1.0%
formatdate<stdlib>/email/utils.py:2662 ms1.0%
StaticFile.__init__whitenoise/responders.py:742 ms1.0%
parsedate<stdlib>/email/_parseaddr.py:1852 ms1.0%
StaticFile.__init__whitenoise/responders.py:762 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms1.0%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms1.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms1.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms2.0%
scantreewhitenoise/base.py:2623 ms2.0%
scantreewhitenoise/base.py:2623 ms2.0%
scantreewhitenoise/base.py:2642 ms1.0%
scantreewhitenoise/base.py:2602 ms1.0%
IngestStartEndpointTest.setUpapps/api/tests.py:73 self.project = baker.make("projects.Project", secrettokens_set__token=self.secret_token)23 ms14.8%
makemodel_bakery/baker.py:14723 ms14.8%
Baker.makemodel_bakery/baker.py:40623 ms14.8%
Baker._makemodel_bakery/baker.py:47118 ms11.8%
Baker.generate_valuemodel_bakery/baker.py:80018 ms11.8%
gen_relatedmodel_bakery/random_gen.py:27418 ms11.8%
makemodel_bakery/baker.py:14718 ms11.8%
Baker.makemodel_bakery/baker.py:40618 ms11.8%
Baker._makemodel_bakery/baker.py:48218 ms11.8%
Baker.instancemodel_bakery/baker.py:53518 ms11.8%
Model.savedjango/db/models/base.py:87418 ms11.8%
Model.save_basedjango/db/models/base.py:96618 ms11.8%
Model._save_tabledjango/db/models/base.py:116718 ms11.8%
Model._do_insertdjango/db/models/base.py:121818 ms11.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8718 ms11.8%
QuerySet._insertdjango/db/models/query.py:191818 ms11.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:192317 ms10.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2617 ms10.8%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:32017 ms10.8%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:29617 ms10.8%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30317 ms10.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2617 ms10.8%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27917 ms10.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2617 ms10.8%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25615 ms9.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2615 ms9.8%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33315 ms9.8%
Connection.connectpsycopg/connection.py:10912 ms7.9%
wait_connpsycopg/waiting.py:1456 ms3.9%
BaseConnection._connect_genpsycopg/_connection_base.py:4396 ms3.9%
wait_connpsycopg/waiting.py:1415 ms3.0%
EpollSelector.select<stdlib>/selectors.py:4525 ms3.0%
wait_connpsycopg/waiting.py:1362 ms1.0%
BaseConnection._connect_genpsycopg/_connection_base.py:4392 ms1.0%
Connection.connectpsycopg/connection.py:1002 ms1.0%
conninfo_attemptspsycopg/_conninfo_attempts.py:452 ms1.0%
_resolve_hostnamespsycopg/_conninfo_attempts.py:1022 ms1.0%
getaddrinfo<stdlib>/socket.py:9982 ms1.0%
Connection.connectpsycopg/connection.py:1072 ms1.0%
make_conninfopsycopg/conninfo.py:622 ms1.0%
_parse_conninfopsycopg/conninfo.py:1012 ms1.0%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2582 ms1.0%
DatabaseWrapper.init_connection_statedjango/db/backends/postgresql/base.py:4022 ms1.0%
DatabaseWrapper._configure_connectiondjango/db/backends/postgresql/base.py:3742 ms1.0%
DatabaseWrapper._configure_timezonedjango/db/backends/postgresql/base.py:3572 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
Baker._makemodel_bakery/baker.py:4823 ms2.0%
Baker.instancemodel_bakery/baker.py:5353 ms2.0%
Model.savedjango/db/models/base.py:8743 ms2.0%
Model.save_basedjango/db/models/base.py:9663 ms2.0%
Model._save_tabledjango/db/models/base.py:11673 ms2.0%
Model._do_insertdjango/db/models/base.py:12183 ms2.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.0%
QuerySet._insertdjango/db/models/query.py:19183 ms2.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms2.0%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.0%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.0%
Cursor.executepsycopg/cursor.py:1133 ms2.0%
Connection.waitpsycopg/connection.py:4953 ms2.0%
Baker._makemodel_bakery/baker.py:4902 ms1.0%
Baker.create_by_related_namemodel_bakery/baker.py:5602 ms1.0%
makemodel_bakery/baker.py:1472 ms1.0%
Baker.makemodel_bakery/baker.py:4062 ms1.0%
Baker._makemodel_bakery/baker.py:4822 ms1.0%
Baker.instancemodel_bakery/baker.py:5352 ms1.0%
Model.savedjango/db/models/base.py:8742 ms1.0%
Model.save_basedjango/db/models/base.py:9662 ms1.0%
Model._save_tabledjango/db/models/base.py:11672 ms1.0%
Model._do_insertdjango/db/models/base.py:12182 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet._insertdjango/db/models/query.py:19182 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
IngestStartEndpointTest.test_ingest_validapps/api/tests.py:1302 ms1.0%
IngestStartEndpointTest.join_workersapps/api/tests.py:76 drain(current_app(), raise_on_failure=True)2 ms1.0%
drainpotatoq/testing.py:602 ms1.0%
Potatoq.loader_import_default_modulespotatoq/app.py:3532 ms1.0%
Potatoq._import_includespotatoq/app.py:3482 ms1.0%
Potatoq._do_autodiscoverpotatoq/app.py:3822 ms1.0%
import_module<stdlib>/importlib/__init__.py:882 ms1.0%
_gcd_import<frozen importlib._bootstrap>:13892 ms1.0%
_find_and_load<frozen importlib._bootstrap>:13532 ms1.0%
_find_and_load_unlocked<frozen importlib._bootstrap>:12382 ms1.0%
_find_spec<frozen importlib._bootstrap>:11642 ms1.0%
PathFinder.find_spec<frozen importlib._bootstrap_external>:12742 ms1.0%
PathFinder._get_spec<frozen importlib._bootstrap_external>:12482 ms1.0%
FileFinder.find_spec<frozen importlib._bootstrap_external>:13952 ms1.0%
IngestStartEndpointTest.test_ingest_validapps/api/tests.py:132 run = Run.objects.get(project=self.project, ingest=ingest)2 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.getdjango/db/models/query.py:6352 ms1.0%
QuerySet.__len__django/db/models/query.py:3722 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.0%
ModelIterable.__iter__django/db/models/query.py:952 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.0%
IngestStartEndpointTest.test_ingest_validapps/api/tests.py:1382 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.0%
QuerySet.getdjango/db/models/query.py:6352 ms1.0%
QuerySet.__len__django/db/models/query.py:3722 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.0%
ModelIterable.__iter__django/db/models/query.py:952 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.0%
Cursor.executepsycopg/cursor.py:1132 ms1.0%
Connection.waitpsycopg/connection.py:4952 ms1.0%
Estimated from 101 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/api/tests.py:73
self.project = baker.make("projects.Project", secrettokens_set__token=self.secret_token)
IngestStartEndpointTest.setUp
· Database
|
23 ms |
|
apps/api/tests.py:98
return self.client.post(
IngestStartEndpointTest.ingest_start
· Libraries
|
12 ms |
|
apps/api/urls.py:95
"muted_tests": [{"name": test.name} for test in muted_tests],
ingest_start
· Database
|
3 ms |
|
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment
· Database
|
3 ms |
|
apps/api/tasks.py:89
Session.objects.get_or_create(
process_ingest_start
· Database
|
3 ms |
|
apps/api/urls.py:72
project = get_object_or_404(Project, secrettokens__token=request.headers.get("Authorization"))
api_request.<locals>.decorator.<locals>.wrapped_view
· Database
|
2 ms |
|
apps/api/urls.py:59
SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)
touch_token
· Database
|
2 ms |
|
apps/api/urls.py:90
ingest = Ingest.objects.create(project=project, source="ingest_start", data=json.loads(request.body))
ingest_start
· Database
|
2 ms |
|
apps/api/tasks.py:53
ingest = Ingest.objects.only("id").select_for_update().get(id=ingest_id)
process_ingest_start
· Database
|
2 ms |
|
apps/api/tasks.py:79
ingest.project,
process_ingest_start
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.04 ms |
| _django_set_urlconf function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
91 queries · 68 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
20×
SELECT "django_content_type"."model" AS "model" FROM "django_content_type" WHERE "django_content_type"."app_label" = %s
10×
SELECT "django_content_type"."id", "django_content_type"."app_label", "django_content_type"."model" FROM "django_content_type" WHERE ("django_content_type"."app_label" = %s AND "django_content_type"."model" IN (…))
10×
SELECT "auth_permission"."content_type_id" AS "content_type", "auth_permission"."codename" AS "codename" FROM "auth_permission" INNER JOIN "django_content_type" ON ("auth_permission"."content_type_id" = "django_content_type"."id") WHERE "auth_permission"."content_type_id" IN (…) ORDER BY "django_co…
10×
INSERT INTO "auth_permission" ("name", "content_type_id", "codename") SELECT * FROM UNNEST((%s)::varchar(?)[], (%s)::integer[], (%s)::varchar(?)[]) RETURNING "auth_permission"."id"
6×
INSERT INTO "django_content_type" ("app_label", "model") SELECT * FROM UNNEST((%s)::varchar(?)[], (%s)::varchar(?)[]) RETURNING "django_content_type"."id"
Biggest pieces of work
|
call _post_teardown
django/test/testcases.py:1240
|
92 ms |
|
call test body
apps/api/tests.py:122
|
38 ms |
|
call setUp
apps/api/tests.py:73
|
23 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 | 153 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 106 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 173 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 139 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 205 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 120 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 202 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 199 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 188 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 199 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 108 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 281 ms | Profile |