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

TestProjectTestPage::test_project_test_page

First seen 2 years, 10 months ago in d87c7a8
CI github-actions:test 12 runs
Average
78 ms
median 87 ms
max 101 ms
Phases
Setup 0.68 ms Call 78 ms Teardown 0.17 ms
Categories
Database 47 ms App code 0.96 ms Other (Libraries, Templates, Unsampled, Deep copies, ...) 30 ms

42 database queries per run

Needs 114 KB of memory (max 368 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
setup0.75 ms0.9%
call80 ms98.9%
TestProjectTestPage.test_project_test_pageapps/projects/tests.py:429 response = self.client.get(self.url)74 ms92.1%
Client.getdjango/test/client.py:112474 ms92.1%
RequestFactory.getdjango/test/client.py:47574 ms92.1%
RequestFactory.genericdjango/test/client.py:67174 ms92.1%
Client.requestdjango/test/client.py:108274 ms92.1%
ClientHandler.__call__django/test/client.py:18661 ms76.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14161 ms76.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5561 ms76.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13061 ms76.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5561 ms76.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30961 ms76.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5561 ms76.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12361 ms76.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5561 ms76.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30960 ms74.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5560 ms74.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30960 ms74.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5560 ms74.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30960 ms74.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5560 ms74.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30960 ms74.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5560 ms74.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30960 ms74.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5560 ms74.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30960 ms74.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5560 ms74.1%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3460 ms74.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5560 ms74.1%
BaseHandler._get_responsedjango/core/handlers/base.py:19860 ms74.1%
project_testapps/projects/urls.py:28218 ms22.5%
find_projectapps/projects/urls.py:49 project = get_object_or_404(14 ms18.0%
get_object_or_404django/shortcuts.py:9014 ms18.0%
QuerySet.getdjango/db/models/query.py:63514 ms18.0%
QuerySet.__len__django/db/models/query.py:37214 ms18.0%
QuerySet._fetch_alldjango/db/models/query.py:200014 ms18.0%
ModelIterable.__iter__django/db/models/query.py:9514 ms18.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162411 ms13.5%
CursorWrapper.executedjango/db/backends/utils.py:7911 ms13.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9211 ms13.5%
CursorWrapper._executedjango/db/backends/utils.py:10511 ms13.5%
Cursor.executepsycopg/cursor.py:11311 ms13.5%
Connection.waitpsycopg/connection.py:49511 ms13.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16114 ms4.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7674 ms4.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:864 ms4.5%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:754 ms4.5%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms2.2%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12592 ms2.2%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10302 ms2.2%
ForeignKey.get_coldjango/db/models/fields/related.py:12542 ms2.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms2.2%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5742 ms2.2%
find_projectapps/projects/urls.py:524 ms4.5%
can_viewapps/projects/urls.py:334 ms4.5%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:4 ms4.5%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms4.5%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms4.5%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms4.5%
get_userdjango/contrib/auth/middleware.py:204 ms4.5%
get_userdjango/contrib/auth/__init__.py:3112 ms2.2%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.2%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.2%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.2%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.2%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.getdjango/db/models/query.py:6352 ms2.2%
QuerySet.__len__django/db/models/query.py:3722 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
get_userdjango/contrib/auth/__init__.py:3182 ms2.2%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.getdjango/db/models/query.py:6352 ms2.2%
QuerySet.__len__django/db/models/query.py:3722 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:1272 ms2.2%
project_testapps/projects/urls.py:342 return render(request, "project_test.html", context)14 ms18.0%
renderdjango/shortcuts.py:2514 ms18.0%
render_to_stringdjango/template/loader.py:6211 ms13.5%
Template.renderdjango/template/backends/django.py:1079 ms11.2%
Template.renderdjango/template/base.py:1749 ms11.2%
instrumented_test_renderdjango/test/utils.py:1149 ms11.2%
NodeList.renderdjango/template/base.py:10919 ms11.2%
Node.render_annotateddjango/template/base.py:10529 ms11.2%
ExtendsNode.renderdjango/template/loader_tags.py:1609 ms11.2%
instrumented_test_renderdjango/test/utils.py:1149 ms11.2%
NodeList.renderdjango/template/base.py:10919 ms11.2%
Node.render_annotateddjango/template/base.py:10529 ms11.2%
ExtendsNode.renderdjango/template/loader_tags.py:1609 ms11.2%
instrumented_test_renderdjango/test/utils.py:1149 ms11.2%
NodeList.renderdjango/template/base.py:10919 ms11.2%
Node.render_annotateddjango/template/base.py:10529 ms11.2%
BlockNode.renderdjango/template/loader_tags.py:669 ms11.2%
NodeList.renderdjango/template/base.py:10919 ms11.2%
Node.render_annotateddjango/template/base.py:10529 ms11.2%
BlockNode.renderdjango/template/loader_tags.py:669 ms11.2%
NodeList.renderdjango/template/base.py:10919 ms11.2%
Node.render_annotateddjango/template/base.py:10529 ms11.2%
IfNode.renderdjango/template/defaulttags.py:3339 ms11.2%
NodeList.renderdjango/template/base.py:10919 ms11.2%
Node.render_annotateddjango/template/base.py:10529 ms11.2%
IfNode.renderdjango/template/defaulttags.py:3339 ms11.2%
NodeList.renderdjango/template/base.py:10919 ms11.2%
Node.render_annotateddjango/template/base.py:10529 ms11.2%
SimpleNode.renderdjango/template/library.py:3259 ms11.2%
heroicon_miniheroicons/templatetags/heroicons.py:189 ms11.2%
_render_iconheroicons/templatetags/heroicons.py:399 ms11.2%
_render_iconheroicons/__init__.py:459 ms11.2%
_load_iconheroicons/__init__.py:177 ms9.0%
ZipFile.__init__<stdlib>/zipfile/__init__.py:15055 ms6.7%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16234 ms4.5%
ZipInfo._decodeExtra<stdlib>/zipfile/__init__.py:6212 ms2.2%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16082 ms2.2%
Path.open<stdlib>/pathlib/__init__.py:9702 ms2.2%
_load_iconheroicons/__init__.py:262 ms2.2%
XML<stdlib>/xml/etree/ElementTree.py:13692 ms2.2%
render_to_stringdjango/template/loader.py:614 ms4.5%
get_templatedjango/template/loader.py:154 ms4.5%
DjangoTemplates.get_templatedjango/template/backends/django.py:794 ms4.5%
Engine.get_templatedjango/template/engine.py:1864 ms4.5%
Engine.find_templatedjango/template/engine.py:1594 ms4.5%
Loader.get_templatedjango/template/loaders/cached.py:574 ms4.5%
Loader.get_templatedjango/template/loaders/base.py:284 ms4.5%
__init____init__:-14 ms4.5%
Template.__init__django/template/base.py:1574 ms4.5%
Template.compile_nodelistdjango/template/base.py:1902 ms2.2%
DebugLexer.tokenizedjango/template/base.py:4932 ms2.2%
DebugLexer._tag_re_splitdjango/template/base.py:4792 ms2.2%
Template.compile_nodelistdjango/template/base.py:1992 ms2.2%
Parser.parsedjango/template/base.py:5832 ms2.2%
do_extendsdjango/template/loader_tags.py:3072 ms2.2%
Parser.parsedjango/template/base.py:5832 ms2.2%
do_blockdjango/template/loader_tags.py:2352 ms2.2%
Parser.parsedjango/template/base.py:5832 ms2.2%
do_ifdjango/template/defaulttags.py:9942 ms2.2%
Parser.parsedjango/template/base.py:5832 ms2.2%
do_ifdjango/template/defaulttags.py:9932 ms2.2%
TemplateIfParser.__init__django/template/defaulttags.py:9262 ms2.2%
IfParser.__init__django/template/smartif.py:1722 ms2.2%
IfParser.translate_tokendjango/template/smartif.py:1832 ms2.2%
TemplateIfParser.create_vardjango/template/defaulttags.py:9292 ms2.2%
Parser.compile_filterdjango/template/base.py:6762 ms2.2%
__init____init__:-12 ms2.2%
FilterExpression.__init__django/template/base.py:7632 ms2.2%
__init____init__:-12 ms2.2%
Variable.__init__django/template/base.py:9062 ms2.2%
keep_lazy.<locals>.decorator.<locals>.wrapperdjango/utils/functional.py:2282 ms2.2%
<GC>~2 ms2.2%
project_testapps/projects/urls.py:3119 ms11.2%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)5 ms6.7%
QuerySet.__iter__django/db/models/query.py:3905 ms6.7%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms6.7%
ModelIterable.__iter__django/db/models/query.py:955 ms6.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms4.5%
CursorWrapper.executedjango/db/backends/utils.py:794 ms4.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms4.5%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms4.5%
Cursor.executepsycopg/cursor.py:1134 ms4.5%
Connection.waitpsycopg/connection.py:4954 ms4.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms2.2%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12662 ms2.2%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12662 ms2.2%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12812 ms2.2%
history_for_testapps/projects/analytics.py:819 TestRun.objects.filter(test=test)4 ms4.5%
QuerySet.__iter__django/db/models/query.py:3904 ms4.5%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms4.5%
ModelIterable.__iter__django/db/models/query.py:954 ms4.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms4.5%
CursorWrapper.executedjango/db/backends/utils.py:794 ms4.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms4.5%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms4.5%
Cursor.executepsycopg/cursor.py:1134 ms4.5%
Connection.waitpsycopg/connection.py:4954 ms4.5%
project_testapps/projects/urls.py:286 context = shell(request, project, "tests") | filters(request, project, default_days=90)7 ms9.0%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {4 ms4.5%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms2.2%
QuerySet.__iter__django/db/models/query.py:3902 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms2.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.2%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms2.2%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms2.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.2%
org_shellapps/orgs/views.py:422 ms2.2%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms2.2%
QuerySet.existsdjango/db/models/query.py:13372 ms2.2%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.2%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms2.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.2%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms2.2%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms2.2%
shellapps/projects/urls.py:732 ms2.2%
can_manageapps/projects/urls.py:442 ms2.2%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms2.2%
QuerySet.existsdjango/db/models/query.py:13372 ms2.2%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.2%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))2 ms2.2%
QuerySet.__iter__django/db/models/query.py:3902 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
project_testapps/projects/urls.py:3125 ms6.7%
flakiness_for_testapps/projects/flakiness.py:326 history = observations_for(test.project, [test.id], since).get(test.id, [])5 ms6.7%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)2 ms2.2%
QuerySet.__iter__django/db/models/query.py:3902 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms2.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
observations_forapps/projects/flakiness.py:185 ).values_list("test_id", "date", "outcome", "profile_id")2 ms2.2%
QuerySet.values_listdjango/db/models/query.py:14582 ms2.2%
QuerySet._valuesdjango/db/models/query.py:14092 ms2.2%
Query.set_valuesdjango/db/models/sql/query.py:25482 ms2.2%
observations_forapps/projects/flakiness.py:189 for row in Profile.objects.filter(id__in={row[3] for row in perfs}).values_list(2 ms2.2%
project_testapps/projects/urls.py:2894 ms4.5%
environment_stats_for_testapps/projects/analytics.py:746 since = timezone.now() - dt.timedelta(days=days)2 ms2.2%
environment_stats_for_testapps/projects/analytics.py:748 for perf in TestPerf.objects.filter(test=test, date__gte=since).select_related("environment").order_by("date"):2 ms2.2%
QuerySet.__iter__django/db/models/query.py:3902 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
project_testapps/projects/urls.py:2952 ms2.2%
latest_perfapps/projects/analytics.py:846 return perfs.select_related("profile", "environment").order_by("-date").first()2 ms2.2%
QuerySet.firstdjango/db/models/query.py:11452 ms2.2%
QuerySet.__iter__django/db/models/query.py:3902 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms2.2%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms2.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.2%
Model.savedjango/db/models/base.py:8742 ms2.2%
Model.save_basedjango/db/models/base.py:9662 ms2.2%
Model._save_tabledjango/db/models/base.py:11102 ms2.2%
Model._do_updatedjango/db/models/base.py:12112 ms2.2%
QuerySet._updatedjango/db/models/query.py:13272 ms2.2%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
ClientHandler.__call__django/test/client.py:17313 ms15.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6211 ms13.5%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10411 ms13.5%
WhiteNoise.add_fileswhitenoise/base.py:10811 ms13.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1209 ms11.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1319 ms11.2%
WhiteNoise.get_static_filewhitenoise/base.py:2085 ms6.7%
StaticFile.__init__whitenoise/responders.py:734 ms4.5%
StaticFile.get_headerswhitenoise/responders.py:1762 ms2.2%
formatdate<stdlib>/email/utils.py:2662 ms2.2%
StaticFile.get_headerswhitenoise/responders.py:1782 ms2.2%
StaticFile.__init__whitenoise/responders.py:722 ms2.2%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms2.2%
__init____init__:-12 ms2.2%
FileEntry.__init__whitenoise/responders.py:2602 ms2.2%
<GC>~2 ms2.2%
WhiteNoise.get_static_filewhitenoise/base.py:2034 ms4.5%
WhiteNoise.add_cache_headerswhitenoise/base.py:2244 ms4.5%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1764 ms4.5%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1974 ms4.5%
URLMixin.urldebug_toolbar/panels/staticfiles.py:204 ms4.5%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2054 ms4.5%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms2.2%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2092 ms2.2%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1772 ms2.2%
<unknown function><unknown file>2 ms2.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.2%
scantreewhitenoise/base.py:2622 ms2.2%
scantreewhitenoise/base.py:2622 ms2.2%
scantreewhitenoise/base.py:2622 ms2.2%
scantreewhitenoise/base.py:2622 ms2.2%
scantreewhitenoise/base.py:2622 ms2.2%
scantreewhitenoise/base.py:2642 ms2.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:812 ms2.2%
TestProjectTestPage.setUpapps/projects/tests.py:413 self.client.force_login(self.user)4 ms4.5%
ClientMixin.force_logindjango/test/client.py:8554 ms4.5%
ClientMixin._logindjango/test/client.py:8812 ms2.2%
logindjango/contrib/auth/__init__.py:1752 ms2.2%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms2.2%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.2%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.2%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.2%
QuerySet.getdjango/db/models/query.py:6352 ms2.2%
QuerySet.__len__django/db/models/query.py:3722 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.2%
ModelIterable.__iter__django/db/models/query.py:952 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
ClientMixin._logindjango/test/client.py:8832 ms2.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.2%
Model.savedjango/db/models/base.py:8742 ms2.2%
Model.save_basedjango/db/models/base.py:9662 ms2.2%
Model._save_tabledjango/db/models/base.py:11102 ms2.2%
Model._do_updatedjango/db/models/base.py:12112 ms2.2%
QuerySet._updatedjango/db/models/query.py:13272 ms2.2%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.2%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.2%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.2%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms2.2%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms2.2%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms2.2%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms2.2%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms2.2%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.2%
Cursor.executepsycopg/cursor.py:1132 ms2.2%
Connection.waitpsycopg/connection.py:4952 ms2.2%
Estimated from 51 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/tests.py:429
response = self.client.get(self.url)
TestProjectTestPage.test_project_test_page · Libraries
14 ms
apps/projects/urls.py:342
return render(request, "project_test.html", context)
project_test · Templates
14 ms
apps/projects/urls.py:49
project = get_object_or_404(
find_project · Database
14 ms
apps/projects/analytics.py:806
for perf in TestPerf.objects.filter(test=test)
history_for_test · Database
5 ms
apps/projects/analytics.py:819
TestRun.objects.filter(test=test)
history_for_test · Database
4 ms
apps/projects/tests.py:413
self.client.force_login(self.user)
TestProjectTestPage.setUp · Database
4 ms
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project · Database
4 ms
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell · Database
2 ms
apps/orgs/models.py:65
return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()
Organization.is_owner · Database
2 ms
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project · Database
2 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
_live_server_helper function 0.04 ms
_template_string_if_invalid_marker function 0.04 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.02 ms

Database

42 queries · 16 ms

Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).

3×
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…

Biggest pieces of work

call test body
apps/projects/tests.py:429
74 ms
call setUp
apps/projects/tests.py:413
4 ms
call _post_teardown
django/test/testcases.py:1240
2 ms
setup __init__
__init__:-1
0.32 ms
setup pytest internals 0.32 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 80 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 45 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 101 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 65 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 99 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 50 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 89 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 87 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 96 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 52 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 88 ms 78a4357 main Profile