Tests / apps/projects/tests.py
MemoryTest::test_profile_and_test_pages
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
93 ms
median 103 ms
max 113 ms
max 113 ms
Phases
Setup 0.66 ms
Call 93 ms
Teardown 0.20 ms
Categories
Database 59 ms
App code 1 ms
Test code 0.31 ms
Other (Libraries, Templates, pytest, Unsampled) 33 ms
60 database queries per run
Needs 3 KB of memory (max 20 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call103 ms99.1%
MemoryTest.test_profile_and_test_pagesapps/projects/tests.py:1454 response = self.client.get(self.project.url("project_profile", self.latest.number))50 ms48.6%
Client.getdjango/test/client.py:112450 ms48.6%
RequestFactory.getdjango/test/client.py:47550 ms48.6%
RequestFactory.genericdjango/test/client.py:67150 ms48.6%
Client.requestdjango/test/client.py:108250 ms48.6%
ClientHandler.__call__django/test/client.py:17331 ms29.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6231 ms29.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10431 ms29.9%
WhiteNoise.add_fileswhitenoise/base.py:10831 ms29.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1208 ms7.5%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1318 ms7.5%
WhiteNoise.get_static_filewhitenoise/base.py:2034 ms3.7%
WhiteNoise.add_cache_headerswhitenoise/base.py:2244 ms3.7%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1764 ms3.7%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1974 ms3.7%
URLMixin.urldebug_toolbar/panels/staticfiles.py:204 ms3.7%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2054 ms3.7%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1842 ms1.9%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1782 ms1.9%
WhiteNoise.get_static_filewhitenoise/base.py:2084 ms3.7%
StaticFile.__init__whitenoise/responders.py:774 ms3.7%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms3.7%
__init____init__:-12 ms1.9%
Headers.__init__<stdlib>/wsgiref/headers.py:432 ms1.9%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.9%
ClientHandler.__call__django/test/client.py:18619 ms18.7%
BaseHandler.get_responsedjango/core/handlers/base.py:14119 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13019 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12319 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3419 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms18.7%
BaseHandler._get_responsedjango/core/handlers/base.py:19819 ms18.7%
project_profileapps/projects/urls.py:4746 ms5.6%
find_projectapps/projects/urls.py:49 project = get_object_or_404(4 ms3.7%
get_object_or_404django/shortcuts.py:904 ms3.7%
QuerySet.getdjango/db/models/query.py:6252 ms1.9%
QuerySet.filterdjango/db/models/query.py:15422 ms1.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.9%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.9%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.9%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.9%
Query.build_lookupdjango/db/models/sql/query.py:14302 ms1.9%
BaseExpression.get_lookupdjango/db/models/expressions.py:4042 ms1.9%
QuerySet.getdjango/db/models/query.py:6352 ms1.9%
QuerySet.__len__django/db/models/query.py:3722 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms1.9%
BaseCursor._set_resultspsycopg/_cursor_base.py:5352 ms1.9%
BaseCursor._select_current_resultpsycopg/_cursor_base.py:5142 ms1.9%
find_projectapps/projects/urls.py:522 ms1.9%
can_viewapps/projects/urls.py:332 ms1.9%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:2 ms1.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.9%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.9%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms1.9%
get_userdjango/contrib/auth/middleware.py:202 ms1.9%
get_userdjango/contrib/auth/__init__.py:3112 ms1.9%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms1.9%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms1.9%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.9%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.9%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.9%
QuerySet.getdjango/db/models/query.py:6352 ms1.9%
QuerySet.__len__django/db/models/query.py:3722 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:1272 ms1.9%
project_profileapps/projects/urls.py:477 profile = get_object_or_404(4 ms3.7%
get_object_or_404django/shortcuts.py:904 ms3.7%
QuerySet.getdjango/db/models/query.py:6354 ms3.7%
QuerySet.__len__django/db/models/query.py:3724 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.7%
ModelIterable.__iter__django/db/models/query.py:954 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms1.9%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12572 ms1.9%
Query.setup_joinsdjango/db/models/sql/query.py:19272 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
project_profileapps/projects/urls.py:5024 ms3.7%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {4 ms3.7%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
project_profileapps/projects/urls.py:498 return render(4 ms3.7%
renderdjango/shortcuts.py:254 ms3.7%
render_to_stringdjango/template/loader.py:624 ms3.7%
Template.renderdjango/template/backends/django.py:1032 ms1.9%
make_contextdjango/template/context.py:3062 ms1.9%
BaseContext.pushdjango/template/context.py:562 ms1.9%
Template.renderdjango/template/backends/django.py:1072 ms1.9%
Template.renderdjango/template/base.py:1742 ms1.9%
instrumented_test_renderdjango/test/utils.py:1142 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms1.9%
instrumented_test_renderdjango/test/utils.py:1142 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms1.9%
instrumented_test_renderdjango/test/utils.py:1142 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
BlockNode.renderdjango/template/loader_tags.py:662 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
BlockNode.renderdjango/template/loader_tags.py:662 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
IfNode.renderdjango/template/defaulttags.py:3322 ms1.9%
QuerySet.__bool__django/db/models/query.py:4042 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
project_profileapps/projects/urls.py:490 for perf in perfs:2 ms1.9%
Sequence.__iter__<frozen _collections_abc>:10202 ms1.9%
Page.__getitem__django/core/paginator.py:3302 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
MemoryTest.test_profile_and_test_pagesapps/projects/tests.py:145839 ms37.4%
Client.getdjango/test/client.py:112439 ms37.4%
RequestFactory.getdjango/test/client.py:47539 ms37.4%
RequestFactory.genericdjango/test/client.py:67139 ms37.4%
Client.requestdjango/test/client.py:108239 ms37.4%
ClientHandler.__call__django/test/client.py:18639 ms37.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14139 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13039 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12339 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30939 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3439 ms37.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5539 ms37.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19839 ms37.4%
project_testapps/projects/urls.py:3128 ms7.5%
flakiness_for_testapps/projects/flakiness.py:326 history = observations_for(test.project, [test.id], since).get(test.id, [])8 ms7.5%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)4 ms3.7%
QuerySet.__iter__django/db/models/query.py:3904 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.7%
ValuesListIterable.__iter__django/db/models/query.py:2384 ms3.7%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15734 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.9%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.9%
RelatedIn.as_sqldjango/db/models/fields/related_lookups.py:952 ms1.9%
In.as_sqldjango/db/models/lookups.py:5562 ms1.9%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2392 ms1.9%
In.process_rhsdjango/db/models/lookups.py:5402 ms1.9%
FieldGetDbPrepValueIterableMixin.batch_process_rhsdjango/db/models/lookups.py:3422 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms1.9%
BaseCursor._set_resultspsycopg/_cursor_base.py:5352 ms1.9%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.9%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms1.9%
QuerySet.getdjango/db/models/query.py:6352 ms1.9%
QuerySet.__len__django/db/models/query.py:3722 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
observations_forapps/projects/flakiness.py:189 for row in Profile.objects.filter(id__in={row[3] for row in perfs}).values_list(2 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
project_testapps/projects/urls.py:342 return render(request, "project_test.html", context)8 ms7.5%
renderdjango/shortcuts.py:258 ms7.5%
render_to_stringdjango/template/loader.py:628 ms7.5%
Template.renderdjango/template/backends/django.py:1078 ms7.5%
Template.renderdjango/template/base.py:1748 ms7.5%
instrumented_test_renderdjango/test/utils.py:1148 ms7.5%
NodeList.renderdjango/template/base.py:10918 ms7.5%
Node.render_annotateddjango/template/base.py:10528 ms7.5%
ExtendsNode.renderdjango/template/loader_tags.py:1608 ms7.5%
instrumented_test_renderdjango/test/utils.py:1148 ms7.5%
NodeList.renderdjango/template/base.py:10918 ms7.5%
Node.render_annotateddjango/template/base.py:10528 ms7.5%
ExtendsNode.renderdjango/template/loader_tags.py:1608 ms7.5%
instrumented_test_renderdjango/test/utils.py:1148 ms7.5%
NodeList.renderdjango/template/base.py:10918 ms7.5%
Node.render_annotateddjango/template/base.py:10528 ms7.5%
BlockNode.renderdjango/template/loader_tags.py:668 ms7.5%
NodeList.renderdjango/template/base.py:10918 ms7.5%
Node.render_annotateddjango/template/base.py:10528 ms7.5%
IfNode.renderdjango/template/defaulttags.py:3334 ms3.7%
NodeList.renderdjango/template/base.py:10914 ms3.7%
Node.render_annotateddjango/template/base.py:10524 ms3.7%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
URLNode.renderdjango/template/defaulttags.py:5112 ms1.9%
reversedjango/urls/base.py:982 ms1.9%
SimpleNode.renderdjango/template/library.py:3252 ms1.9%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms1.9%
_render_iconheroicons/templatetags/heroicons.py:392 ms1.9%
_render_iconheroicons/__init__.py:632 ms1.9%
tostring<stdlib>/xml/etree/ElementTree.py:11062 ms1.9%
BlockNode.renderdjango/template/loader_tags.py:664 ms3.7%
NodeList.renderdjango/template/base.py:10914 ms3.7%
Node.render_annotateddjango/template/base.py:10524 ms3.7%
IfNode.renderdjango/template/defaulttags.py:3262 ms1.9%
TemplateLiteral.evaldjango/template/defaulttags.py:9182 ms1.9%
FilterExpression.resolvedjango/template/base.py:7882 ms1.9%
Variable.resolvedjango/template/base.py:9282 ms1.9%
Variable._resolve_lookupdjango/template/base.py:9762 ms1.9%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.9%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms1.9%
QuerySet.getdjango/db/models/query.py:6352 ms1.9%
QuerySet.__len__django/db/models/query.py:3722 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16622 ms1.9%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
project_testapps/projects/urls.py:3116 ms5.6%
history_for_testapps/projects/analytics.py:819 TestRun.objects.filter(test=test)4 ms3.7%
QuerySet.__iter__django/db/models/query.py:3904 ms3.7%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.7%
ModelIterable.__iter__django/db/models/query.py:954 ms3.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms3.7%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.7%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms3.7%
Cursor.executepsycopg/cursor.py:1134 ms3.7%
Connection.waitpsycopg/connection.py:4954 ms3.7%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)2 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
project_testapps/projects/urls.py:2826 ms5.6%
find_projectapps/projects/urls.py:524 ms3.7%
can_viewapps/projects/urls.py:334 ms3.7%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:2 ms1.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.9%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.9%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms1.9%
get_userdjango/contrib/auth/middleware.py:202 ms1.9%
get_userdjango/contrib/auth/__init__.py:3182 ms1.9%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.9%
QuerySet.getdjango/db/models/query.py:6352 ms1.9%
QuerySet.__len__django/db/models/query.py:3722 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms1.9%
QuerySet.existsdjango/db/models/query.py:13372 ms1.9%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms1.9%
get_object_or_404django/shortcuts.py:902 ms1.9%
QuerySet.getdjango/db/models/query.py:6252 ms1.9%
QuerySet.filterdjango/db/models/query.py:15422 ms1.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.9%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.9%
project_testapps/projects/urls.py:286 context = shell(request, project, "tests") | filters(request, project, default_days=90)6 ms5.6%
shellapps/projects/urls.py:732 ms1.9%
can_manageapps/projects/urls.py:442 ms1.9%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms1.9%
QuerySet.existsdjango/db/models/query.py:13372 ms1.9%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
filtersapps/projects/urls.py:972 ms1.9%
filters.<locals>.linkapps/projects/urls.py:86 return "?" + urlencode(query)2 ms1.9%
urlencode<stdlib>/urllib/parse.py:11692 ms1.9%
project_testapps/projects/urls.py:2952 ms1.9%
latest_perfapps/projects/analytics.py:846 return perfs.select_related("profile", "environment").order_by("-date").first()2 ms1.9%
QuerySet.firstdjango/db/models/query.py:11452 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
project_testapps/projects/urls.py:3002 ms1.9%
latest_documentapps/projects/profiles.py:303 ).first()2 ms1.9%
QuerySet.firstdjango/db/models/query.py:11452 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
project_testapps/projects/urls.py:3152 ms1.9%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.9%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
MemoryTest.setUpapps/projects/tests.py:1413 self.client.force_login(self.user)10 ms9.3%
ClientMixin.force_logindjango/test/client.py:85510 ms9.3%
ClientMixin._logindjango/test/client.py:8764 ms3.7%
ClientMixin.sessiondjango/test/client.py:8124 ms3.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms3.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.9%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.9%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.9%
QuerySet.existsdjango/db/models/query.py:13372 ms1.9%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.9%
Atomic.__exit__django/db/transaction.py:2472 ms1.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
ClientMixin._logindjango/test/client.py:8814 ms3.7%
logindjango/contrib/auth/__init__.py:1872 ms1.9%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms1.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.9%
Model.savedjango/db/models/base.py:8742 ms1.9%
Model.save_basedjango/db/models/base.py:9662 ms1.9%
Model._save_tabledjango/db/models/base.py:11672 ms1.9%
Model._do_insertdjango/db/models/base.py:12182 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.9%
QuerySet._insertdjango/db/models/query.py:19182 ms1.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.9%
logindjango/contrib/auth/__init__.py:1972 ms1.9%
Signal.senddjango/dispatch/dispatcher.py:2092 ms1.9%
update_last_logindjango/contrib/auth/models.py:242 ms1.9%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms1.9%
Model.savedjango/db/models/base.py:8742 ms1.9%
Model.save_basedjango/db/models/base.py:9662 ms1.9%
Model._save_tabledjango/db/models/base.py:11102 ms1.9%
Model._do_updatedjango/db/models/base.py:12112 ms1.9%
QuerySet._updatedjango/db/models/query.py:13272 ms1.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
ClientMixin._logindjango/test/client.py:8832 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.9%
Atomic.__exit__django/db/transaction.py:2472 ms1.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms3.7%
TestCase._fixture_teardowndjango/test/testcases.py:14942 ms1.9%
TestCase._should_check_constraintsdjango/test/testcases.py:15032 ms1.9%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:4922 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms1.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4842 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
Estimated from 53 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1454
response = self.client.get(self.project.url("project_profile", self.latest.number))
MemoryTest.test_profile_and_test_pages
· Libraries
|
31 ms |
|
apps/projects/tests.py:1413
self.client.force_login(self.user)
MemoryTest.setUp
· Database
|
10 ms |
|
apps/projects/urls.py:342
return render(request, "project_test.html", context)
project_test
· Templates
|
8 ms |
|
apps/projects/urls.py:49
project = get_object_or_404(
find_project
· Database
|
6 ms |
|
apps/projects/analytics.py:819
TestRun.objects.filter(test=test)
history_for_test
· Database
|
4 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
4 ms |
|
apps/projects/urls.py:477
profile = get_object_or_404(
project_profile
· Database
|
4 ms |
|
apps/projects/urls.py:498
return render(
project_profile
· Templates
|
4 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
4 ms |
|
apps/projects/flakiness.py:165
test_runs = list(test_runs)
observations_for
· Database
|
4 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
60 queries · 22 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
5×
SELECT "projects_testperf"."id", "projects_testperf"."project_id", "projects_testperf"."test_id", "projects_testperf"."profile_id", "projects_testperf"."part", "projects_testperf"."environment_id", "projects_testperf"."outcome", "projects_testperf"."duration", "projects_testperf"."setup", "projects…
4×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
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 ?
3×
UPDATE "django_session" SET "session_data" = %s, "expire_date" = %s WHERE "django_session"."session_key" = %s
3×
SELECT "projects_project"."id", "projects_project"."organization_id", "projects_project"."name", "projects_project"."slug", "projects_project"."public", "projects_project"."description", "projects_project"."date_created", "projects_project"."date_updated", "projects_project"."created_by_id" FROM "p…
Biggest pieces of work
|
call test body
apps/projects/tests.py:1454
|
89 ms |
|
call setUp
apps/projects/tests.py:1413
|
10 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 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 | 104 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 57 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 107 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 86 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 113 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 67 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 109 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 103 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 103 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 111 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 56 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 103 ms | Profile |