Tests / apps/projects/tests.py
ProjectPagesTest::test_htmx_refresh
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
54 ms
median 59 ms
max 90 ms
max 90 ms
Phases
Setup 0.70 ms
Call 53 ms
Teardown 0.17 ms
Categories
Database 29 ms
Other (Libraries, Unsampled, pytest, Deep copies, ...) 25 ms
30 database queries per run
Needs 4 KB of memory (max 8 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup0.73 ms1.2%
call60 ms98.5%
ProjectPagesTest.test_htmx_refreshapps/projects/tests.py:1131 response = self.client.get(self.project.url("htmx_refresh"))40 ms65.7%
Client.getdjango/test/client.py:112440 ms65.7%
RequestFactory.getdjango/test/client.py:47540 ms65.7%
RequestFactory.genericdjango/test/client.py:67140 ms65.7%
Client.requestdjango/test/client.py:108240 ms65.7%
ClientHandler.__call__django/test/client.py:18634 ms56.3%
BaseHandler.get_responsedjango/core/handlers/base.py:14134 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13034 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30934 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12334 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30934 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30934 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30934 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30934 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30934 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30934 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3434 ms56.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5534 ms56.3%
BaseHandler._get_responsedjango/core/handlers/base.py:19834 ms56.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5934 ms56.3%
htmx_refreshapps/projects/urls.py:60133 ms54.0%
managed_projectapps/projects/urls.py:61 project = get_object_or_404(31 ms51.6%
get_object_or_404django/shortcuts.py:9031 ms51.6%
QuerySet.getdjango/db/models/query.py:63531 ms51.6%
QuerySet.__len__django/db/models/query.py:37231 ms51.6%
QuerySet._fetch_alldjango/db/models/query.py:200031 ms51.6%
ModelIterable.__iter__django/db/models/query.py:9531 ms51.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162431 ms51.6%
CursorWrapper.executedjango/db/backends/utils.py:7931 ms51.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9231 ms51.6%
CursorWrapper._executedjango/db/backends/utils.py:10531 ms51.6%
Cursor.executepsycopg/cursor.py:11331 ms51.6%
Connection.waitpsycopg/connection.py:49531 ms51.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms2.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3181 ms2.3%
BaseCursor._set_resultspsycopg/_cursor_base.py:5351 ms2.3%
BaseCursor._select_current_resultpsycopg/_cursor_base.py:5141 ms2.3%
managed_projectapps/projects/urls.py:641 ms2.3%
can_manageapps/projects/urls.py:441 ms2.3%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()1 ms2.3%
QuerySet.existsdjango/db/models/query.py:13371 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms2.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951 ms2.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms2.3%
WhereNode.as_sqldjango/db/models/sql/where.py:1511 ms2.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms2.3%
RelatedLookupMixin.as_sqldjango/db/models/fields/related_lookups.py:1281 ms2.3%
Exact.as_sqldjango/db/models/lookups.py:4071 ms2.3%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2381 ms2.3%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2301 ms2.3%
Lookup.process_lhsdjango/db/models/lookups.py:1101 ms2.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms2.3%
htmx_refreshapps/projects/urls.py:613 TestRun.objects.filter(test__project=project).exists() or Profile.objects.filter(project=project).exists()1 ms2.3%
QuerySet.existsdjango/db/models/query.py:13371 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 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%
ClientHandler.__call__django/test/client.py:1736 ms9.4%
BaseHandler.load_middlewaredjango/core/handlers/base.py:626 ms9.4%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1046 ms9.4%
WhiteNoise.add_fileswhitenoise/base.py:1086 ms9.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1204 ms7.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1313 ms4.7%
WhiteNoise.get_static_filewhitenoise/base.py:2083 ms4.7%
StaticFile.__init__whitenoise/responders.py:771 ms2.3%
StaticFile.get_alternativeswhitenoise/responders.py:2001 ms2.3%
StaticFile.__init__whitenoise/responders.py:721 ms2.3%
StaticFile.get_file_statswhitenoise/responders.py:1611 ms2.3%
__init____init__:-11 ms2.3%
FileEntry.__init__whitenoise/responders.py:2631 ms2.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1151 ms2.3%
scantreewhitenoise/base.py:2621 ms2.3%
scantreewhitenoise/base.py:2621 ms2.3%
scantreewhitenoise/base.py:2641 ms2.3%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)7 ms11.7%
ClientMixin.force_logindjango/test/client.py:8557 ms11.7%
ClientMixin._logindjango/test/client.py:8816 ms9.4%
logindjango/contrib/auth/__init__.py:1874 ms7.0%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4343 ms4.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:701 ms2.3%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1981 ms2.3%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms2.3%
QuerySet.existsdjango/db/models/query.py:13371 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 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%
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%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms2.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 ms2.3%
Atomic.__exit__django/db/transaction.py:2471 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms2.3%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 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%
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%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4371 ms2.3%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1751 ms2.3%
Model.deletedjango/db/models/base.py:12981 ms2.3%
Collector.deletedjango/db/models/deletion.py:4521 ms2.3%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:431 ms2.3%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:251 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%
logindjango/contrib/auth/__init__.py:1751 ms2.3%
SessionBase.__contains__django/contrib/sessions/backends/base.py:521 ms2.3%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2511 ms2.3%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551 ms2.3%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 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:16131 ms2.3%
Query.build_lookupdjango/db/models/sql/query.py:14401 ms2.3%
ClientMixin._logindjango/test/client.py:8831 ms2.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 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%
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%
ProjectPagesTest.test_htmx_refreshapps/projects/tests.py:1133 response = self.client.get(self.project.url("htmx_refresh", self.ingest_run.number))7 ms11.7%
Client.getdjango/test/client.py:11247 ms11.7%
RequestFactory.getdjango/test/client.py:4757 ms11.7%
RequestFactory.genericdjango/test/client.py:6717 ms11.7%
Client.requestdjango/test/client.py:10827 ms11.7%
ClientHandler.__call__django/test/client.py:1866 ms9.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1416 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1306 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1236 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:346 ms9.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms9.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1986 ms9.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:563 ms4.7%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:793 ms4.7%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms4.7%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms4.7%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms4.7%
get_userdjango/contrib/auth/middleware.py:203 ms4.7%
get_userdjango/contrib/auth/__init__.py:3111 ms2.3%
_get_user_session_keydjango/contrib/auth/__init__.py:951 ms2.3%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:551 ms2.3%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2511 ms2.3%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551 ms2.3%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 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%
get_userdjango/contrib/auth/__init__.py:3181 ms2.3%
ModelBackend.get_userdjango/contrib/auth/backends.py:2321 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 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%
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%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:593 ms4.7%
htmx_refreshapps/projects/urls.py:6013 ms4.7%
managed_projectapps/projects/urls.py:61 project = get_object_or_404(1 ms2.3%
get_object_or_404django/shortcuts.py:901 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%
managed_projectapps/projects/urls.py:641 ms2.3%
can_manageapps/projects/urls.py:441 ms2.3%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()1 ms2.3%
QuerySet.existsdjango/db/models/query.py:13371 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 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%
ClientHandler.__call__django/test/client.py:2071 ms2.3%
HttpResponseBase.closedjango/http/response.py:3411 ms2.3%
Signal.senddjango/dispatch/dispatcher.py:2091 ms2.3%
close_cachesdjango/core/cache/__init__.py:641 ms2.3%
BaseConnectionHandler.close_alldjango/utils/connection.py:841 ms2.3%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms7.0%
TestCase._fixture_teardowndjango/test/testcases.py:14953 ms4.7%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4833 ms4.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.7%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms4.7%
Cursor.executepsycopg/cursor.py:1133 ms4.7%
Connection.waitpsycopg/connection.py:4953 ms4.7%
TestCase._fixture_teardowndjango/test/testcases.py:14971 ms2.3%
TestCase._rollback_atomicsdjango/test/testcases.py:14051 ms2.3%
Atomic.__exit__django/db/transaction.py:2831 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms2.3%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4131 ms2.3%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3711 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%
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%
Estimated from 43 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/urls.py:61
project = get_object_or_404(
managed_project
· Database
|
33 ms |
|
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Database
|
7 ms |
|
apps/projects/tests.py:1131
response = self.client.get(self.project.url("htmx_refresh"))
ProjectPagesTest.test_htmx_refresh
· Libraries
|
6 ms |
|
apps/projects/tests.py:1133
response = self.client.get(self.project.url("htmx_refresh", self.ingest_run.number))
ProjectPagesTest.test_htmx_refresh
· Database
|
4 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
3 ms |
|
apps/projects/urls.py:613
TestRun.objects.filter(test__project=project).exists() or Profile.objects.filter(project=project).exists()
htmx_refresh
· Database
|
1 ms |
Fixtures
Exact setup time| _django_set_urlconf function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
30 queries · 10 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
3×
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > %s AND "django_session"."session_key" = %s) LIMIT ?
Biggest pieces of work
|
call test body
apps/projects/tests.py:1131
|
47 ms |
|
call setUp
apps/projects/tests.py:954
|
7 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
1 ms |
| setup pytest internals | 0.73 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 | 60 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 27 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 52 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 43 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 73 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 35 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 90 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 60 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 60 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 59 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 30 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 59 ms | Profile |