Tests / apps/projects/tests.py
ProjectPagesTest::test_profiles_page
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
65 ms
median 65 ms
max 125 ms
max 125 ms
Phases
Setup 0.68 ms
Call 64 ms
Teardown 0.18 ms
Categories
Database 33 ms
Test code 0.38 ms
App code 0.10 ms
Other (Libraries, Templates, Unsampled, pytest, ...) 32 ms
34 database queries per run
Needs 182 KB of memory (max 512 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup0.77 ms1.2%
call64 ms98.6%
ProjectPagesTest.test_profiles_pageapps/projects/tests.py:1055 response = self.client.get(self.project.url("project_profiles"))45 ms68.6%
Client.getdjango/test/client.py:112445 ms68.6%
RequestFactory.getdjango/test/client.py:47545 ms68.6%
RequestFactory.genericdjango/test/client.py:67145 ms68.6%
Client.requestdjango/test/client.py:108245 ms68.6%
ClientHandler.__call__django/test/client.py:18631 ms47.1%
BaseHandler.get_responsedjango/core/handlers/base.py:14131 ms47.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms47.1%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13031 ms47.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms47.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms47.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms47.1%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12331 ms47.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms47.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms42.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms42.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms42.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms42.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms42.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms42.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms42.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms42.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms42.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms42.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30928 ms42.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms42.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3428 ms42.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5528 ms42.9%
BaseHandler._get_responsedjango/core/handlers/base.py:19828 ms42.9%
project_profilesapps/projects/urls.py:45717 ms25.7%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {11 ms17.1%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))8 ms12.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2518 ms12.9%
SimpleLazyObject._setupdjango/utils/functional.py:4048 ms12.9%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:408 ms12.9%
get_userdjango/contrib/auth/middleware.py:208 ms12.9%
get_userdjango/contrib/auth/__init__.py:3118 ms12.9%
_get_user_session_keydjango/contrib/auth/__init__.py:958 ms12.9%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:558 ms12.9%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2518 ms12.9%
SessionStore.loaddjango/contrib/sessions/backends/db.py:558 ms12.9%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:348 ms12.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:878 ms12.9%
QuerySet.getdjango/db/models/query.py:6356 ms8.6%
QuerySet.__len__django/db/models/query.py:3726 ms8.6%
QuerySet._fetch_alldjango/db/models/query.py:20006 ms8.6%
ModelIterable.__iter__django/db/models/query.py:956 ms8.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16113 ms4.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7953 ms4.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5783 ms4.3%
WhereNode.as_sqldjango/db/models/sql/where.py:1513 ms4.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5783 ms4.3%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2383 ms4.3%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2303 ms4.3%
Lookup.process_lhsdjango/db/models/lookups.py:1093 ms4.3%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2973 ms4.3%
BaseExpression.copydjango/db/models/expressions.py:4443 ms4.3%
copy<stdlib>/copy.py:1003 ms4.3%
_reconstruct<stdlib>/copy.py:2633 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms4.3%
Cursor.executepsycopg/cursor.py:1133 ms4.3%
Connection.waitpsycopg/connection.py:4953 ms4.3%
QuerySet.getdjango/db/models/query.py:6253 ms4.3%
QuerySet.filterdjango/db/models/query.py:15423 ms4.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15603 ms4.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15703 ms4.3%
Query.add_qdjango/db/models/sql/query.py:16713 ms4.3%
Query._add_qdjango/db/models/sql/query.py:17033 ms4.3%
Query.build_filterdjango/db/models/sql/query.py:16133 ms4.3%
Query.build_lookupdjango/db/models/sql/query.py:14253 ms4.3%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],3 ms4.3%
ReverseManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:6473 ms4.3%
shellapps/projects/urls.py:733 ms4.3%
can_manageapps/projects/urls.py:443 ms4.3%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()3 ms4.3%
QuerySet.existsdjango/db/models/query.py:13373 ms4.3%
Query.has_resultsdjango/db/models/sql/query.py:6813 ms4.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15923 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16113 ms4.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7673 ms4.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:883 ms4.3%
WhereNode.split_having_qualifydjango/db/models/sql/where.py:473 ms4.3%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))3 ms4.3%
QuerySet.__iter__django/db/models/query.py:3903 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms4.3%
ModelIterable.__iter__django/db/models/query.py:953 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms4.3%
Cursor.executepsycopg/cursor.py:1133 ms4.3%
Connection.waitpsycopg/connection.py:4953 ms4.3%
project_profilesapps/projects/urls.py:470 return render(request, "project_profiles.html", context)8 ms12.9%
renderdjango/shortcuts.py:258 ms12.9%
render_to_stringdjango/template/loader.py:628 ms12.9%
Template.renderdjango/template/backends/django.py:1078 ms12.9%
Template.renderdjango/template/base.py:1748 ms12.9%
instrumented_test_renderdjango/test/utils.py:1148 ms12.9%
NodeList.renderdjango/template/base.py:10918 ms12.9%
Node.render_annotateddjango/template/base.py:10528 ms12.9%
ExtendsNode.renderdjango/template/loader_tags.py:1608 ms12.9%
instrumented_test_renderdjango/test/utils.py:1148 ms12.9%
NodeList.renderdjango/template/base.py:10918 ms12.9%
Node.render_annotateddjango/template/base.py:10528 ms12.9%
ExtendsNode.renderdjango/template/loader_tags.py:1608 ms12.9%
instrumented_test_renderdjango/test/utils.py:1148 ms12.9%
NodeList.renderdjango/template/base.py:10918 ms12.9%
Node.render_annotateddjango/template/base.py:10528 ms12.9%
BlockNode.renderdjango/template/loader_tags.py:668 ms12.9%
NodeList.renderdjango/template/base.py:10918 ms12.9%
Node.render_annotateddjango/template/base.py:10528 ms12.9%
IfNode.renderdjango/template/defaulttags.py:3336 ms8.6%
NodeList.renderdjango/template/base.py:10916 ms8.6%
Node.render_annotateddjango/template/base.py:10526 ms8.6%
SimpleNode.renderdjango/template/library.py:3256 ms8.6%
heroicon_miniheroicons/templatetags/heroicons.py:186 ms8.6%
_render_iconheroicons/templatetags/heroicons.py:396 ms8.6%
_render_iconheroicons/__init__.py:453 ms4.3%
deepcopy<stdlib>/copy.py:1373 ms4.3%
_render_iconheroicons/__init__.py:633 ms4.3%
tostring<stdlib>/xml/etree/ElementTree.py:11063 ms4.3%
ElementTree.write<stdlib>/xml/etree/ElementTree.py:7453 ms4.3%
_serialize_xml<stdlib>/xml/etree/ElementTree.py:9083 ms4.3%
_serialize_xml<stdlib>/xml/etree/ElementTree.py:9013 ms4.3%
_escape_attrib<stdlib>/xml/etree/ElementTree.py:10683 ms4.3%
BlockNode.renderdjango/template/loader_tags.py:663 ms4.3%
NodeList.renderdjango/template/base.py:10913 ms4.3%
Node.render_annotateddjango/template/base.py:10523 ms4.3%
IfNode.renderdjango/template/defaulttags.py:3323 ms4.3%
Page.__len__django/core/paginator.py:3193 ms4.3%
QuerySet.__len__django/db/models/query.py:3723 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms4.3%
ModelIterable.__iter__django/db/models/query.py:953 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.3%
project_profilesapps/projects/urls.py:4543 ms4.3%
find_projectapps/projects/urls.py:49 project = get_object_or_404(3 ms4.3%
get_object_or_404django/shortcuts.py:903 ms4.3%
QuerySet.getdjango/db/models/query.py:6353 ms4.3%
QuerySet.__len__django/db/models/query.py:3723 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms4.3%
ModelIterable.__iter__django/db/models/query.py:1273 ms4.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15773 ms4.3%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15263 ms4.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3113 ms4.3%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:593 ms4.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1233 ms4.3%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1023 ms4.3%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1263 ms4.3%
dumpsdjango/core/signing.py:1513 ms4.3%
Signer.sign_objectdjango/core/signing.py:2263 ms4.3%
JSONSerializer.dumpsdjango/core/signing.py:1263 ms4.3%
dumps<stdlib>/json/__init__.py:2413 ms4.3%
ClientHandler.__call__django/test/client.py:17314 ms21.4%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6214 ms21.4%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10414 ms21.4%
WhiteNoise.add_fileswhitenoise/base.py:10814 ms21.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1208 ms12.9%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1316 ms8.6%
WhiteNoise.get_static_filewhitenoise/base.py:2036 ms8.6%
WhiteNoise.add_cache_headerswhitenoise/base.py:2246 ms8.6%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1766 ms8.6%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1976 ms8.6%
URLMixin.urldebug_toolbar/panels/staticfiles.py:203 ms4.3%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2053 ms4.3%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1863 ms4.3%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2093 ms4.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1156 ms8.6%
scantreewhitenoise/base.py:2626 ms8.6%
scantreewhitenoise/base.py:2626 ms8.6%
scantreewhitenoise/base.py:2623 ms4.3%
scantreewhitenoise/base.py:2623 ms4.3%
scantreewhitenoise/base.py:2623 ms4.3%
scantreewhitenoise/base.py:2643 ms4.3%
scantreewhitenoise/base.py:2643 ms4.3%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)8 ms12.9%
ClientMixin.force_logindjango/test/client.py:8558 ms12.9%
ClientMixin._logindjango/test/client.py:8763 ms4.3%
ClientMixin.sessiondjango/test/client.py:8123 ms4.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1213 ms4.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:743 ms4.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1263 ms4.3%
Atomic.__enter__django/db/transaction.py:2113 ms4.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:263 ms4.3%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4003 ms4.3%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3673 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms4.3%
Cursor.executepsycopg/cursor.py:1133 ms4.3%
Connection.waitpsycopg/connection.py:4953 ms4.3%
ClientMixin._logindjango/test/client.py:8813 ms4.3%
logindjango/contrib/auth/__init__.py:1873 ms4.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4343 ms4.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:703 ms4.3%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1983 ms4.3%
SessionStore.existsdjango/contrib/sessions/backends/db.py:633 ms4.3%
QuerySet.existsdjango/db/models/query.py:13373 ms4.3%
Query.has_resultsdjango/db/models/sql/query.py:6813 ms4.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15923 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.3%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms4.3%
Cursor.executepsycopg/cursor.py:1133 ms4.3%
Connection.waitpsycopg/connection.py:4953 ms4.3%
ClientMixin._logindjango/test/client.py:8833 ms4.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1233 ms4.3%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1033 ms4.3%
SessionBase.get_expiry_datedjango/contrib/sessions/backends/base.py:3303 ms4.3%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()8 ms12.9%
TestCase._fixture_teardowndjango/test/testcases.py:14958 ms12.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4838 ms12.9%
CursorWrapper.executedjango/db/backends/utils.py:798 ms12.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:928 ms12.9%
CursorWrapper._executedjango/db/backends/utils.py:1038 ms12.9%
Cursor.executepsycopg/cursor.py:1138 ms12.9%
Connection.waitpsycopg/connection.py:4958 ms12.9%
ProjectPagesTest.test_profiles_pageapps/projects/tests.py:1054 def test_profiles_page(self):3 ms4.3%
Estimated from 24 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1055
response = self.client.get(self.project.url("project_profiles"))
ProjectPagesTest.test_profiles_page
· Libraries
|
17 ms |
|
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Database
|
8 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
8 ms |
|
apps/projects/urls.py:470
return render(request, "project_profiles.html", context)
project_profiles
· Templates
|
8 ms |
|
apps/projects/tests.py:1054
def test_profiles_page(self):
ProjectPagesTest.test_profiles_page
· Test code
|
3 ms |
|
apps/projects/urls.py:49
project = get_object_or_404(
find_project
· Database
|
3 ms |
|
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell
· Database
|
3 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
3 ms |
|
apps/projects/urls.py:80
environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))
filters
· Database
|
3 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.04 ms |
| _dj_autoclear_mailbox function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| monkeypatch function | 0.02 ms |
| _django_clear_site_cache function | 0.02 ms |
Database
34 queries · 12 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/projects/tests.py:1054
|
48 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
8 ms |
|
call setUp
apps/projects/tests.py:954
|
8 ms |
| setup pytest internals | 0.77 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 65 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 36 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 68 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 61 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 85 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 46 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 66 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 66 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 64 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 125 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 37 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 64 ms | Profile |