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

ProjectsPageTest::test_multiple_projects

First seen 2 years, 10 months ago in b9e98d9
CI github-actions:test 12 runs
Average
83 ms
median 87 ms
max 124 ms
Phases
Setup 10 ms Call 72 ms Teardown 0.17 ms
Categories
Database 58 ms App code 0.44 ms Other (Libraries, pytest, Templates, Unsampled, ...) 24 ms

49 database queries per run

Needs 106 KB of memory (max 660 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
setup11 ms13.1%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()10 ms11.6%
TestCase._enter_atomicsdjango/test/testcases.py:139610 ms11.6%
Atomic.__enter__django/db/transaction.py:19810 ms11.6%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:45410 ms11.6%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:30310 ms11.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms11.6%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:27910 ms11.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms11.6%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:25610 ms11.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2610 ms11.6%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:33310 ms11.6%
Connection.connectpsycopg/connection.py:1099 ms10.2%
wait_connpsycopg/waiting.py:1415 ms5.8%
EpollSelector.select<stdlib>/selectors.py:4525 ms5.8%
wait_connpsycopg/waiting.py:1454 ms4.4%
BaseConnection._connect_genpsycopg/_connection_base.py:4394 ms4.4%
Connection.connectpsycopg/connection.py:1071 ms1.5%
make_conninfopsycopg/conninfo.py:621 ms1.5%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()1 ms1.5%
ProjectsPageTest.setUpTestDataapps/projects/tests.py:98 cls.user = User.objects.create_user("testuser")1 ms1.5%
UserManager.create_userdjango/contrib/auth/models.py:1751 ms1.5%
UserManager._create_userdjango/contrib/auth/models.py:1631 ms1.5%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms1.5%
Model.savedjango/db/models/base.py:8741 ms1.5%
Model.save_basedjango/db/models/base.py:9661 ms1.5%
Model._save_tabledjango/db/models/base.py:11671 ms1.5%
Model._do_insertdjango/db/models/base.py:12181 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.5%
QuerySet._insertdjango/db/models/query.py:19181 ms1.5%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.5%
Cursor.executepsycopg/cursor.py:1131 ms1.5%
call75 ms86.8%
ProjectsPageTest.test_multiple_projectsapps/projects/tests.py:131 response = self.client.get("/projects/", follow=True)58 ms66.9%
Client.getdjango/test/client.py:113347 ms54.2%
Client._handle_redirectsdjango/test/client.py:138447 ms54.2%
ClientMixin._follow_redirectdjango/test/client.py:100247 ms54.2%
Client.getdjango/test/client.py:112447 ms54.2%
RequestFactory.getdjango/test/client.py:47547 ms54.2%
RequestFactory.genericdjango/test/client.py:67147 ms54.2%
Client.requestdjango/test/client.py:108247 ms54.2%
ClientHandler.__call__django/test/client.py:18647 ms54.2%
BaseHandler.get_responsedjango/core/handlers/base.py:14147 ms54.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5547 ms54.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13047 ms54.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5547 ms54.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30947 ms54.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5547 ms54.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12347 ms54.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5547 ms54.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms52.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms52.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms52.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms52.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms52.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms52.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms52.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms52.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms52.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms52.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms52.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms52.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3446 ms52.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms52.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19846 ms52.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5946 ms52.4%
org_projectsapps/orgs/views.py:96 cards = [{"project": project, **analytics.project_card(project)} for project in projects]36 ms41.6%
QuerySet.__iter__django/db/models/query.py:39031 ms36.1%
QuerySet._fetch_alldjango/db/models/query.py:200031 ms36.1%
ModelIterable.__iter__django/db/models/query.py:9531 ms36.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162420 ms23.5%
CursorWrapper.executedjango/db/backends/utils.py:7920 ms23.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9220 ms23.5%
CursorWrapper._executedjango/db/backends/utils.py:10520 ms23.5%
Cursor.executepsycopg/cursor.py:11320 ms23.5%
Connection.waitpsycopg/connection.py:49520 ms23.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:20619 ms21.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28619 ms21.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7819 ms21.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16119 ms10.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7678 ms9.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:863 ms3.6%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:753 ms3.6%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms1.8%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10302 ms1.8%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.8%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.8%
Col.as_sqldjango/db/models/expressions.py:13252 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:873 ms3.6%
Col.as_sqldjango/db/models/expressions.py:13252 ms1.8%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.8%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.8%
Expression.__hash__django/db/models/expressions.py:5622 ms1.8%
cached_property.__get__django/utils/functional.py:472 ms1.8%
Expression.identitydjango/db/models/expressions.py:5522 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:932 ms1.8%
SQLCompiler.get_group_bydjango/db/models/sql/compiler.py:1762 ms1.8%
SQLCompiler.collapse_group_bydjango/db/models/sql/compiler.py:2252 ms1.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms1.8%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms1.8%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.8%
Join.as_sqldjango/db/models/sql/datastructures.py:882 ms1.8%
DatabaseOperations.prepare_join_on_clausedjango/db/backends/postgresql/operations.py:3992 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms1.8%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
project_cardapps/projects/analytics.py:579 .first()5 ms5.4%
QuerySet.firstdjango/db/models/query.py:11455 ms5.4%
QuerySet.__iter__django/db/models/query.py:3905 ms5.4%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms5.4%
ValuesIterable.__iter__django/db/models/query.py:2225 ms5.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms3.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms3.6%
CursorWrapper.executedjango/db/backends/utils.py:793 ms3.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms3.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
org_projectsapps/orgs/views.py:97 return render(request, "org.html", {**org_shell(request, organization, "projects"), "cards": cards})6 ms7.2%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
org_shellapps/orgs/views.py:422 ms1.8%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms1.8%
QuerySet.existsdjango/db/models/query.py:13372 ms1.8%
renderdjango/shortcuts.py:252 ms1.8%
render_to_stringdjango/template/loader.py:622 ms1.8%
Template.renderdjango/template/backends/django.py:1072 ms1.8%
Template.renderdjango/template/base.py:1742 ms1.8%
instrumented_test_renderdjango/test/utils.py:1142 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms1.8%
instrumented_test_renderdjango/test/utils.py:1142 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms1.8%
instrumented_test_renderdjango/test/utils.py:1142 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
BlockNode.renderdjango/template/loader_tags.py:662 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.8%
NodeList.renderdjango/template/base.py:10912 ms1.8%
Node.render_annotateddjango/template/base.py:10522 ms1.8%
CsrfTokenNode.renderdjango/template/defaulttags.py:782 ms1.8%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.8%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.8%
org_projectsapps/orgs/views.py:86 organization.project_set.annotate(3 ms3.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.6%
QuerySet.annotatedjango/db/models/query.py:16993 ms3.6%
QuerySet._annotatedjango/db/models/query.py:17513 ms3.6%
Query.add_annotationdjango/db/models/sql/query.py:12422 ms1.8%
Count.resolve_expressiondjango/db/models/aggregates.py:2612 ms1.8%
Aggregate.resolve_expressiondjango/db/models/aggregates.py:1222 ms1.8%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms1.8%
Func.copydjango/db/models/expressions.py:11332 ms1.8%
BaseExpression.copydjango/db/models/expressions.py:4442 ms1.8%
copy<stdlib>/copy.py:1002 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.8%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:11102 ms1.8%
Model._do_updatedjango/db/models/base.py:12112 ms1.8%
QuerySet._updatedjango/db/models/query.py:13272 ms1.8%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.8%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
Client.getdjango/test/client.py:112411 ms12.7%
RequestFactory.getdjango/test/client.py:47511 ms12.7%
RequestFactory.genericdjango/test/client.py:67111 ms12.7%
Client.requestdjango/test/client.py:108211 ms12.7%
ClientHandler.__call__django/test/client.py:17311 ms12.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6211 ms12.7%
__init____init__:-111 ms12.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1048 ms9.0%
WhiteNoise.add_fileswhitenoise/base.py:1088 ms9.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1205 ms5.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1315 ms5.4%
WhiteNoise.get_static_filewhitenoise/base.py:2085 ms5.4%
StaticFile.__init__whitenoise/responders.py:762 ms1.8%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1882 ms1.8%
StaticFile.__init__whitenoise/responders.py:772 ms1.8%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms1.8%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms1.8%
Headers.__delitem__<stdlib>/wsgiref/headers.py:722 ms1.8%
<GC>~2 ms1.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms3.6%
scantreewhitenoise/base.py:2623 ms3.6%
scantreewhitenoise/base.py:2623 ms3.6%
scantreewhitenoise/base.py:2622 ms1.8%
scantreewhitenoise/base.py:2622 ms1.8%
scantreewhitenoise/base.py:2622 ms1.8%
scantreewhitenoise/base.py:2642 ms1.8%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1113 ms3.6%
WhiteNoise.add_fileswhitenoise/base.py:982 ms1.8%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms1.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms1.8%
scantreewhitenoise/base.py:2642 ms1.8%
ProjectsPageTest.test_multiple_projectsapps/projects/tests.py:1298 ms9.0%
make_projectapps/projects/testing.py:713 ms3.6%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(3 ms3.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms3.6%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms1.8%
QuerySet.getdjango/db/models/query.py:6352 ms1.8%
QuerySet.__len__django/db/models/query.py:3722 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms1.8%
QuerySet.createdjango/db/models/query.py:6692 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:11672 ms1.8%
Model._do_insertdjango/db/models/base.py:12182 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet._insertdjango/db/models/query.py:19182 ms1.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
make_projectapps/projects/testing.py:61 organization = Organization.objects.create(2 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.createdjango/db/models/query.py:6672 ms1.8%
Model.__init__django/db/models/base.py:5692 ms1.8%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),2 ms1.8%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():2 ms1.8%
QuerySet.existsdjango/db/models/query.py:13372 ms1.8%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.8%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
make_projectapps/projects/testing.py:64 project = Project.objects.create(2 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.createdjango/db/models/query.py:6692 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:11672 ms1.8%
Model._do_insertdjango/db/models/base.py:12182 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet._insertdjango/db/models/query.py:19182 ms1.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
ProjectsPageTest.setUpapps/projects/tests.py:101 self.client.force_login(self.user)6 ms7.2%
ClientMixin.force_logindjango/test/client.py:8556 ms7.2%
ClientMixin._logindjango/test/client.py:8763 ms3.6%
ClientMixin.sessiondjango/test/client.py:8123 ms3.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1213 ms3.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.8%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.8%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.8%
QuerySet.existsdjango/db/models/query.py:13372 ms1.8%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.8%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:11672 ms1.8%
Model._do_insertdjango/db/models/base.py:12182 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet._insertdjango/db/models/query.py:19182 ms1.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
ClientMixin._logindjango/test/client.py:8813 ms3.6%
logindjango/contrib/auth/__init__.py:1873 ms3.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4373 ms3.6%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1753 ms3.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.getdjango/db/models/query.py:6252 ms1.8%
Model.deletedjango/db/models/base.py:12982 ms1.8%
Collector.deletedjango/db/models/deletion.py:4522 ms1.8%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms1.8%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms1.8%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms1.8%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
Estimated from 57 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/orgs/views.py:96
cards = [{"project": project, **analytics.project_card(project)} for project in projects]
org_projects · Database
31 ms
apps/projects/tests.py:131
response = self.client.get("/projects/", follow=True)
ProjectsPageTest.test_multiple_projects · Libraries
13 ms
apps/projects/tests.py:101
self.client.force_login(self.user)
ProjectsPageTest.setUp · Database
6 ms
apps/projects/analytics.py:579
.first()
project_card · Database
5 ms
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member · Database
3 ms
apps/orgs/views.py:86
organization.project_set.annotate(
org_projects · Database
3 ms
apps/projects/testing.py:61
organization = Organization.objects.create(
make_project · Database
2 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:64
project = Project.objects.create(
make_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

Fixtures

Exact setup time
_unittest_setUpClass_fixture_ProjectsPageTest class 10 ms
_django_setup_unittest class 0.24 ms
_template_string_if_invalid_marker function 0.07 ms
_dj_autoclear_mailbox function 0.04 ms
_django_db_marker function 0.03 ms
_live_server_helper function 0.03 ms
_django_set_urlconf function 0.03 ms
_django_clear_site_cache function 0.02 ms
monkeypatch function 0.02 ms

Database

49 queries · 19 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:131
66 ms
setup setUpClass
django/test/testcases.py:1423
11 ms
call setUp
apps/projects/tests.py:101
6 ms
call pytest internals 2 ms
call _post_teardown
django/test/testcases.py:1240
2 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
16 hours ago CI github-actions:test passed 87 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 51 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 89 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 66 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 124 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 60 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 87 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 87 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 110 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 100 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 50 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 82 ms 78a4357 main Profile