Tests / apps/projects/tests.py
ProjectsPageTest::test_project
First seen 2 years, 9 months ago in b9e98d9
CI
github-actions:test
5 runs
Average
63 ms
median 69 ms
max 73 ms
max 73 ms
Phases
Setup 0.85 ms
Call 62 ms
Teardown 0.58 ms
Categories
Database 31 ms
Other (Libraries, Templates, Unsampled, pytest) 32 ms
48 database queries per run
Needs 98 KB of memory (max 488 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, an hour ago ·
open run
setup0.73 ms1.1%
CallInfo.from_call_pytest/runner.py:3530.73 ms1.1%
call_and_report.<locals>.<lambda>_pytest/runner.py:2450.73 ms1.1%
HookCaller.__call__pluggy/_hooks.py:5120.73 ms1.1%
PluginManager._hookexecpluggy/_manager.py:1200.73 ms1.1%
_multicallpluggy/_callers.py:1210.73 ms1.1%
pytest_runtest_setup_pytest/runner.py:1650.73 ms1.1%
SetupState.setup_pytest/runner.py:5230.73 ms1.1%
TestCaseFunction.setup_pytest/unittest.py:2270.73 ms1.1%
Function.setup_pytest/python.py:17230.73 ms1.1%
TopRequest._fillfixtures_pytest/fixtures.py:7070.73 ms1.1%
FixtureRequest.getfixturevalue_pytest/fixtures.py:5390.73 ms1.1%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:6270.73 ms1.1%
FixtureDef.execute_pytest/fixtures.py:10680.73 ms1.1%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:5580.73 ms1.1%
__init____init__:-10.73 ms1.1%
RequestFixtureDef.__init___pytest/fixtures.py:11330.73 ms1.1%
FixtureDef.__init___pytest/fixtures.py:10200.73 ms1.1%
getfuncargnames_pytest/compat.py:1360.73 ms1.1%
signature_pytest/compat.py:700.73 ms1.1%
signature<stdlib>/inspect.py:33400.73 ms1.1%
Signature.from_callable<stdlib>/inspect.py:30550.73 ms1.1%
_signature_from_callable<stdlib>/inspect.py:25250.73 ms1.1%
_signature_from_function<stdlib>/inspect.py:23480.73 ms1.1%
call68 ms98.0%
CallInfo.from_call_pytest/runner.py:35368 ms98.0%
call_and_report.<locals>.<lambda>_pytest/runner.py:24568 ms98.0%
HookCaller.__call__pluggy/_hooks.py:51268 ms98.0%
PluginManager._hookexecpluggy/_manager.py:12068 ms98.0%
_multicallpluggy/_callers.py:12168 ms98.0%
pytest_runtest_call_pytest/runner.py:17968 ms98.0%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:57368 ms98.0%
SimpleTestCase.__call__django/test/testcases.py:31368 ms98.0%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36864 ms91.9%
TestCase.__call__<stdlib>/unittest/case.py:74764 ms91.9%
TestCase.run<stdlib>/unittest/case.py:69155 ms79.6%
TestCase._callTestMethod<stdlib>/unittest/case.py:63755 ms79.6%
ProjectsPageTest.test_projectapps/projects/tests.py:123 response = self.client.get("/projects/", follow=True)47 ms67.4%
Client.getdjango/test/client.py:112430 ms42.9%
RequestFactory.getdjango/test/client.py:47530 ms42.9%
RequestFactory.genericdjango/test/client.py:67130 ms42.9%
Client.requestdjango/test/client.py:108230 ms42.9%
ClientHandler.__call__django/test/client.py:17321 ms30.6%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6221 ms30.6%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10419 ms27.6%
WhiteNoise.add_fileswhitenoise/base.py:10819 ms27.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12015 ms21.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13115 ms21.4%
WhiteNoise.get_static_filewhitenoise/base.py:20811 ms15.3%
StaticFile.__init__whitenoise/responders.py:734 ms6.1%
StaticFile.get_headerswhitenoise/responders.py:1764 ms6.1%
formatdate<stdlib>/email/utils.py:2664 ms6.1%
StaticFile.__init__whitenoise/responders.py:722 ms3.1%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms3.1%
__init____init__:-12 ms3.1%
FileEntry.__init__whitenoise/responders.py:2602 ms3.1%
<GC>~2 ms3.1%
StaticFile.__init__whitenoise/responders.py:762 ms3.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms3.1%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms3.1%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms3.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms3.1%
StaticFile.__init__whitenoise/responders.py:772 ms3.1%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms3.1%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms3.1%
WhiteNoise.add_mime_headerswhitenoise/base.py:2162 ms3.1%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms3.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms3.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms3.1%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms3.1%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms3.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms6.1%
scantreewhitenoise/base.py:2624 ms6.1%
scantreewhitenoise/base.py:2624 ms6.1%
scantreewhitenoise/base.py:2644 ms6.1%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms3.1%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms3.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1202 ms3.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1312 ms3.1%
WhiteNoise.get_static_filewhitenoise/base.py:2082 ms3.1%
StaticFile.__init__whitenoise/responders.py:732 ms3.1%
StaticFile.get_headerswhitenoise/responders.py:1762 ms3.1%
ClientHandler.__call__django/test/client.py:1869 ms12.3%
BaseHandler.get_responsedjango/core/handlers/base.py:1419 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1309 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1239 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:349 ms12.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.3%
BaseHandler._get_responsedjango/core/handlers/base.py:1989 ms12.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:564 ms6.1%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:794 ms6.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms6.1%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms6.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms6.1%
get_userdjango/contrib/auth/middleware.py:204 ms6.1%
get_userdjango/contrib/auth/__init__.py:3112 ms3.1%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms3.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms3.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms3.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms3.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
get_userdjango/contrib/auth/__init__.py:3182 ms3.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:594 ms6.1%
homeapps/orgs/views.py:74 if not projects.exists():2 ms3.1%
QuerySet.existsdjango/db/models/query.py:13372 ms3.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms3.1%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms3.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.1%
Join.as_sqldjango/db/models/sql/datastructures.py:882 ms3.1%
DatabaseOperations.prepare_join_on_clausedjango/db/backends/postgresql/operations.py:3992 ms3.1%
ForeignKey.db_typedjango/db/models/fields/related.py:12232 ms3.1%
homeapps/orgs/views.py:78 return redirect(in_organization.select_related("organization").get().url())2 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms3.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms3.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms3.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3302 ms3.1%
BaseExpression.select_formatdjango/db/models/expressions.py:4992 ms3.1%
Client.getdjango/test/client.py:113317 ms24.5%
Client._handle_redirectsdjango/test/client.py:138417 ms24.5%
ClientMixin._follow_redirectdjango/test/client.py:100217 ms24.5%
Client.getdjango/test/client.py:112417 ms24.5%
RequestFactory.getdjango/test/client.py:47517 ms24.5%
RequestFactory.genericdjango/test/client.py:67117 ms24.5%
Client.requestdjango/test/client.py:108217 ms24.5%
ClientHandler.__call__django/test/client.py:18617 ms24.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14117 ms24.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5517 ms24.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13017 ms24.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5517 ms24.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30917 ms24.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5517 ms24.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12317 ms24.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5517 ms24.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms21.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms21.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms21.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms21.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms21.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms21.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms21.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms21.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms21.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms21.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms21.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms21.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3415 ms21.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms21.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19815 ms21.4%
project_dashboardapps/projects/urls.py:1329 ms12.3%
find_projectapps/projects/urls.py:526 ms9.2%
can_viewapps/projects/urls.py:336 ms9.2%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:4 ms6.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms6.1%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms6.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms6.1%
get_userdjango/contrib/auth/middleware.py:204 ms6.1%
get_userdjango/contrib/auth/__init__.py:3112 ms3.1%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms3.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms3.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms3.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms3.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
get_userdjango/contrib/auth/__init__.py:3182 ms3.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms3.1%
QuerySet.existsdjango/db/models/query.py:13372 ms3.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms3.1%
get_object_or_404django/shortcuts.py:902 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
project_dashboardapps/projects/urls.py:1352 ms3.1%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {2 ms3.1%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms3.1%
QuerySet.__iter__django/db/models/query.py:3902 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:1272 ms3.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms3.1%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15172 ms3.1%
project_dashboardapps/projects/urls.py:137 if not has_profiles and not Run.objects.filter(project=project).exists():2 ms3.1%
QuerySet.existsdjango/db/models/query.py:13372 ms3.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
project_dashboardapps/projects/urls.py:138 return render(request, "project_setup.html", context)2 ms3.1%
renderdjango/shortcuts.py:252 ms3.1%
render_to_stringdjango/template/loader.py:622 ms3.1%
Template.renderdjango/template/backends/django.py:1072 ms3.1%
Template.renderdjango/template/base.py:1742 ms3.1%
instrumented_test_renderdjango/test/utils.py:1142 ms3.1%
NodeList.renderdjango/template/base.py:10912 ms3.1%
Node.render_annotateddjango/template/base.py:10522 ms3.1%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms3.1%
instrumented_test_renderdjango/test/utils.py:1142 ms3.1%
NodeList.renderdjango/template/base.py:10912 ms3.1%
Node.render_annotateddjango/template/base.py:10522 ms3.1%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms3.1%
instrumented_test_renderdjango/test/utils.py:1142 ms3.1%
NodeList.renderdjango/template/base.py:10912 ms3.1%
Node.render_annotateddjango/template/base.py:10522 ms3.1%
BlockNode.renderdjango/template/loader_tags.py:662 ms3.1%
NodeList.renderdjango/template/base.py:10912 ms3.1%
Node.render_annotateddjango/template/base.py:10522 ms3.1%
BlockNode.renderdjango/template/loader_tags.py:662 ms3.1%
NodeList.renderdjango/template/base.py:10912 ms3.1%
Node.render_annotateddjango/template/base.py:10522 ms3.1%
IfNode.renderdjango/template/defaulttags.py:3332 ms3.1%
NodeList.renderdjango/template/base.py:10912 ms3.1%
Node.render_annotateddjango/template/base.py:10522 ms3.1%
WithNode.renderdjango/template/defaulttags.py:5792 ms3.1%
FilterExpression.resolvedjango/template/base.py:7882 ms3.1%
Variable.resolvedjango/template/base.py:9282 ms3.1%
Variable._resolve_lookupdjango/template/base.py:10002 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.firstdjango/db/models/query.py:11452 ms3.1%
QuerySet.__iter__django/db/models/query.py:3902 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms3.1%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms3.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms3.1%
Model.savedjango/db/models/base.py:8742 ms3.1%
Model.save_basedjango/db/models/base.py:9662 ms3.1%
Model._save_tabledjango/db/models/base.py:11102 ms3.1%
Model._do_updatedjango/db/models/base.py:12112 ms3.1%
QuerySet._updatedjango/db/models/query.py:13272 ms3.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms3.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
ProjectsPageTest.test_projectapps/projects/tests.py:1229 ms12.3%
make_projectapps/projects/testing.py:624 ms6.1%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():4 ms6.1%
QuerySet.existsdjango/db/models/query.py:13374 ms6.1%
Query.has_resultsdjango/db/models/sql/query.py:6814 ms6.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15924 ms6.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16462 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms3.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.1%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms3.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.1%
make_projectapps/projects/testing.py:64 project = Project.objects.create(2 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.createdjango/db/models/query.py:6692 ms3.1%
Model.savedjango/db/models/base.py:8742 ms3.1%
Model.save_basedjango/db/models/base.py:9662 ms3.1%
Model._save_tabledjango/db/models/base.py:11672 ms3.1%
Model._do_insertdjango/db/models/base.py:12182 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet._insertdjango/db/models/query.py:19182 ms3.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
make_projectapps/projects/testing.py:712 ms3.1%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(2 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.get_or_createdjango/db/models/query.py:9922 ms3.1%
Atomic.__exit__django/db/transaction.py:2472 ms3.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms3.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms3.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms3.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms3.1%
TestCase.run<stdlib>/unittest/case.py:6879 ms12.3%
TestCase._callSetUp<stdlib>/unittest/case.py:6349 ms12.3%
ProjectsPageTest.setUpapps/projects/tests.py:100 self.client.force_login(self.user)9 ms12.3%
ClientMixin.force_logindjango/test/client.py:8559 ms12.3%
ClientMixin._logindjango/test/client.py:8816 ms9.2%
logindjango/contrib/auth/__init__.py:1752 ms3.1%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms3.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms3.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms3.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.getdjango/db/models/query.py:6352 ms3.1%
QuerySet.__len__django/db/models/query.py:3722 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms3.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms3.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms3.1%
logindjango/contrib/auth/__init__.py:1872 ms3.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms3.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms3.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms3.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms3.1%
QuerySet.existsdjango/db/models/query.py:13372 ms3.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
logindjango/contrib/auth/__init__.py:1972 ms3.1%
Signal.senddjango/dispatch/dispatcher.py:2092 ms3.1%
update_last_logindjango/contrib/auth/models.py:242 ms3.1%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms3.1%
Model.savedjango/db/models/base.py:8742 ms3.1%
Model.save_basedjango/db/models/base.py:9662 ms3.1%
Model._save_tabledjango/db/models/base.py:11102 ms3.1%
Model._do_updatedjango/db/models/base.py:12112 ms3.1%
QuerySet._updatedjango/db/models/query.py:13272 ms3.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms3.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
ClientMixin._logindjango/test/client.py:8762 ms3.1%
ClientMixin.sessiondjango/test/client.py:8122 ms3.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms3.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms3.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms3.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms3.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.1%
QuerySet.filterdjango/db/models/query.py:15422 ms3.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms3.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms3.1%
Query.add_qdjango/db/models/sql/query.py:16712 ms3.1%
Query._add_qdjango/db/models/sql/query.py:17032 ms3.1%
Query.build_filterdjango/db/models/sql/query.py:16132 ms3.1%
Query.build_lookupdjango/db/models/sql/query.py:14402 ms3.1%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3714 ms6.1%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms6.1%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms3.1%
BaseConnectionHandler.__getitem__django/utils/connection.py:582 ms3.1%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms3.1%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms3.1%
Atomic.__exit__django/db/transaction.py:2862 ms3.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms3.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.1%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.1%
Cursor.executepsycopg/cursor.py:1132 ms3.1%
Connection.waitpsycopg/connection.py:4952 ms3.1%
Estimated from 33 samples; phase durations are exact. Frames from pytest and pluggy are
shown
.
Hot lines in your code
|
apps/projects/tests.py:123
response = self.client.get("/projects/", follow=True)
ProjectsPageTest.test_project
· Libraries
|
28 ms |
|
apps/projects/tests.py:100
self.client.force_login(self.user)
ProjectsPageTest.setUp
· Database
|
9 ms |
|
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug
· Database
|
4 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
4 ms |
|
apps/projects/testing.py:64
project = Project.objects.create(
make_project
· Database
|
2 ms |
|
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member
· Database
|
2 ms |
|
apps/orgs/views.py:74
if not projects.exists():
home
· Database
|
2 ms |
|
apps/orgs/views.py:78
return redirect(in_organization.select_related("organization").get().url())
home
· Database
|
2 ms |
|
apps/projects/urls.py:49
project = get_object_or_404(
find_project
· Database
|
2 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.04 ms |
| _django_db_marker function | 0.04 ms |
| monkeypatch function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
Database
48 queries · 16 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:123
|
55 ms |
|
call setUp
apps/projects/tests.py:100
|
9 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
|
setup __init__
__init__:-1
|
0.73 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 50 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| an hour ago | CI github-actions:test | passed | 69 ms | Profile |
| an hour ago | CI github-actions:test | passed | 69 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 73 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 36 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 68 ms | Profile |
| 2 years ago | CI github-actions | passed | 181 ms | Run |
| 2 years, 2 months ago | CI github-actions | passed | 117 ms | Run |
| 2 years, 3 months ago | CI github-actions | passed | 186 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 193 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 180 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 124 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 117 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 119 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 118 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 120 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 115 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 121 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 121 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 116 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 113 ms | Run |