CI
github-actions:test
5 runs
Average
65 ms
median 69 ms
max 76 ms
max 76 ms
Phases
Setup 11 ms
Call 53 ms
Teardown 0.17 ms
Categories
Database 37 ms
Other (Libraries, pytest, Imports, Unsampled) 27 ms
35 database queries per run
Needs 35 KB of memory (max 88 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, an hour ago ·
open run
setup10 ms14.1%
CallInfo.from_call_pytest/runner.py:35310 ms14.1%
call_and_report.<locals>.<lambda>_pytest/runner.py:24510 ms14.1%
HookCaller.__call__pluggy/_hooks.py:51210 ms14.1%
PluginManager._hookexecpluggy/_manager.py:12010 ms14.1%
_multicallpluggy/_callers.py:12110 ms14.1%
pytest_runtest_setup_pytest/runner.py:16510 ms14.1%
SetupState.setup_pytest/runner.py:52310 ms14.1%
TestCaseFunction.setup_pytest/unittest.py:22710 ms14.1%
Function.setup_pytest/python.py:172310 ms14.1%
TopRequest._fillfixtures_pytest/fixtures.py:70710 ms14.1%
FixtureRequest.getfixturevalue_pytest/fixtures.py:53910 ms14.1%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:62710 ms14.1%
FixtureDef.execute_pytest/fixtures.py:11109 ms12.8%
HookCaller.__call__pluggy/_hooks.py:5129 ms12.8%
PluginManager._hookexecpluggy/_manager.py:1209 ms12.8%
_multicallpluggy/_callers.py:1219 ms12.8%
pytest_fixture_setup_pytest/fixtures.py:12029 ms12.8%
call_fixture_func_pytest/fixtures.py:9089 ms12.8%
UnitTestCase._register_unittest_setup_class_fixture.<locals>.unittest_setup_class_fixture_pytest/unittest.py:1548 ms11.5%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()7 ms10.3%
TestCase._enter_atomicsdjango/test/testcases.py:13967 ms10.3%
Atomic.__enter__django/db/transaction.py:1987 ms10.3%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:4547 ms10.3%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:3037 ms10.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:267 ms10.3%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:2797 ms10.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:267 ms10.3%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2566 ms9.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:266 ms9.0%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3336 ms9.0%
Connection.connectpsycopg/connection.py:1096 ms9.0%
wait_connpsycopg/waiting.py:1454 ms5.1%
BaseConnection._connect_genpsycopg/_connection_base.py:4393 ms3.8%
wait_connpsycopg/waiting.py:1413 ms3.8%
EpollSelector.select<stdlib>/selectors.py:4523 ms3.8%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2580.91 ms1.3%
DatabaseWrapper.init_connection_statedjango/db/backends/postgresql/base.py:4020.91 ms1.3%
DatabaseWrapper._configure_connectiondjango/db/backends/postgresql/base.py:3740.91 ms1.3%
DatabaseWrapper._configure_timezonedjango/db/backends/postgresql/base.py:3570.91 ms1.3%
Cursor.executepsycopg/cursor.py:1130.91 ms1.3%
Connection.waitpsycopg/connection.py:4950.91 ms1.3%
TestCase.setUpClassdjango/test/testcases.py:14170.91 ms1.3%
TransactionTestCase.setUpClassdjango/test/testcases.py:11300.91 ms1.3%
SimpleTestCase.setUpClassdjango/test/testcases.py:2250.91 ms1.3%
SimpleTestCase._add_databases_failuresdjango/test/testcases.py:2650.91 ms1.3%
_django_setup_unittestpytest_django/plugin.py:5610.91 ms1.3%
is_django_unittestpytest_django/django_compat.py:10 from django.test import SimpleTestCase0.91 ms1.3%
_handle_fromlist<frozen importlib._bootstrap>:14030.91 ms1.3%
FixtureDef.execute_pytest/fixtures.py:10680.91 ms1.3%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:6270.91 ms1.3%
FixtureDef.execute_pytest/fixtures.py:11100.91 ms1.3%
call61 ms85.6%
CallInfo.from_call_pytest/runner.py:35361 ms85.6%
call_and_report.<locals>.<lambda>_pytest/runner.py:24561 ms85.6%
HookCaller.__call__pluggy/_hooks.py:51261 ms85.6%
PluginManager._hookexecpluggy/_manager.py:12061 ms85.6%
_multicallpluggy/_callers.py:12161 ms85.6%
pytest_runtest_call_pytest/runner.py:17961 ms85.6%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:57361 ms85.6%
SimpleTestCase.__call__django/test/testcases.py:31361 ms85.6%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36857 ms80.4%
TestCase.__call__<stdlib>/unittest/case.py:74757 ms80.4%
TestCase.run<stdlib>/unittest/case.py:69157 ms80.4%
TestCase._callTestMethod<stdlib>/unittest/case.py:63757 ms80.4%
TestProjectsHome.test_user_logged_inft/tests.py:42 response = self.client.get(reverse("projects"))37 ms51.9%
Client.getdjango/test/client.py:112437 ms51.9%
RequestFactory.getdjango/test/client.py:47537 ms51.9%
RequestFactory.genericdjango/test/client.py:67137 ms51.9%
Client.requestdjango/test/client.py:108237 ms51.9%
ClientHandler.__call__django/test/client.py:17328 ms38.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6228 ms38.9%
__init____init__:-128 ms38.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10428 ms38.9%
WhiteNoise.add_fileswhitenoise/base.py:10828 ms38.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:11513 ms18.2%
scantreewhitenoise/base.py:26211 ms15.6%
scantreewhitenoise/base.py:26211 ms15.6%
scantreewhitenoise/base.py:2629 ms13.0%
scantreewhitenoise/base.py:2629 ms13.0%
scantreewhitenoise/base.py:2629 ms13.0%
scantreewhitenoise/base.py:2649 ms13.0%
<GC>~7 ms10.4%
scantreewhitenoise/base.py:2612 ms2.6%
scantreewhitenoise/base.py:2642 ms2.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12013 ms18.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13113 ms18.2%
WhiteNoise.get_static_filewhitenoise/base.py:20813 ms18.2%
StaticFile.__init__whitenoise/responders.py:747 ms10.4%
parsedate<stdlib>/email/_parseaddr.py:1856 ms7.8%
parsedate<stdlib>/email/_parseaddr.py:1872 ms2.6%
StaticFile.__init__whitenoise/responders.py:732 ms2.6%
StaticFile.get_headerswhitenoise/responders.py:1762 ms2.6%
StaticFile.__init__whitenoise/responders.py:772 ms2.6%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms2.6%
ClientHandler.__call__django/test/client.py:1869 ms13.0%
BaseHandler.get_responsedjango/core/handlers/base.py:1419 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1309 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1239 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:349 ms13.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms13.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1989 ms13.0%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:597 ms10.4%
homeapps/orgs/views.py:722 ms2.6%
current_organizationapps/orgs/views.py:542 ms2.6%
ensure_organizationapps/orgs/models.py:126 membership = Membership.objects.filter(user=user).select_related("organization").order_by("id").first()2 ms2.6%
QuerySet.firstdjango/db/models/query.py:11452 ms2.6%
QuerySet.__iter__django/db/models/query.py:3902 ms2.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.6%
ModelIterable.__iter__django/db/models/query.py:952 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
homeapps/orgs/views.py:74 if not projects.exists():2 ms2.6%
QuerySet.existsdjango/db/models/query.py:13372 ms2.6%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.6%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.6%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.6%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms2.6%
homeapps/orgs/views.py:77 if in_organization.count() == 1:2 ms2.6%
QuerySet.countdjango/db/models/query.py:6102 ms2.6%
Query.get_countdjango/db/models/sql/query.py:6512 ms2.6%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1022 ms2.6%
QueryStats.addflakytest/profiling/dbtrack.py:382 ms2.6%
normalize_sqlflakytest/profiling/dbtrack.py:232 ms2.6%
homeapps/orgs/views.py:78 return redirect(in_organization.select_related("organization").get().url())2 ms2.6%
QuerySet.getdjango/db/models/query.py:6352 ms2.6%
QuerySet.__len__django/db/models/query.py:3722 ms2.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.6%
ModelIterable.__iter__django/db/models/query.py:952 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1022 ms2.6%
QueryStats.addflakytest/profiling/dbtrack.py:382 ms2.6%
normalize_sqlflakytest/profiling/dbtrack.py:232 ms2.6%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.6%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.6%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.6%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.6%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.6%
get_userdjango/contrib/auth/middleware.py:202 ms2.6%
get_userdjango/contrib/auth/__init__.py:3112 ms2.6%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.6%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.6%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.6%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.6%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.6%
QuerySet.getdjango/db/models/query.py:6352 ms2.6%
QuerySet.__len__django/db/models/query.py:3722 ms2.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.6%
ModelIterable.__iter__django/db/models/query.py:952 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1022 ms2.6%
QueryStats.addflakytest/profiling/dbtrack.py:382 ms2.6%
TestProjectsHome.test_user_logged_inft/tests.py:407 ms10.4%
make_projectapps/projects/testing.py:622 ms2.6%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():2 ms2.6%
QuerySet.existsdjango/db/models/query.py:13372 ms2.6%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms2.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.6%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms2.6%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms2.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.6%
make_projectapps/projects/testing.py:61 organization = Organization.objects.create(2 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.6%
QuerySet.createdjango/db/models/query.py:6692 ms2.6%
Model.savedjango/db/models/base.py:8742 ms2.6%
Model.save_basedjango/db/models/base.py:9662 ms2.6%
Model._save_tabledjango/db/models/base.py:11672 ms2.6%
Model._do_insertdjango/db/models/base.py:12182 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.6%
QuerySet._insertdjango/db/models/query.py:19182 ms2.6%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),2 ms2.6%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():2 ms2.6%
QuerySet.existsdjango/db/models/query.py:13372 ms2.6%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
make_projectapps/projects/testing.py:64 project = Project.objects.create(2 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.6%
QuerySet.createdjango/db/models/query.py:6692 ms2.6%
Model.savedjango/db/models/base.py:8742 ms2.6%
Model.save_basedjango/db/models/base.py:9662 ms2.6%
Model._save_tabledjango/db/models/base.py:11672 ms2.6%
Model._do_insertdjango/db/models/base.py:12182 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.6%
QuerySet._insertdjango/db/models/query.py:19182 ms2.6%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
TestProjectsHome.test_user_logged_inft/tests.py:39 self.client.force_login(user)6 ms7.8%
ClientMixin.force_logindjango/test/client.py:8556 ms7.8%
ClientMixin._logindjango/test/client.py:8814 ms5.2%
logindjango/contrib/auth/__init__.py:1872 ms2.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.6%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.6%
Model.deletedjango/db/models/base.py:12982 ms2.6%
Collector.deletedjango/db/models/deletion.py:4502 ms2.6%
logindjango/contrib/auth/__init__.py:1972 ms2.6%
Signal.senddjango/dispatch/dispatcher.py:2092 ms2.6%
update_last_logindjango/contrib/auth/models.py:242 ms2.6%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms2.6%
Model.savedjango/db/models/base.py:8742 ms2.6%
Model.save_basedjango/db/models/base.py:9662 ms2.6%
Model._save_tabledjango/db/models/base.py:11102 ms2.6%
Model._do_updatedjango/db/models/base.py:12112 ms2.6%
QuerySet._updatedjango/db/models/query.py:13272 ms2.6%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.6%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
ClientMixin._logindjango/test/client.py:8762 ms2.6%
ClientMixin.sessiondjango/test/client.py:8122 ms2.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms2.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.6%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.6%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.6%
QuerySet.existsdjango/db/models/query.py:13372 ms2.6%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
TestProjectsHome.test_user_logged_inft/tests.py:38 user = User.objects.create_user("testuser")4 ms5.2%
UserManager.create_userdjango/contrib/auth/models.py:1754 ms5.2%
UserManager._create_userdjango/contrib/auth/models.py:1634 ms5.2%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:624 ms5.2%
Model.savedjango/db/models/base.py:8744 ms5.2%
Model.save_basedjango/db/models/base.py:9662 ms2.6%
Model._save_tabledjango/db/models/base.py:11672 ms2.6%
Model._do_insertdjango/db/models/base.py:12182 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.6%
QuerySet._insertdjango/db/models/query.py:19182 ms2.6%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
TestProjectsHome.test_user_logged_inft/tests.py:414 ms5.2%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(4 ms5.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms5.2%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms2.6%
QuerySet.getdjango/db/models/query.py:6352 ms2.6%
QuerySet.__len__django/db/models/query.py:3722 ms2.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.6%
ModelIterable.__iter__django/db/models/query.py:952 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms2.6%
QuerySet.createdjango/db/models/query.py:6692 ms2.6%
Model.savedjango/db/models/base.py:8742 ms2.6%
Model.save_basedjango/db/models/base.py:9662 ms2.6%
Model._save_tabledjango/db/models/base.py:11672 ms2.6%
Model._do_insertdjango/db/models/base.py:12182 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.6%
QuerySet._insertdjango/db/models/query.py:19182 ms2.6%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3714 ms5.2%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms5.2%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms2.6%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms2.6%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms2.6%
Atomic.__exit__django/db/transaction.py:2862 ms2.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.6%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.6%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.6%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.6%
Cursor.executepsycopg/cursor.py:1132 ms2.6%
Connection.waitpsycopg/connection.py:4952 ms2.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.6%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.6%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.6%
Estimated from 44 samples; phase durations are exact. Frames from pytest and pluggy are
shown
.
Hot lines in your code
|
ft/tests.py:42
response = self.client.get(reverse("projects"))
TestProjectsHome.test_user_logged_in
· Libraries
|
30 ms |
|
ft/tests.py:39
self.client.force_login(user)
TestProjectsHome.test_user_logged_in
· Database
|
6 ms |
|
ft/tests.py:38
user = User.objects.create_user("testuser")
TestProjectsHome.test_user_logged_in
· Database
|
4 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/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/orgs/models.py:126
membership = Membership.objects.filter(user=user).select_related("organization").order_by("id").first()
ensure_organization
· Database
|
2 ms |
|
apps/orgs/views.py:74
if not projects.exists():
home
· Database
|
2 ms |
|
apps/orgs/views.py:77
if in_organization.count() == 1:
home
· Database
|
2 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_TestProjectsHome class | 9 ms |
| _django_setup_unittest class | 0.48 ms |
| _template_string_if_invalid_marker function | 0.06 ms |
| _django_db_marker function | 0.04 ms |
| _live_server_helper function | 0.03 ms |
| _dj_autoclear_mailbox function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| monkeypatch function | 0.03 ms |
| _django_clear_site_cache function | 0.02 ms |
Database
35 queries · 14 msNo repeated queries.
Biggest pieces of work
|
call test body
ft/tests.py:42
|
57 ms |
|
setup setUpClass
django/test/testcases.py:1423
|
8 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
|
setup is_django_unittest
pytest_django/django_compat.py:10
|
0.91 ms |
| setup pytest internals | 0.91 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 | |
|---|---|---|---|---|
| an hour ago | CI github-actions:test | passed | 71 ms | Profile |
| an hour ago | CI github-actions:test | passed | 69 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 76 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 37 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 69 ms | Profile |