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

IngestEnvironmentTest::test_old_client_on_unknown_ci

First seen 9 hours ago in 78a4357
CI github-actions:test 5 runs
Average
56 ms
median 58 ms
max 77 ms
Phases
Setup 0.74 ms Call 55 ms Teardown 0.19 ms
Categories
Database 22 ms App code 0.34 ms Other (Libraries, Unsampled, pytest) 34 ms

34 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, 2 hours ago · open run
Hide pytest frames
call57 ms98.2%
CallInfo.from_call_pytest/runner.py:35357 ms98.2%
call_and_report.<locals>.<lambda>_pytest/runner.py:24557 ms98.2%
HookCaller.__call__pluggy/_hooks.py:51257 ms98.2%
PluginManager._hookexecpluggy/_manager.py:12057 ms98.2%
_multicallpluggy/_callers.py:12157 ms98.2%
pytest_runtest_call_pytest/runner.py:17957 ms98.2%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:57357 ms98.2%
SimpleTestCase.__call__django/test/testcases.py:31357 ms98.2%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36855 ms94.8%
TestCase.__call__<stdlib>/unittest/case.py:74755 ms94.8%
TestCase.run<stdlib>/unittest/case.py:69155 ms94.8%
TestCase._callTestMethod<stdlib>/unittest/case.py:63755 ms94.8%
IngestEnvironmentTest.test_old_client_on_unknown_ciapps/api/tests.py:406 session = self.ingest_start({"env": {"CI": "true"}})53 ms91.4%
IngestEnvironmentTest.ingest_startapps/api/tests.py:352 response = self.client.post(51 ms88.0%
Client.postdjango/test/client.py:115351 ms88.0%
RequestFactory.postdjango/test/client.py:49951 ms88.0%
RequestFactory.genericdjango/test/client.py:67151 ms88.0%
Client.requestdjango/test/client.py:108251 ms88.0%
ClientHandler.__call__django/test/client.py:18628 ms47.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14128 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13028 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12328 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3428 ms47.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms47.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19828 ms47.4%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6528 ms47.4%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:3728 ms47.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6428 ms47.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:7524 ms40.6%
ingest_startapps/api/urls.py:100 process_ingest_start(ingest.id)20 ms33.9%
_SharedTaskProxy.__call__potatoq/app.py:76320 ms33.9%
Task.__call__potatoq/task.py:18920 ms33.9%
ContextDecorator.__call__.<locals>.inner<stdlib>/contextlib.py:11616 ms27.1%
process_ingest_startapps/api/tasks.py:778 ms13.5%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).first()4 ms6.8%
QuerySet.firstdjango/db/models/query.py:11454 ms6.8%
QuerySet.__iter__django/db/models/query.py:3904 ms6.8%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms6.8%
ModelIterable.__iter__django/db/models/query.py:954 ms6.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms6.8%
CursorWrapper.executedjango/db/backends/utils.py:794 ms6.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms6.8%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1004 ms6.8%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms6.8%
Cursor.executepsycopg/cursor.py:1134 ms6.8%
Connection.waitpsycopg/connection.py:4954 ms6.8%
get_or_create_numberedapps/projects/models.py:21 number = next_number(model, project.pk)2 ms3.4%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 12 ms3.4%
QuerySet.aggregatedjango/db/models/query.py:5942 ms3.4%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms3.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
get_or_create_numberedapps/projects/models.py:24 return model.objects.create(project=project, number=number, **lookup, **(defaults or {})), True2 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.4%
QuerySet.createdjango/db/models/query.py:6692 ms3.4%
Run.saveapps/projects/models.py:188 super().save(*args, **kwargs)2 ms3.4%
Model.savedjango/db/models/base.py:8742 ms3.4%
Model.save_basedjango/db/models/base.py:9662 ms3.4%
Model._save_tabledjango/db/models/base.py:11672 ms3.4%
Model._do_insertdjango/db/models/base.py:12182 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.4%
QuerySet._insertdjango/db/models/query.py:19182 ms3.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
process_ingest_startapps/api/tasks.py:89 Session.objects.get_or_create(4 ms6.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms6.8%
QuerySet.get_or_createdjango/db/models/query.py:9922 ms3.4%
Atomic.__enter__django/db/transaction.py:2112 ms3.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.4%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms3.4%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms3.4%
QuerySet.createdjango/db/models/query.py:6692 ms3.4%
Model.savedjango/db/models/base.py:8742 ms3.4%
Model.save_basedjango/db/models/base.py:9662 ms3.4%
Model._save_tabledjango/db/models/base.py:11672 ms3.4%
Model._do_insertdjango/db/models/base.py:12182 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.4%
QuerySet._insertdjango/db/models/query.py:19182 ms3.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1022 ms3.4%
QueryStats.addflakytest/profiling/dbtrack.py:382 ms3.4%
normalize_sqlflakytest/profiling/dbtrack.py:252 ms3.4%
process_ingest_startapps/api/tasks.py:79 ingest.project,2 ms3.4%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2442 ms3.4%
ForeignObject.get_local_related_valuedjango/db/models/fields/related.py:8122 ms3.4%
ForeignObject.get_instance_value_for_fieldsdjango/db/models/fields/related.py:8342 ms3.4%
DeferredAttribute.__get__django/db/models/query_utils.py:2712 ms3.4%
Model.refresh_from_dbdjango/db/models/base.py:7582 ms3.4%
QuerySet.getdjango/db/models/query.py:6352 ms3.4%
QuerySet.__len__django/db/models/query.py:3722 ms3.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.4%
ModelIterable.__iter__django/db/models/query.py:952 ms3.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
process_ingest_startapps/api/tasks.py:842 ms3.4%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(2 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.4%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms3.4%
QuerySet.createdjango/db/models/query.py:6692 ms3.4%
Model.savedjango/db/models/base.py:8742 ms3.4%
Model.save_basedjango/db/models/base.py:9662 ms3.4%
Model._save_tabledjango/db/models/base.py:11672 ms3.4%
Model._do_insertdjango/db/models/base.py:12182 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.4%
QuerySet._insertdjango/db/models/query.py:19182 ms3.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
ContextDecorator.__call__.<locals>.inner<stdlib>/contextlib.py:1154 ms6.8%
Atomic.__enter__django/db/transaction.py:2112 ms3.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.4%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms3.4%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
Atomic.__exit__django/db/transaction.py:2472 ms3.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.4%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms3.4%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3742 ms3.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.4%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms3.4%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms3.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.4%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4302 ms3.4%
Connection.cursorpsycopg/connection.py:2612 ms3.4%
ingest_startapps/api/urls.py:90 ingest = Ingest.objects.create(project=project, source="ingest_start", data=json.loads(request.body))2 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.4%
QuerySet.createdjango/db/models/query.py:6692 ms3.4%
Model.savedjango/db/models/base.py:8742 ms3.4%
Model.save_basedjango/db/models/base.py:9662 ms3.4%
ingest_startapps/api/urls.py:95 "muted_tests": [{"name": test.name} for test in muted_tests],2 ms3.4%
QuerySet.__iter__django/db/models/query.py:3902 ms3.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.4%
ModelIterable.__iter__django/db/models/query.py:952 ms3.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms3.4%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms3.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.4%
Join.as_sqldjango/db/models/sql/datastructures.py:882 ms3.4%
DatabaseOperations.prepare_join_on_clausedjango/db/backends/postgresql/operations.py:3992 ms3.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:72 project = get_object_or_404(Project, secrettokens__token=request.headers.get("Authorization"))2 ms3.4%
get_object_or_404django/shortcuts.py:902 ms3.4%
QuerySet.getdjango/db/models/query.py:6352 ms3.4%
QuerySet.__len__django/db/models/query.py:3722 ms3.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.4%
ModelIterable.__iter__django/db/models/query.py:952 ms3.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms3.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms3.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms3.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:73 touch_token(request.headers.get("Authorization"))2 ms3.4%
ContextDecorator.__call__.<locals>.inner<stdlib>/contextlib.py:1162 ms3.4%
touch_tokenapps/api/urls.py:59 SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)2 ms3.4%
QuerySet.updatedjango/db/models/query.py:12732 ms3.4%
ClientHandler.__call__django/test/client.py:17324 ms40.6%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6224 ms40.6%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10422 ms37.2%
WhiteNoise.add_fileswhitenoise/base.py:10822 ms37.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12016 ms27.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13114 ms23.7%
WhiteNoise.get_static_filewhitenoise/base.py:20812 ms20.3%
StaticFile.__init__whitenoise/responders.py:778 ms13.5%
StaticFile.get_alternativeswhitenoise/responders.py:2016 ms10.2%
Headers.__setitem__<stdlib>/wsgiref/headers.py:626 ms10.2%
Headers.__delitem__<stdlib>/wsgiref/headers.py:726 ms10.2%
<GC>~6 ms10.2%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms3.4%
__init____init__:-12 ms3.4%
StaticFile.__init__whitenoise/responders.py:724 ms6.8%
StaticFile.get_file_statswhitenoise/responders.py:1614 ms6.8%
__init____init__:-12 ms3.4%
FileEntry.__init__whitenoise/responders.py:2632 ms3.4%
FileEntry.stat_regular_filewhitenoise/responders.py:2762 ms3.4%
<GC>~2 ms3.4%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms3.4%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms3.4%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms3.4%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms3.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms3.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1156 ms10.2%
scantreewhitenoise/base.py:2626 ms10.2%
scantreewhitenoise/base.py:2626 ms10.2%
scantreewhitenoise/base.py:2644 ms6.8%
scantreewhitenoise/base.py:2622 ms3.4%
scantreewhitenoise/base.py:2622 ms3.4%
scantreewhitenoise/base.py:2622 ms3.4%
scantreewhitenoise/base.py:2642 ms3.4%
<GC>~2 ms3.4%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms3.4%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms3.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1202 ms3.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1312 ms3.4%
WhiteNoise.get_static_filewhitenoise/base.py:2082 ms3.4%
StaticFile.__init__whitenoise/responders.py:722 ms3.4%
IngestEnvironmentTest.ingest_startapps/api/tests.py:359 return Session.objects.get(ingest_id=response.json()["ingest_id"])2 ms3.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.4%
QuerySet.getdjango/db/models/query.py:6352 ms3.4%
QuerySet.__len__django/db/models/query.py:3722 ms3.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.4%
ModelIterable.__iter__django/db/models/query.py:952 ms3.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
IngestEnvironmentTest.test_old_client_on_unknown_ciapps/api/tests.py:407 self.assertEqual(session.environment.name, "ci:unknown")2 ms3.4%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms3.4%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms3.4%
QuerySet.getdjango/db/models/query.py:6352 ms3.4%
QuerySet.__len__django/db/models/query.py:3722 ms3.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.4%
ModelIterable.__iter__django/db/models/query.py:952 ms3.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3712 ms3.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms3.4%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms3.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms3.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.4%
Cursor.executepsycopg/cursor.py:1132 ms3.4%
Connection.waitpsycopg/connection.py:4952 ms3.4%
Estimated from 29 samples; phase durations are exact. Frames from pytest and pluggy are shown .

Hot lines in your code

apps/api/tests.py:352
response = self.client.post(
IngestEnvironmentTest.ingest_start · Libraries
24 ms
apps/projects/models.py:18
existing = model.objects.filter(project=project, **lookup).first()
get_or_create_numbered · Database
4 ms
apps/api/urls.py:100
process_ingest_start(ingest.id)
ingest_start · Database
4 ms
apps/api/tasks.py:89
Session.objects.get_or_create(
process_ingest_start · Database
4 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/urls.py:95
"muted_tests": [{"name": test.name} for test in muted_tests],
ingest_start · Database
2 ms
apps/api/tasks.py:79
ingest.project,
process_ingest_start · Database
2 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
2 ms

Fixtures

Exact setup time
_template_string_if_invalid_marker function 0.08 ms
_dj_autoclear_mailbox function 0.05 ms
_django_db_marker function 0.05 ms
_live_server_helper function 0.04 ms
_django_set_urlconf function 0.04 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.02 ms

Database

34 queries · 12 ms
No repeated queries.

Biggest pieces of work

call test body
apps/api/tests.py:406
55 ms
call _post_teardown
django/test/testcases.py:1240
2 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
2 hours ago CI github-actions:test passed 58 ms 9caa567 main Profile
2 hours ago CI github-actions:test passed 57 ms ec75501 main Profile
9 hours ago CI github-actions:test passed 77 ms d2c12e5 main Profile
9 hours ago CI github-actions:test passed 28 ms 0b902f6 main Profile
9 hours ago CI github-actions:test passed 59 ms 78a4357 main Profile