CI
github-actions:test
12 runs
Average
66 ms
median 60 ms
max 192 ms
max 192 ms
Phases
Setup 0.66 ms
Call 66 ms
Teardown 0.20 ms
Categories
Database 26 ms
Other (Libraries, Imports, Unsampled, Logging, ...) 40 ms
32 database queries per run
Needs 461 KB of memory (max 752 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup0.59 ms0.3%
call191 ms99.4%
AccessTest.test_others_dontapps/orgs/tests.py:70 self.assertEqual(self.client.get(self.project.url()).status_code, 404)181 ms94.0%
Client.getdjango/test/client.py:1124180 ms93.4%
RequestFactory.getdjango/test/client.py:475180 ms93.4%
RequestFactory.genericdjango/test/client.py:671180 ms93.4%
Client.requestdjango/test/client.py:1082180 ms93.4%
ClientHandler.__call__django/test/client.py:173174 ms90.5%
BaseHandler.load_middlewaredjango/core/handlers/base.py:62174 ms90.5%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:104174 ms90.5%
WhiteNoise.add_fileswhitenoise/base.py:108174 ms90.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:120172 ms89.3%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:131172 ms89.3%
WhiteNoise.get_static_filewhitenoise/base.py:208172 ms89.3%
StaticFile.__init__whitenoise/responders.py:72171 ms88.7%
StaticFile.get_file_statswhitenoise/responders.py:161169 ms88.1%
__init____init__:-1169 ms88.1%
FileEntry.__init__whitenoise/responders.py:260165 ms85.7%
<GC>~165 ms85.7%
FileEntry.__init__whitenoise/responders.py:2635 ms2.4%
FileEntry.stat_regular_filewhitenoise/responders.py:2765 ms2.4%
<GC>~5 ms2.4%
StaticFile.__init__whitenoise/responders.py:761 ms0.6%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1891 ms0.6%
Headers.__getitem__<stdlib>/wsgiref/headers.py:831 ms0.6%
Headers.get<stdlib>/wsgiref/headers.py:1061 ms0.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms1.2%
scantreewhitenoise/base.py:2622 ms1.2%
scantreewhitenoise/base.py:2622 ms1.2%
scantreewhitenoise/base.py:2621 ms0.6%
scantreewhitenoise/base.py:2621 ms0.6%
scantreewhitenoise/base.py:2621 ms0.6%
scantreewhitenoise/base.py:2641 ms0.6%
scantreewhitenoise/base.py:2641 ms0.6%
ClientHandler.__call__django/test/client.py:1865 ms2.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1415 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1305 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1235 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:345 ms2.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms2.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1985 ms2.4%
project_dashboardapps/projects/urls.py:1325 ms2.4%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms1.2%
get_object_or_404django/shortcuts.py:902 ms1.2%
QuerySet.getdjango/db/models/query.py:6251 ms0.6%
QuerySet.filterdjango/db/models/query.py:15421 ms0.6%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms0.6%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms0.6%
Query.add_qdjango/db/models/sql/query.py:16711 ms0.6%
Query._add_qdjango/db/models/sql/query.py:17031 ms0.6%
Query.build_filterdjango/db/models/sql/query.py:15731 ms0.6%
Query.get_initial_aliasdjango/db/models/sql/query.py:11161 ms0.6%
QuerySet.getdjango/db/models/query.py:6351 ms0.6%
QuerySet.__len__django/db/models/query.py:3721 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.6%
ModelIterable.__iter__django/db/models/query.py:951 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
find_projectapps/projects/urls.py:522 ms1.2%
can_viewapps/projects/urls.py:332 ms1.2%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:1 ms0.6%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2511 ms0.6%
SimpleLazyObject._setupdjango/utils/functional.py:4041 ms0.6%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:401 ms0.6%
get_userdjango/contrib/auth/middleware.py:201 ms0.6%
get_userdjango/contrib/auth/__init__.py:3181 ms0.6%
ModelBackend.get_userdjango/contrib/auth/backends.py:2321 ms0.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.6%
QuerySet.getdjango/db/models/query.py:6351 ms0.6%
QuerySet.__len__django/db/models/query.py:3721 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.6%
ModelIterable.__iter__django/db/models/query.py:951 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16221 ms0.6%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()1 ms0.6%
QuerySet.existsdjango/db/models/query.py:13371 ms0.6%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms0.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms0.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951 ms0.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms0.6%
WhereNode.as_sqldjango/db/models/sql/where.py:1511 ms0.6%
ClientHandler.__call__django/test/client.py:2071 ms0.6%
HttpResponseBase.closedjango/http/response.py:3411 ms0.6%
TestData.__get__django/test/testcases.py:13671 ms0.6%
deepcopy<stdlib>/copy.py:1561 ms0.6%
_reconstruct<stdlib>/copy.py:2541 ms0.6%
deepcopy<stdlib>/copy.py:1301 ms0.6%
AccessTest.test_others_dontapps/orgs/tests.py:69 self.client.force_login(self.stranger)5 ms2.4%
ClientMixin.force_logindjango/test/client.py:8555 ms2.4%
ClientMixin._logindjango/test/client.py:8813 ms1.8%
logindjango/contrib/auth/__init__.py:1873 ms1.8%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms1.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:701 ms0.6%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1981 ms0.6%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms0.6%
QuerySet.existsdjango/db/models/query.py:13371 ms0.6%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms0.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 ms0.6%
Atomic.__exit__django/db/transaction.py:2471 ms0.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.6%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms0.6%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4371 ms0.6%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1751 ms0.6%
Model.deletedjango/db/models/base.py:12981 ms0.6%
Collector.deletedjango/db/models/deletion.py:4521 ms0.6%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:431 ms0.6%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:251 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
ClientMixin._logindjango/test/client.py:8761 ms0.6%
ClientMixin.sessiondjango/test/client.py:8121 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1211 ms0.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 ms0.6%
Atomic.__enter__django/db/transaction.py:2111 ms0.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.6%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms0.6%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
AccessTest.test_others_dontapps/orgs/tests.py:72 self.assertEqual(self.client.get(reverse("org_members", args=["acme"])).status_code, 404)3 ms1.8%
Client.getdjango/test/client.py:11243 ms1.8%
RequestFactory.getdjango/test/client.py:4753 ms1.8%
RequestFactory.genericdjango/test/client.py:6713 ms1.8%
Client.requestdjango/test/client.py:10823 ms1.8%
ClientHandler.__call__django/test/client.py:1863 ms1.8%
BaseHandler.get_responsedjango/core/handlers/base.py:1413 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1303 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1233 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3093 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:343 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:553 ms1.8%
BaseHandler._get_responsedjango/core/handlers/base.py:1983 ms1.8%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:563 ms1.8%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:793 ms1.8%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms1.8%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms1.8%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms1.8%
get_userdjango/contrib/auth/middleware.py:203 ms1.8%
get_userdjango/contrib/auth/__init__.py:3112 ms1.2%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms1.2%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms1.2%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.2%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.2%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.2%
QuerySet.getdjango/db/models/query.py:6352 ms1.2%
QuerySet.__len__django/db/models/query.py:3722 ms1.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.2%
ModelIterable.__iter__django/db/models/query.py:952 ms1.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.2%
Cursor.executepsycopg/cursor.py:1132 ms1.2%
Connection.waitpsycopg/connection.py:4952 ms1.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.2%
get_userdjango/contrib/auth/__init__.py:3181 ms0.6%
ModelBackend.get_userdjango/contrib/auth/backends.py:2321 ms0.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.6%
QuerySet.getdjango/db/models/query.py:6351 ms0.6%
QuerySet.__len__django/db/models/query.py:3721 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.6%
ModelIterable.__iter__django/db/models/query.py:951 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
AccessTest.test_others_dontapps/orgs/tests.py:71 self.assertEqual(self.client.get(reverse("org_projects", args=["acme"])).status_code, 404)1 ms0.6%
Client.getdjango/test/client.py:11241 ms0.6%
RequestFactory.getdjango/test/client.py:4751 ms0.6%
RequestFactory.genericdjango/test/client.py:6711 ms0.6%
Client.requestdjango/test/client.py:10821 ms0.6%
ClientHandler.__call__django/test/client.py:1861 ms0.6%
BaseHandler.get_responsedjango/core/handlers/base.py:1411 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1301 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3091 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1231 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3091 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3091 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3091 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3091 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3091 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3091 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:341 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:551 ms0.6%
BaseHandler._get_responsedjango/core/handlers/base.py:1981 ms0.6%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:561 ms0.6%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:791 ms0.6%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2511 ms0.6%
SimpleLazyObject._setupdjango/utils/functional.py:4041 ms0.6%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:401 ms0.6%
get_userdjango/contrib/auth/middleware.py:201 ms0.6%
get_userdjango/contrib/auth/__init__.py:3111 ms0.6%
_get_user_session_keydjango/contrib/auth/__init__.py:951 ms0.6%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:551 ms0.6%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2511 ms0.6%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551 ms0.6%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms0.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.6%
QuerySet.getdjango/db/models/query.py:6351 ms0.6%
QuerySet.__len__django/db/models/query.py:3721 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.6%
ModelIterable.__iter__django/db/models/query.py:951 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.6%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.6%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.6%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()1 ms0.6%
TestCase._fixture_teardowndjango/test/testcases.py:14951 ms0.6%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4841 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
teardown0.57 ms0.3%
Estimated from 169 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/orgs/tests.py:70
self.assertEqual(self.client.get(self.project.url()).status_code, 404)
AccessTest.test_others_dont
· Libraries
|
176 ms |
|
apps/orgs/tests.py:69
self.client.force_login(self.stranger)
AccessTest.test_others_dont
· Database
|
5 ms |
|
apps/orgs/tests.py:72
self.assertEqual(self.client.get(reverse("org_members", args=["acme"])).status_code, 404)
AccessTest.test_others_dont
· Database
|
3 ms |
|
apps/projects/urls.py:49
project = get_object_or_404(
find_project
· Database
|
2 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
1 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
1 ms |
|
apps/orgs/tests.py:71
self.assertEqual(self.client.get(reverse("org_projects", args=["acme"])).status_code, 404)
AccessTest.test_others_dont
· Database
|
1 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.05 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_db_marker function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
32 queries · 8 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
4×
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 ?
3×
SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "a…
3×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
Biggest pieces of work
|
call test body
apps/orgs/tests.py:70
|
190 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
1 ms |
|
setup fixture _dj_autoclear_mailbox
pytest_django/plugin.py:597
|
0.59 ms |
| teardown pytest internals | 0.57 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 | 192 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 30 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 61 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 50 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 72 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 34 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 64 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 62 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 60 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 63 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 51 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 59 ms | Profile |