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

ProjectsPageTest::test_multiple_projects

First seen 2 years, 9 months ago in b9e98d9
CI github-actions:test 5 runs
Average
86 ms
median 87 ms
max 110 ms
Phases
Setup 12 ms Call 74 ms Teardown 0.18 ms
Categories
Database 55 ms App code 0.36 ms Other (Libraries, pytest, Unsampled) 31 ms

48 database queries per run

Needs 255 KB of memory (max 660 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 17 minutes ago · open run
Show pytest frames
setup12 ms13.6%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()10 ms11.1%
TestCase._enter_atomicsdjango/test/testcases.py:139610 ms11.1%
Atomic.__enter__django/db/transaction.py:19810 ms11.1%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45410 ms11.1%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30310 ms11.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms11.1%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27910 ms11.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms11.1%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2569 ms9.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms9.9%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3339 ms9.9%
Connection.connectpsycopg/connection.py:1099 ms9.9%
wait_connpsycopg/waiting.py:1414 ms5.0%
EpollSelector.select<stdlib>/selectors.py:4524 ms5.0%
wait_connpsycopg/waiting.py:1453 ms3.7%
BaseConnection._connect_genpsycopg/_connection_base.py:4393 ms3.7%
wait_connpsycopg/waiting.py:1361 ms1.2%
BaseConnection._connect_genpsycopg/_connection_base.py:4391 ms1.2%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2581 ms1.2%
DatabaseWrapper.init_connection_statedjango/db/backends/postgresql/base.py:4021 ms1.2%
DatabaseWrapper._configure_connectiondjango/db/backends/postgresql/base.py:3741 ms1.2%
DatabaseWrapper._configure_timezonedjango/db/backends/postgresql/base.py:3571 ms1.2%
Cursor.executepsycopg/cursor.py:1131 ms1.2%
Connection.waitpsycopg/connection.py:4951 ms1.2%
is_django_unittestpytest_django/django_compat.py:10 from django.test import SimpleTestCase1 ms1.2%
call75 ms86.2%
ProjectsPageTest.test_multiple_projectsapps/projects/tests.py:130 response = self.client.get("/projects/", follow=True)46 ms52.5%
Client.getdjango/test/client.py:112429 ms33.6%
RequestFactory.getdjango/test/client.py:47529 ms33.6%
RequestFactory.genericdjango/test/client.py:67129 ms33.6%
Client.requestdjango/test/client.py:108229 ms33.6%
ClientHandler.__call__django/test/client.py:17322 ms25.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6222 ms25.2%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10420 ms23.1%
WhiteNoise.add_fileswhitenoise/base.py:10820 ms23.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12016 ms18.9%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13116 ms18.9%
WhiteNoise.get_static_filewhitenoise/base.py:20811 ms12.6%
StaticFile.__init__whitenoise/responders.py:775 ms6.3%
StaticFile.get_alternativeswhitenoise/responders.py:2014 ms4.2%
StaticFile.get_alternativeswhitenoise/responders.py:2032 ms2.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms2.1%
Headers.__init__<stdlib>/wsgiref/headers.py:442 ms2.1%
StaticFile.__init__whitenoise/responders.py:734 ms4.2%
StaticFile.get_headerswhitenoise/responders.py:1764 ms4.2%
StaticFile.__init__whitenoise/responders.py:762 ms2.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1882 ms2.1%
Headers.__contains__<stdlib>/wsgiref/headers.py:872 ms2.1%
Headers.get<stdlib>/wsgiref/headers.py:1052 ms2.1%
WhiteNoise.get_static_filewhitenoise/base.py:2034 ms4.2%
WhiteNoise.add_cache_headerswhitenoise/base.py:2244 ms4.2%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1764 ms4.2%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1974 ms4.2%
URLMixin.urldebug_toolbar/panels/staticfiles.py:204 ms4.2%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2054 ms4.2%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1842 ms2.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms2.1%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2092 ms2.1%
WhiteNoise.get_static_filewhitenoise/base.py:2052 ms2.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms4.2%
scantreewhitenoise/base.py:2624 ms4.2%
scantreewhitenoise/base.py:2624 ms4.2%
scantreewhitenoise/base.py:2622 ms2.1%
scantreewhitenoise/base.py:2622 ms2.1%
scantreewhitenoise/base.py:2622 ms2.1%
scantreewhitenoise/base.py:2642 ms2.1%
scantreewhitenoise/base.py:2612 ms2.1%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms2.1%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms2.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1202 ms2.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1312 ms2.1%
WhiteNoise.get_static_filewhitenoise/base.py:2082 ms2.1%
StaticFile.__init__whitenoise/responders.py:742 ms2.1%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.1%
ClientHandler.__call__django/test/client.py:1867 ms8.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1417 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1307 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1237 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:347 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms8.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1987 ms8.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:595 ms6.3%
homeapps/orgs/views.py:724 ms4.2%
current_organizationapps/orgs/views.py:544 ms4.2%
ensure_organizationapps/orgs/models.py:126 membership = Membership.objects.filter(user=user).select_related("organization").order_by("id").first()4 ms4.2%
QuerySet.firstdjango/db/models/query.py:11454 ms4.2%
QuerySet.__iter__django/db/models/query.py:3904 ms4.2%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms4.2%
ModelIterable.__iter__django/db/models/query.py:954 ms4.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
homeapps/orgs/views.py:74 if not projects.exists():2 ms2.1%
QuerySet.existsdjango/db/models/query.py:13372 ms2.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.1%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.1%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.1%
get_userdjango/contrib/auth/middleware.py:202 ms2.1%
get_userdjango/contrib/auth/__init__.py:3182 ms2.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.1%
QuerySet.getdjango/db/models/query.py:6352 ms2.1%
QuerySet.__len__django/db/models/query.py:3722 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.1%
ModelIterable.__iter__django/db/models/query.py:952 ms2.1%
Client.getdjango/test/client.py:113316 ms18.9%
Client._handle_redirectsdjango/test/client.py:138416 ms18.9%
ClientMixin._follow_redirectdjango/test/client.py:100216 ms18.9%
Client.getdjango/test/client.py:112416 ms18.9%
RequestFactory.getdjango/test/client.py:47516 ms18.9%
RequestFactory.genericdjango/test/client.py:67116 ms18.9%
Client.requestdjango/test/client.py:108216 ms18.9%
ClientHandler.__call__django/test/client.py:18616 ms18.9%
BaseHandler.get_responsedjango/core/handlers/base.py:14116 ms18.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13016 ms18.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30916 ms18.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12316 ms18.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms14.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms14.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms14.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms14.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms14.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms14.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms14.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms14.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms14.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms14.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms14.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms14.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3413 ms14.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms14.7%
BaseHandler._get_responsedjango/core/handlers/base.py:19813 ms14.7%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5911 ms12.6%
org_projectsapps/orgs/views.py:96 cards = [{"project": project, **analytics.project_card(project)} for project in projects]9 ms10.5%
QuerySet.__iter__django/db/models/query.py:3905 ms6.3%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms6.3%
ModelIterable.__iter__django/db/models/query.py:955 ms6.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16245 ms6.3%
CursorWrapper.executedjango/db/backends/utils.py:795 ms6.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms6.3%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms6.3%
Cursor.executepsycopg/cursor.py:1135 ms6.3%
Connection.waitpsycopg/connection.py:4955 ms6.3%
project_cardapps/projects/analytics.py:579 .first()4 ms4.2%
QuerySet.firstdjango/db/models/query.py:11454 ms4.2%
QuerySet.__iter__django/db/models/query.py:3904 ms4.2%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms4.2%
ValuesIterable.__iter__django/db/models/query.py:2224 ms4.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15734 ms4.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms2.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.1%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms2.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.1%
RelatedLookupMixin.as_sqldjango/db/models/fields/related_lookups.py:1282 ms2.1%
Exact.as_sqldjango/db/models/lookups.py:4072 ms2.1%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2412 ms2.1%
BuiltinLookup.get_rhs_opdjango/db/models/lookups.py:2452 ms2.1%
org_projectsapps/orgs/views.py:97 return render(request, "org.html", {**org_shell(request, organization, "projects"), "cards": cards})2 ms2.1%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms2.1%
QuerySet.__iter__django/db/models/query.py:3902 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.1%
ModelIterable.__iter__django/db/models/query.py:952 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms2.1%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4922 ms2.1%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms2.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.1%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.1%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.1%
get_userdjango/contrib/auth/middleware.py:202 ms2.1%
get_userdjango/contrib/auth/__init__.py:3112 ms2.1%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.1%
QuerySet.getdjango/db/models/query.py:6352 ms2.1%
QuerySet.__len__django/db/models/query.py:3722 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.1%
ModelIterable.__iter__django/db/models/query.py:952 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
MiddlewareMixin.__call__django/utils/deprecation.py:3114 ms4.2%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:544 ms4.2%
http_datedjango/utils/http.py:972 ms2.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.1%
Model.savedjango/db/models/base.py:8742 ms2.1%
Model.save_basedjango/db/models/base.py:9662 ms2.1%
Model._save_tabledjango/db/models/base.py:11102 ms2.1%
Model._do_updatedjango/db/models/base.py:12112 ms2.1%
QuerySet._updatedjango/db/models/query.py:13272 ms2.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
ProjectsPageTest.setUpapps/projects/tests.py:100 self.client.force_login(self.user)16 ms18.9%
ClientMixin.force_logindjango/test/client.py:85516 ms18.9%
ClientMixin._logindjango/test/client.py:8819 ms10.5%
logindjango/contrib/auth/__init__.py:1875 ms6.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4344 ms4.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.1%
QuerySet.existsdjango/db/models/query.py:13372 ms2.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms2.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.1%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms2.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.1%
Exact.as_sqldjango/db/models/lookups.py:4072 ms2.1%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2382 ms2.1%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms2.1%
Lookup.process_lhsdjango/db/models/lookups.py:1092 ms2.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.1%
Model.savedjango/db/models/base.py:8742 ms2.1%
Model.save_basedjango/db/models/base.py:9662 ms2.1%
Model._save_tabledjango/db/models/base.py:11672 ms2.1%
Model._do_insertdjango/db/models/base.py:12182 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.1%
QuerySet._insertdjango/db/models/query.py:19182 ms2.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.1%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.1%
QuerySet.getdjango/db/models/query.py:6352 ms2.1%
QuerySet.__len__django/db/models/query.py:3722 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.1%
ModelIterable.__iter__django/db/models/query.py:952 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
logindjango/contrib/auth/__init__.py:1752 ms2.1%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms2.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.1%
QuerySet.getdjango/db/models/query.py:6352 ms2.1%
QuerySet.__len__django/db/models/query.py:3722 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.1%
ModelIterable.__iter__django/db/models/query.py:952 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms2.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.1%
logindjango/contrib/auth/__init__.py:1972 ms2.1%
Signal.senddjango/dispatch/dispatcher.py:2092 ms2.1%
update_last_logindjango/contrib/auth/models.py:242 ms2.1%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms2.1%
Model.savedjango/db/models/base.py:8742 ms2.1%
Model.save_basedjango/db/models/base.py:9662 ms2.1%
Model._save_tabledjango/db/models/base.py:11102 ms2.1%
Model._do_updatedjango/db/models/base.py:11882 ms2.1%
QuerySet.filterdjango/db/models/query.py:15422 ms2.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms2.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms2.1%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.1%
Query._add_qdjango/db/models/sql/query.py:17182 ms2.1%
JoinPromoter.update_join_typesdjango/db/models/sql/query.py:28412 ms2.1%
ClientMixin._logindjango/test/client.py:8764 ms4.2%
ClientMixin.sessiondjango/test/client.py:8124 ms4.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms4.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.1%
QuerySet.existsdjango/db/models/query.py:13372 ms2.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.1%
Model.savedjango/db/models/base.py:8742 ms2.1%
Model.save_basedjango/db/models/base.py:9662 ms2.1%
Model._save_tabledjango/db/models/base.py:10572 ms2.1%
ClientMixin._logindjango/test/client.py:8834 ms4.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1264 ms4.2%
Atomic.__enter__django/db/transaction.py:2112 ms2.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms2.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.1%
Atomic.__exit__django/db/transaction.py:2472 ms2.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
ProjectsPageTest.test_multiple_projectsapps/projects/tests.py:1289 ms10.5%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),4 ms4.2%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():2 ms2.1%
QuerySet.existsdjango/db/models/query.py:13372 ms2.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
make_projectapps/projects/testing.py:714 ms4.2%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(4 ms4.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms4.2%
QuerySet.get_or_createdjango/db/models/query.py:9924 ms4.2%
Atomic.__enter__django/db/transaction.py:2112 ms2.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms2.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
Atomic.__exit__django/db/transaction.py:2472 ms2.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
make_projectapps/projects/testing.py:622 ms2.1%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():2 ms2.1%
QuerySet.existsdjango/db/models/query.py:13372 ms2.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms4.2%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms2.1%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms2.1%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms2.1%
Atomic.__exit__django/db/transaction.py:2832 ms2.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.1%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4132 ms2.1%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3712 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
Estimated from 52 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/tests.py:130
response = self.client.get("/projects/", follow=True)
ProjectsPageTest.test_multiple_projects · Libraries
29 ms
apps/projects/tests.py:100
self.client.force_login(self.user)
ProjectsPageTest.setUp · Database
16 ms
apps/orgs/views.py:96
cards = [{"project": project, **analytics.project_card(project)} for project in projects]
org_projects · Database
5 ms
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug · Database
4 ms
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member · Database
4 ms
apps/orgs/models.py:126
membership = Membership.objects.filter(user=user).select_related("organization").order_by("id").first()
ensure_organization · Database
4 ms
apps/projects/analytics.py:579
.first()
project_card · Database
4 ms
apps/projects/testing.py:67
slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),
make_project · App code
2 ms
apps/orgs/views.py:74
if not projects.exists():
home · 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
_unittest_setUpClass_fixture_ProjectsPageTest class 11 ms
_django_setup_unittest class 0.29 ms
_django_db_marker function 0.04 ms
_template_string_if_invalid_marker function 0.04 ms
_dj_autoclear_mailbox function 0.04 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

49 queries · 22 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:130
55 ms
call setUp
apps/projects/tests.py:100
16 ms
setup setUpClass
django/test/testcases.py:1423
10 ms
call _post_teardown
django/test/testcases.py:1240
4 ms
setup is_django_unittest
pytest_django/django_compat.py:10
1 ms

Reliability

5 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 50 results, oldest first in the strip
When Environment Outcome Duration Commit
17 minutes ago CI github-actions:test passed 87 ms 9caa567 main Profile
42 minutes ago CI github-actions:test passed 110 ms ec75501 main Profile
7 hours ago CI github-actions:test passed 100 ms d2c12e5 main Profile
7 hours ago CI github-actions:test passed 50 ms 0b902f6 main Profile
7 hours ago CI github-actions:test passed 82 ms 78a4357 main Profile
2 years ago CI github-actions passed 214 ms 61209a6 main Run
2 years, 2 months ago CI github-actions passed 213 ms 55ca4c2 main Run
2 years, 3 months ago CI github-actions passed 222 ms d007c85 main Run
2 years, 4 months ago CI github-actions passed 216 ms 3d86013 main Run
2 years, 4 months ago CI github-actions passed 243 ms bed0acb main Run
2 years, 4 months ago CI github-actions passed 245 ms 78c1737 main Run
2 years, 4 months ago CI github-actions passed 199 ms 1a5664b main Run
2 years, 5 months ago CI github-actions passed 205 ms c3680ac main Run
2 years, 5 months ago CI github-actions passed 198 ms 06a1df4 main Run
2 years, 5 months ago CI github-actions passed 207 ms a29c34e main Run
2 years, 5 months ago CI github-actions passed 250 ms e55e63f main Run
2 years, 5 months ago CI github-actions passed 262 ms ba5cb67 main Run
2 years, 6 months ago CI github-actions passed 263 ms 7c123d8 main Run
2 years, 6 months ago CI github-actions passed 278 ms 5ae45e1 main Run
2 years, 6 months ago CI github-actions passed 237 ms 1680367 main Run