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

ProjectPagesTest::test_run_page

First seen 3 weeks ago in 78a4357
CI github-actions:test 12 runs
Average
80 ms
median 88 ms
max 101 ms
Phases
Setup 0.69 ms Call 79 ms Teardown 0.19 ms
Categories
Database 52 ms App code 0.53 ms Other (Libraries, Templates, Deep copies, Unsampled, ...) 28 ms

52 database queries per run

Needs 2 KB of memory (max 8 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
call82 ms99.0%
ProjectPagesTest.test_run_pageapps/projects/tests.py:1083 response = self.client.get(self.project.url("project_run", self.ingest_run.number))40 ms48.2%
Client.getdjango/test/client.py:112440 ms48.2%
RequestFactory.getdjango/test/client.py:47540 ms48.2%
RequestFactory.genericdjango/test/client.py:67140 ms48.2%
Client.requestdjango/test/client.py:108240 ms48.2%
ClientHandler.__call__django/test/client.py:17325 ms29.4%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6225 ms29.4%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10420 ms24.1%
WhiteNoise.add_fileswhitenoise/base.py:10820 ms24.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12020 ms24.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13118 ms21.4%
WhiteNoise.get_static_filewhitenoise/base.py:20813 ms16.1%
StaticFile.__init__whitenoise/responders.py:737 ms8.0%
StaticFile.get_headerswhitenoise/responders.py:1782 ms2.7%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.7%
parsedate_tz<stdlib>/email/_parseaddr.py:502 ms2.7%
_parsedate_tz<stdlib>/email/_parseaddr.py:1612 ms2.7%
StaticFile.get_headerswhitenoise/responders.py:1702 ms2.7%
StaticFile.get_headerswhitenoise/responders.py:1762 ms2.7%
formatdate<stdlib>/email/utils.py:2662 ms2.7%
StaticFile.__init__whitenoise/responders.py:774 ms5.4%
StaticFile.get_alternativeswhitenoise/responders.py:2032 ms2.7%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms2.7%
__init____init__:-12 ms2.7%
Headers.__init__<stdlib>/wsgiref/headers.py:362 ms2.7%
<GC>~2 ms2.7%
StaticFile.__init__whitenoise/responders.py:762 ms2.7%
WhiteNoise.get_static_filewhitenoise/base.py:2054 ms5.4%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms2.7%
StaticFile.__init__whitenoise/responders.py:752 ms2.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:954 ms5.4%
urlparse<stdlib>/urllib/parse.py:4722 ms2.7%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms2.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.7%
scantreewhitenoise/base.py:2622 ms2.7%
scantreewhitenoise/base.py:2622 ms2.7%
scantreewhitenoise/base.py:2622 ms2.7%
scantreewhitenoise/base.py:2622 ms2.7%
scantreewhitenoise/base.py:2622 ms2.7%
ClientHandler.__call__django/test/client.py:18616 ms18.7%
BaseHandler.get_responsedjango/core/handlers/base.py:14116 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13016 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30916 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12316 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30916 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30916 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30916 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30916 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30916 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30916 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3416 ms18.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5516 ms18.7%
BaseHandler._get_responsedjango/core/handlers/base.py:19816 ms18.7%
project_runapps/projects/urls.py:4437 ms8.0%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {7 ms8.0%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms2.7%
QuerySet.__iter__django/db/models/query.py:3902 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms2.7%
QuerySet.__iter__django/db/models/query.py:3902 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
org_shellapps/orgs/views.py:422 ms2.7%
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.7%
QuerySet.existsdjango/db/models/query.py:13372 ms2.7%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
project_runapps/projects/urls.py:4014 ms5.4%
find_projectapps/projects/urls.py:49 project = get_object_or_404(4 ms5.4%
get_object_or_404django/shortcuts.py:904 ms5.4%
QuerySet.getdjango/db/models/query.py:6354 ms5.4%
QuerySet.__len__django/db/models/query.py:3724 ms5.4%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms5.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.7%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.7%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.7%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2722 ms2.7%
ModelIterable.__iter__django/db/models/query.py:1282 ms2.7%
Model.from_dbdjango/db/models/base.py:6052 ms2.7%
Model.__init__django/db/models/base.py:5132 ms2.7%
project_runapps/projects/urls.py:404 run = get_object_or_404(Run.objects.select_related("commit"), number=run_number, project=project)2 ms2.7%
get_object_or_404django/shortcuts.py:902 ms2.7%
QuerySet.getdjango/db/models/query.py:6352 ms2.7%
QuerySet.__len__django/db/models/query.py:3722 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
project_runapps/projects/urls.py:423 test_statistics = TestRun.objects.filter(run=run).aggregate(2 ms2.7%
QuerySet.aggregatedjango/db/models/query.py:5942 ms2.7%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
ProjectPagesTest.test_run_pageapps/projects/tests.py:1087 response = self.client.get(self.project.url("project_run", self.ingest_run.number), {"status": "fail"})33 ms40.1%
Client.getdjango/test/client.py:112433 ms40.1%
RequestFactory.getdjango/test/client.py:47533 ms40.1%
RequestFactory.genericdjango/test/client.py:67133 ms40.1%
Client.requestdjango/test/client.py:108233 ms40.1%
ClientHandler.__call__django/test/client.py:18633 ms40.1%
BaseHandler.get_responsedjango/core/handlers/base.py:14133 ms40.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms40.1%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13033 ms40.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms40.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms40.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms40.1%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12333 ms40.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms40.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms37.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms37.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms37.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms37.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms37.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms37.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms37.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms37.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms37.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms37.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms37.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms37.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3431 ms37.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms37.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19831 ms37.5%
project_runapps/projects/urls.py:439 return render(13 ms16.1%
renderdjango/shortcuts.py:2511 ms13.4%
render_to_stringdjango/template/loader.py:6211 ms13.4%
Template.renderdjango/template/backends/django.py:10711 ms13.4%
Template.renderdjango/template/base.py:17411 ms13.4%
instrumented_test_renderdjango/test/utils.py:11411 ms13.4%
NodeList.renderdjango/template/base.py:109111 ms13.4%
Node.render_annotateddjango/template/base.py:105211 ms13.4%
ExtendsNode.renderdjango/template/loader_tags.py:1607 ms8.0%
instrumented_test_renderdjango/test/utils.py:1147 ms8.0%
NodeList.renderdjango/template/base.py:10917 ms8.0%
Node.render_annotateddjango/template/base.py:10527 ms8.0%
ExtendsNode.renderdjango/template/loader_tags.py:1607 ms8.0%
instrumented_test_renderdjango/test/utils.py:1147 ms8.0%
NodeList.renderdjango/template/base.py:10917 ms8.0%
Node.render_annotateddjango/template/base.py:10527 ms8.0%
BlockNode.renderdjango/template/loader_tags.py:667 ms8.0%
NodeList.renderdjango/template/base.py:10917 ms8.0%
Node.render_annotateddjango/template/base.py:10527 ms8.0%
BlockNode.renderdjango/template/loader_tags.py:667 ms8.0%
NodeList.renderdjango/template/base.py:10917 ms8.0%
Node.render_annotateddjango/template/base.py:10527 ms8.0%
IfNode.renderdjango/template/defaulttags.py:3327 ms8.0%
QuerySet.__bool__django/db/models/query.py:4044 ms5.4%
QuerySet._fetch_alldjango/db/models/query.py:20024 ms5.4%
QuerySet._prefetch_related_objectsdjango/db/models/query.py:13694 ms5.4%
prefetch_related_objectsdjango/db/models/query.py:24514 ms5.4%
prefetch_one_leveldjango/db/models/query.py:26074 ms5.4%
create_reverse_many_to_one_manager.<locals>.RelatedManager.get_prefetch_querysetsdjango/db/models/fields/related_descriptors.py:7774 ms5.4%
QuerySet.__iter__django/db/models/query.py:3904 ms5.4%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms5.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.7%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.7%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.7%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms2.7%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10292 ms2.7%
ModelIterable.__iter__django/db/models/query.py:1272 ms2.7%
SQLCompiler.apply_convertersdjango/db/models/sql/compiler.py:15422 ms2.7%
JSONField.from_db_valuedjango/db/models/fields/json.py:922 ms2.7%
loads<stdlib>/json/__init__.py:3712 ms2.7%
JSONDecoder.decode<stdlib>/json/decoder.py:3582 ms2.7%
JSONDecoder.raw_decode<stdlib>/json/decoder.py:3742 ms2.7%
Page.__len__django/core/paginator.py:3192 ms2.7%
QuerySet.__len__django/db/models/query.py:3722 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
ExtendsNode.renderdjango/template/loader_tags.py:1354 ms5.4%
ExtendsNode.get_parentdjango/template/loader_tags.py:1324 ms5.4%
ExtendsNode.find_templatedjango/template/loader_tags.py:1104 ms5.4%
Engine.find_templatedjango/template/engine.py:1602 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.7%
instrumented_test_renderdjango/test/utils.py:1142 ms2.7%
NodeList.renderdjango/template/base.py:10912 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.7%
NodeList.renderdjango/template/base.py:10912 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
IfNode.renderdjango/template/defaulttags.py:3332 ms2.7%
NodeList.renderdjango/template/base.py:10912 ms2.7%
Node.render_annotateddjango/template/base.py:10522 ms2.7%
CsrfTokenNode.renderdjango/template/defaulttags.py:782 ms2.7%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.7%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.7%
csrf.<locals>._get_valdjango/template/context_processors.py:252 ms2.7%
renderdjango/shortcuts.py:262 ms2.7%
HttpResponse.__init__django/http/response.py:3822 ms2.7%
HttpResponse.contentdjango/http/response.py:4142 ms2.7%
HttpResponseBase.make_bytesdjango/http/response.py:3222 ms2.7%
project_runapps/projects/urls.py:404 run = get_object_or_404(Run.objects.select_related("commit"), number=run_number, project=project)4 ms5.4%
get_object_or_404django/shortcuts.py:904 ms5.4%
QuerySet.getdjango/db/models/query.py:6354 ms5.4%
QuerySet.__len__django/db/models/query.py:3724 ms5.4%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms5.4%
ModelIterable.__iter__django/db/models/query.py:954 ms5.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms5.4%
CursorWrapper.executedjango/db/backends/utils.py:794 ms5.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms5.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms2.7%
project_runapps/projects/urls.py:422 tests = TestRun.objects.filter(q).select_related("test", "session__environment").order_by(order, "-duration")4 ms5.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms5.4%
QuerySet.filterdjango/db/models/query.py:15424 ms5.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15604 ms5.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15704 ms5.4%
Query.add_qdjango/db/models/sql/query.py:16714 ms5.4%
Query._add_qdjango/db/models/sql/query.py:17034 ms5.4%
Query.build_filterdjango/db/models/sql/query.py:15284 ms5.4%
Query._add_qdjango/db/models/sql/query.py:17034 ms5.4%
Query.build_filterdjango/db/models/sql/query.py:15992 ms2.7%
Query.trim_joinsdjango/db/models/sql/query.py:20062 ms2.7%
Query.build_filterdjango/db/models/sql/query.py:16112 ms2.7%
Query._get_coldjango/db/models/sql/query.py:4512 ms2.7%
project_runapps/projects/urls.py:423 test_statistics = TestRun.objects.filter(run=run).aggregate(4 ms5.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.7%
QuerySet.filterdjango/db/models/query.py:15422 ms2.7%
QuerySet._filter_or_excludedjango/db/models/query.py:15552 ms2.7%
QuerySet._chaindjango/db/models/query.py:19732 ms2.7%
QuerySet.aggregatedjango/db/models/query.py:5942 ms2.7%
Query.get_aggregationdjango/db/models/sql/query.py:4862 ms2.7%
Expression.__hash__django/db/models/expressions.py:5622 ms2.7%
cached_property.__get__django/utils/functional.py:472 ms2.7%
Expression.identitydjango/db/models/expressions.py:5522 ms2.7%
project_runapps/projects/urls.py:427 errored_count=Count("id", filter=Q(status=TestRun.StatusTypes.ERROR)),2 ms2.7%
project_runapps/projects/urls.py:4432 ms2.7%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {2 ms2.7%
org_shellapps/orgs/views.py:422 ms2.7%
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.7%
QuerySet.existsdjango/db/models/query.py:13372 ms2.7%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.7%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms2.7%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms2.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.7%
Model.savedjango/db/models/base.py:8742 ms2.7%
Model.save_basedjango/db/models/base.py:9662 ms2.7%
Model._save_tabledjango/db/models/base.py:11102 ms2.7%
Model._do_updatedjango/db/models/base.py:12112 ms2.7%
QuerySet._updatedjango/db/models/query.py:13272 ms2.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()7 ms8.0%
TestCase._fixture_teardowndjango/test/testcases.py:14957 ms8.0%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4837 ms8.0%
CursorWrapper.executedjango/db/backends/utils.py:797 ms8.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:927 ms8.0%
CursorWrapper._executedjango/db/backends/utils.py:1037 ms8.0%
Cursor.executepsycopg/cursor.py:1137 ms8.0%
Connection.waitpsycopg/connection.py:4957 ms8.0%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)2 ms2.7%
ClientMixin.force_logindjango/test/client.py:8552 ms2.7%
ClientMixin._logindjango/test/client.py:8762 ms2.7%
ClientMixin.sessiondjango/test/client.py:8122 ms2.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms2.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.7%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.7%
Model.savedjango/db/models/base.py:8742 ms2.7%
Model.save_basedjango/db/models/base.py:9662 ms2.7%
Model._save_tabledjango/db/models/base.py:11672 ms2.7%
Model._do_insertdjango/db/models/base.py:12182 ms2.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.7%
QuerySet._insertdjango/db/models/query.py:19182 ms2.7%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.7%
Cursor.executepsycopg/cursor.py:1132 ms2.7%
Connection.waitpsycopg/connection.py:4952 ms2.7%
Estimated from 37 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/tests.py:1083
response = self.client.get(self.project.url("project_run", self.ingest_run.number))
ProjectPagesTest.test_run_page · Libraries
25 ms
apps/projects/urls.py:439
return render(
project_run · Database
13 ms
apps/projects/urls.py:404
run = get_object_or_404(Run.objects.select_related("commit"), number=run_number, project=project)
project_run · Database
7 ms
apps/projects/urls.py:423
test_statistics = TestRun.objects.filter(run=run).aggregate(
project_run · Database
7 ms
apps/projects/urls.py:49
project = get_object_or_404(
find_project · Database
4 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
4 ms
apps/projects/urls.py:422
tests = TestRun.objects.filter(q).select_related("test", "session__environment").order_by(order, "-duration")
project_run · Database
4 ms
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp · Database
2 ms
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell · Database
2 ms
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell · Database
2 ms

Fixtures

Exact setup time
_template_string_if_invalid_marker function 0.05 ms
_dj_autoclear_mailbox function 0.04 ms
_django_db_marker function 0.03 ms
_django_set_urlconf function 0.03 ms
_live_server_helper function 0.03 ms
monkeypatch function 0.02 ms
_django_clear_site_cache function 0.02 ms

Database

52 queries · 19 ms

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

3×
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > %s AND "django_session"."session_key" = %s) LIMIT ?
3×
UPDATE "django_session" SET "session_data" = %s, "expire_date" = %s WHERE "django_session"."session_key" = %s

Biggest pieces of work

call test body
apps/projects/tests.py:1083
74 ms
call _post_teardown
django/test/testcases.py:1240
7 ms
call setUp
apps/projects/tests.py:954
2 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
16 hours ago CI github-actions:test passed 83 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 51 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 88 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 70 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 101 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 59 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 92 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 91 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 88 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 97 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 54 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 91 ms 78a4357 main Profile