CI
github-actions:test
5 runs
Average
61 ms
median 64 ms
max 75 ms
max 75 ms
Phases
Setup 0.72 ms
Call 59 ms
Teardown 1 ms
Categories
Database 32 ms
Other (Libraries, Unsampled, Logging, Templates, ...) 30 ms
42 database queries per run
Needs 279 KB of memory (max 360 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 47 minutes ago ·
open run
call61 ms97.2%
AccessTest.test_switchersapps/orgs/tests.py:82 response = self.client.get(self.project.url())42 ms66.8%
Client.getdjango/test/client.py:112442 ms66.8%
RequestFactory.getdjango/test/client.py:47542 ms66.8%
RequestFactory.genericdjango/test/client.py:67142 ms66.8%
Client.requestdjango/test/client.py:108242 ms66.8%
ClientHandler.__call__django/test/client.py:17327 ms42.5%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6227 ms42.5%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10425 ms39.5%
WhiteNoise.add_fileswhitenoise/base.py:10825 ms39.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12021 ms33.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13121 ms33.4%
WhiteNoise.get_static_filewhitenoise/base.py:20813 ms21.3%
StaticFile.__init__whitenoise/responders.py:7711 ms18.2%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms6.1%
StaticFile.get_alternativeswhitenoise/responders.py:2014 ms6.1%
StaticFile.get_alternativeswhitenoise/responders.py:2042 ms3.0%
StaticFile.__init__whitenoise/responders.py:732 ms3.0%
StaticFile.get_headerswhitenoise/responders.py:1762 ms3.0%
WhiteNoise.get_static_filewhitenoise/base.py:2038 ms12.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2246 ms9.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1766 ms9.1%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1976 ms9.1%
URLMixin.urldebug_toolbar/panels/staticfiles.py:206 ms9.1%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2056 ms9.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1844 ms6.1%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5212 ms3.0%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5342 ms3.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms3.0%
WhiteNoise.add_cache_headerswhitenoise/base.py:2272 ms3.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms6.1%
scantreewhitenoise/base.py:2624 ms6.1%
scantreewhitenoise/base.py:2624 ms6.1%
scantreewhitenoise/base.py:2622 ms3.0%
scantreewhitenoise/base.py:2622 ms3.0%
scantreewhitenoise/base.py:2622 ms3.0%
scantreewhitenoise/base.py:2642 ms3.0%
scantreewhitenoise/base.py:2642 ms3.0%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms3.0%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms3.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1202 ms3.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1312 ms3.0%
WhiteNoise.get_static_filewhitenoise/base.py:2082 ms3.0%
StaticFile.__init__whitenoise/responders.py:722 ms3.0%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms3.0%
ClientHandler.__call__django/test/client.py:18615 ms24.3%
BaseHandler.get_responsedjango/core/handlers/base.py:14115 ms24.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms24.3%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13015 ms24.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms24.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms24.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms24.3%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12315 ms24.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms24.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms21.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms21.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms21.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms21.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms21.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms21.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms21.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms21.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms21.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms21.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms21.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms21.3%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3413 ms21.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms21.3%
BaseHandler._get_responsedjango/core/handlers/base.py:19813 ms21.3%
project_dashboardapps/projects/urls.py:1358 ms12.1%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {6 ms9.1%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms3.0%
QuerySet.__iter__django/db/models/query.py:3902 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.0%
ModelIterable.__iter__django/db/models/query.py:952 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms3.0%
QuerySet.__iter__django/db/models/query.py:3902 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.0%
ModelIterable.__iter__django/db/models/query.py:952 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
org_shellapps/orgs/views.py:422 ms3.0%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms3.0%
QuerySet.existsdjango/db/models/query.py:13372 ms3.0%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
shellapps/projects/urls.py:732 ms3.0%
can_manageapps/projects/urls.py:442 ms3.0%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms3.0%
QuerySet.existsdjango/db/models/query.py:13372 ms3.0%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16462 ms3.0%
Cursor.closepsycopg/cursor.py:652 ms3.0%
project_dashboardapps/projects/urls.py:1324 ms6.1%
find_projectapps/projects/urls.py:524 ms6.1%
can_viewapps/projects/urls.py:334 ms6.1%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:2 ms3.0%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms3.0%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms3.0%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms3.0%
get_userdjango/contrib/auth/middleware.py:202 ms3.0%
get_userdjango/contrib/auth/__init__.py:3182 ms3.0%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.0%
QuerySet.getdjango/db/models/query.py:6352 ms3.0%
QuerySet.__len__django/db/models/query.py:3722 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.0%
ModelIterable.__iter__django/db/models/query.py:952 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms3.0%
QuerySet.existsdjango/db/models/query.py:13372 ms3.0%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
project_dashboardapps/projects/urls.py:138 return render(request, "project_setup.html", context)2 ms3.0%
renderdjango/shortcuts.py:252 ms3.0%
render_to_stringdjango/template/loader.py:622 ms3.0%
Template.renderdjango/template/backends/django.py:1072 ms3.0%
Template.renderdjango/template/base.py:1742 ms3.0%
instrumented_test_renderdjango/test/utils.py:1142 ms3.0%
NodeList.renderdjango/template/base.py:10912 ms3.0%
Node.render_annotateddjango/template/base.py:10522 ms3.0%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms3.0%
instrumented_test_renderdjango/test/utils.py:1142 ms3.0%
NodeList.renderdjango/template/base.py:10912 ms3.0%
Node.render_annotateddjango/template/base.py:10522 ms3.0%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms3.0%
instrumented_test_renderdjango/test/utils.py:1142 ms3.0%
NodeList.renderdjango/template/base.py:10912 ms3.0%
Node.render_annotateddjango/template/base.py:10522 ms3.0%
BlockNode.renderdjango/template/loader_tags.py:662 ms3.0%
NodeList.renderdjango/template/base.py:10912 ms3.0%
Node.render_annotateddjango/template/base.py:10522 ms3.0%
BlockNode.renderdjango/template/loader_tags.py:662 ms3.0%
NodeList.renderdjango/template/base.py:10912 ms3.0%
Node.render_annotateddjango/template/base.py:10522 ms3.0%
IfNode.renderdjango/template/defaulttags.py:3332 ms3.0%
NodeList.renderdjango/template/base.py:10912 ms3.0%
Node.render_annotateddjango/template/base.py:10522 ms3.0%
WithNode.renderdjango/template/defaulttags.py:5792 ms3.0%
FilterExpression.resolvedjango/template/base.py:7882 ms3.0%
Variable.resolvedjango/template/base.py:9282 ms3.0%
Variable._resolve_lookupdjango/template/base.py:10002 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.0%
QuerySet.firstdjango/db/models/query.py:11452 ms3.0%
QuerySet.__iter__django/db/models/query.py:3902 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.0%
ModelIterable.__iter__django/db/models/query.py:952 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms3.0%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms3.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms3.0%
Model.savedjango/db/models/base.py:8742 ms3.0%
Model.save_basedjango/db/models/base.py:9662 ms3.0%
Model._save_tabledjango/db/models/base.py:11102 ms3.0%
Model._do_updatedjango/db/models/base.py:12112 ms3.0%
QuerySet._updatedjango/db/models/query.py:13272 ms3.0%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms3.0%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
AccessTest.test_switchersapps/orgs/tests.py:81 self.client.force_login(self.member)10 ms15.2%
ClientMixin.force_logindjango/test/client.py:85510 ms15.2%
ClientMixin._logindjango/test/client.py:8816 ms9.1%
logindjango/contrib/auth/__init__.py:1874 ms6.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms3.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms3.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms3.0%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms3.0%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1262 ms3.0%
dumpsdjango/core/signing.py:1512 ms3.0%
Signer.sign_objectdjango/core/signing.py:2262 ms3.0%
JSONSerializer.dumpsdjango/core/signing.py:1262 ms3.0%
dumps<stdlib>/json/__init__.py:2412 ms3.0%
JSONEncoder.encode<stdlib>/json/encoder.py:2022 ms3.0%
JSONEncoder.iterencode<stdlib>/json/encoder.py:2212 ms3.0%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms3.0%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms3.0%
Model.deletedjango/db/models/base.py:12982 ms3.0%
Collector.deletedjango/db/models/deletion.py:4522 ms3.0%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms3.0%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
logindjango/contrib/auth/__init__.py:1752 ms3.0%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms3.0%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms3.0%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms3.0%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.0%
QuerySet.getdjango/db/models/query.py:6352 ms3.0%
QuerySet.__len__django/db/models/query.py:3722 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.0%
ModelIterable.__iter__django/db/models/query.py:952 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
ClientMixin._logindjango/test/client.py:8762 ms3.0%
ClientMixin.sessiondjango/test/client.py:8122 ms3.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms3.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms3.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms3.0%
Model.savedjango/db/models/base.py:8742 ms3.0%
Model.save_basedjango/db/models/base.py:9662 ms3.0%
Model._save_tabledjango/db/models/base.py:11672 ms3.0%
Model._do_insertdjango/db/models/base.py:12182 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.0%
QuerySet._insertdjango/db/models/query.py:19182 ms3.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
ClientMixin._logindjango/test/client.py:8832 ms3.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms3.0%
Atomic.__exit__django/db/transaction.py:2472 ms3.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.0%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms3.0%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
AccessTest.test_switchersapps/orgs/tests.py:808 ms12.1%
make_projectapps/projects/testing.py:622 ms3.0%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():2 ms3.0%
QuerySet.existsdjango/db/models/query.py:13372 ms3.0%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms3.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms3.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms3.0%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms3.0%
cached_property.__get__django/utils/functional.py:472 ms3.0%
BaseExpression.output_fielddjango/db/models/expressions.py:3282 ms3.0%
Value._resolve_output_fielddjango/db/models/expressions.py:12012 ms3.0%
Field.__init__django/db/models/fields/__init__.py:2282 ms3.0%
make_projectapps/projects/testing.py:61 organization = Organization.objects.create(2 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.0%
QuerySet.createdjango/db/models/query.py:6692 ms3.0%
Model.savedjango/db/models/base.py:8742 ms3.0%
Model.save_basedjango/db/models/base.py:9662 ms3.0%
Model._save_tabledjango/db/models/base.py:11672 ms3.0%
Model._do_insertdjango/db/models/base.py:12182 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.0%
QuerySet._insertdjango/db/models/query.py:19182 ms3.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
make_projectapps/projects/testing.py:64 project = Project.objects.create(2 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.0%
QuerySet.createdjango/db/models/query.py:6692 ms3.0%
Model.savedjango/db/models/base.py:8742 ms3.0%
Model.save_basedjango/db/models/base.py:9662 ms3.0%
Model._save_tabledjango/db/models/base.py:11512 ms3.0%
make_projectapps/projects/testing.py:712 ms3.0%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(2 ms3.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.0%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms3.0%
QuerySet.getdjango/db/models/query.py:6352 ms3.0%
QuerySet.__len__django/db/models/query.py:3722 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.0%
ModelIterable.__iter__django/db/models/query.py:952 ms3.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms3.0%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms3.0%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms3.0%
Atomic.__exit__django/db/transaction.py:2832 ms3.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.0%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4132 ms3.0%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3712 ms3.0%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.0%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.0%
Cursor.executepsycopg/cursor.py:1132 ms3.0%
Connection.waitpsycopg/connection.py:4952 ms3.0%
teardown1 ms1.7%
TestCase.tearDownClassdjango/test/testcases.py:1453 cls._rollback_atomics(cls.cls_atomics)1 ms1.7%
TestCase._rollback_atomicsdjango/test/testcases.py:14051 ms1.7%
Atomic.__exit__django/db/transaction.py:2951 ms1.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.7%
BaseDatabaseWrapper.rollbackdjango/db/backends/base/base.py:3371 ms1.7%
BaseDatabaseWrapper._rollbackdjango/db/backends/base/base.py:3081 ms1.7%
Connection.rollbackpsycopg/connection.py:3141 ms1.7%
Connection.waitpsycopg/connection.py:4951 ms1.7%
Estimated from 33 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/orgs/tests.py:82
response = self.client.get(self.project.url())
AccessTest.test_switchers
· Libraries
|
29 ms |
|
apps/orgs/tests.py:81
self.client.force_login(self.member)
AccessTest.test_switchers
· Database
|
10 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
4 ms |
|
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug
· Database
|
2 ms |
|
apps/projects/testing.py:61
organization = Organization.objects.create(
make_project
· Database
|
2 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/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
2 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
2 ms |
|
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.07 ms |
| _dj_autoclear_mailbox function | 0.04 ms |
| _django_db_marker 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 |
| monkeypatch function | 0.02 ms |
Database
42 queries · 13 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/orgs/tests.py:82
|
59 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
2 ms |
|
teardown tearDownClass
django/test/testcases.py:1453
|
1 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 47 minutes ago | CI github-actions:test | passed | 63 ms | Profile |
| an hour ago | CI github-actions:test | passed | 66 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 75 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 38 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 64 ms | Profile |