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

ProjectPagesTest::test_tests_page

First seen 3 weeks ago in 78a4357
CI github-actions:test 12 runs
Average
94 ms
median 102 ms
max 115 ms
Phases
Setup 0.72 ms Call 93 ms Teardown 0.18 ms
Categories
Database 55 ms App code 2 ms Other (Libraries, Templates, Unsampled, pytest, ...) 37 ms

56 database queries per run

Needs 215 KB of memory (max 704 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
call99 ms99.1%
ProjectPagesTest.test_tests_pageapps/projects/tests.py:1012 response = self.client.get(self.project.url("project_tests"))60 ms59.5%
Client.getdjango/test/client.py:112460 ms59.5%
RequestFactory.getdjango/test/client.py:47560 ms59.5%
RequestFactory.genericdjango/test/client.py:67160 ms59.5%
Client.requestdjango/test/client.py:108260 ms59.5%
ClientHandler.__call__django/test/client.py:18646 ms45.7%
BaseHandler.get_responsedjango/core/handlers/base.py:14146 ms45.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms45.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13046 ms45.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms45.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms45.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms45.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12346 ms45.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms45.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms42.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms42.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms42.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms42.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms42.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms42.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms42.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms42.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms42.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms42.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms42.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms42.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3443 ms42.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms42.7%
BaseHandler._get_responsedjango/core/handlers/base.py:19843 ms42.7%
project_testsapps/projects/urls.py:18023 ms22.9%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {23 ms22.9%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))20 ms19.8%
new_method_proxy.<locals>.innerdjango/utils/functional.py:25118 ms18.3%
SimpleLazyObject._setupdjango/utils/functional.py:40418 ms18.3%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:4018 ms18.3%
get_userdjango/contrib/auth/middleware.py:2018 ms18.3%
get_userdjango/contrib/auth/__init__.py:31117 ms16.8%
_get_user_session_keydjango/contrib/auth/__init__.py:9517 ms16.8%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:5517 ms16.8%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:25117 ms16.8%
SessionStore.loaddjango/contrib/sessions/backends/db.py:5517 ms16.8%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:3417 ms16.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8717 ms16.8%
QuerySet.getdjango/db/models/query.py:63517 ms16.8%
QuerySet.__len__django/db/models/query.py:37217 ms16.8%
QuerySet._fetch_alldjango/db/models/query.py:200017 ms16.8%
ModelIterable.__iter__django/db/models/query.py:9517 ms16.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162417 ms16.8%
CursorWrapper.executedjango/db/backends/utils.py:7917 ms16.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9217 ms16.8%
CursorWrapper._executedjango/db/backends/utils.py:10517 ms16.8%
Cursor.executepsycopg/cursor.py:11317 ms16.8%
Connection.waitpsycopg/connection.py:49517 ms16.8%
get_userdjango/contrib/auth/__init__.py:3182 ms1.5%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.getdjango/db/models/query.py:6352 ms1.5%
QuerySet.__len__django/db/models/query.py:3722 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
org_shellapps/orgs/views.py:422 ms1.5%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms1.5%
QuerySet.existsdjango/db/models/query.py:13372 ms1.5%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.5%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
project_testsapps/projects/urls.py:2199 ms9.1%
slow_testsapps/projects/analytics.py:453 TestSnapshot.objects.filter(scope.environment_q(), test_id__in=ids)5 ms4.6%
QuerySet.__iter__django/db/models/query.py:3903 ms3.0%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.0%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
ModelIterable.__iter__django/db/models/query.py:1282 ms1.5%
Model.from_dbdjango/db/models/base.py:6052 ms1.5%
Model.__init__django/db/models/base.py:4912 ms1.5%
Signal.senddjango/dispatch/dispatcher.py:1792 ms1.5%
<GC>~2 ms1.5%
Scope.environment_qapps/projects/analytics.py:163 return Q()2 ms1.5%
slow_testsapps/projects/analytics.py:4502 ms1.5%
categories_by_testapps/projects/analytics.py:424 for test_id, run_count, categories in rows.filter(test_id__in=test_ids).values_list(2 ms1.5%
QuerySet.filterdjango/db/models/query.py:15422 ms1.5%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.5%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.5%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.5%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.5%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.5%
Query.build_lookupdjango/db/models/sql/query.py:14402 ms1.5%
Lookup.__init__django/db/models/lookups.py:352 ms1.5%
slow_testsapps/projects/analytics.py:461 for perf in TestPerf.objects.filter(2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
slow_testsapps/projects/analytics.py:465 suite_time = scope.profiles().aggregate(avg=Avg("test_time"))["avg"] or 02 ms1.5%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.5%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.5%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.5%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.5%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms1.5%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms1.5%
project_testsapps/projects/urls.py:225 return render(request, "project_tests.html", context)8 ms7.6%
renderdjango/shortcuts.py:258 ms7.6%
render_to_stringdjango/template/loader.py:628 ms7.6%
Template.renderdjango/template/backends/django.py:1078 ms7.6%
Template.renderdjango/template/base.py:1748 ms7.6%
instrumented_test_renderdjango/test/utils.py:1148 ms7.6%
NodeList.renderdjango/template/base.py:10918 ms7.6%
Node.render_annotateddjango/template/base.py:10528 ms7.6%
ExtendsNode.renderdjango/template/loader_tags.py:1608 ms7.6%
instrumented_test_renderdjango/test/utils.py:1148 ms7.6%
NodeList.renderdjango/template/base.py:10918 ms7.6%
Node.render_annotateddjango/template/base.py:10528 ms7.6%
ExtendsNode.renderdjango/template/loader_tags.py:1608 ms7.6%
instrumented_test_renderdjango/test/utils.py:1148 ms7.6%
NodeList.renderdjango/template/base.py:10918 ms7.6%
Node.render_annotateddjango/template/base.py:10528 ms7.6%
BlockNode.renderdjango/template/loader_tags.py:668 ms7.6%
NodeList.renderdjango/template/base.py:10918 ms7.6%
Node.render_annotateddjango/template/base.py:10528 ms7.6%
BlockNode.renderdjango/template/loader_tags.py:666 ms6.1%
NodeList.renderdjango/template/base.py:10916 ms6.1%
Node.render_annotateddjango/template/base.py:10526 ms6.1%
IfNode.renderdjango/template/defaulttags.py:3336 ms6.1%
NodeList.renderdjango/template/base.py:10916 ms6.1%
Node.render_annotateddjango/template/base.py:10526 ms6.1%
IfNode.renderdjango/template/defaulttags.py:3336 ms6.1%
NodeList.renderdjango/template/base.py:10916 ms6.1%
Node.render_annotateddjango/template/base.py:10526 ms6.1%
ForNode.renderdjango/template/defaulttags.py:2496 ms6.1%
Node.render_annotateddjango/template/base.py:10525 ms4.6%
IncludeNode.renderdjango/template/loader_tags.py:2113 ms3.0%
Template.renderdjango/template/base.py:1763 ms3.0%
instrumented_test_renderdjango/test/utils.py:1143 ms3.0%
NodeList.renderdjango/template/base.py:10913 ms3.0%
Node.render_annotateddjango/template/base.py:10523 ms3.0%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.5%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.5%
Template.renderdjango/template/base.py:1762 ms1.5%
instrumented_test_renderdjango/test/utils.py:1142 ms1.5%
NodeList.renderdjango/template/base.py:10912 ms1.5%
Node.render_annotateddjango/template/base.py:10522 ms1.5%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.5%
Node.render_annotateddjango/template/base.py:10522 ms1.5%
VariableNode.renderdjango/template/base.py:11562 ms1.5%
render_value_in_contextdjango/template/base.py:11302 ms1.5%
VariableNode.renderdjango/template/base.py:11502 ms1.5%
FilterExpression.resolvedjango/template/base.py:7882 ms1.5%
VariableNode.renderdjango/template/base.py:11562 ms1.5%
render_value_in_contextdjango/template/base.py:11342 ms1.5%
conditional_escapedjango/utils/html.py:1272 ms1.5%
project_testsapps/projects/urls.py:209 profiled = TestPerf.objects.filter(project=project).exists()2 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.filterdjango/db/models/query.py:15422 ms1.5%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.5%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.5%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.5%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.5%
Query.build_filterdjango/db/models/sql/query.py:15512 ms1.5%
Query.solve_lookup_typedjango/db/models/sql/query.py:13582 ms1.5%
project_testsapps/projects/urls.py:215 total = perf.values("test_id").distinct().count()2 ms1.5%
QuerySet.countdjango/db/models/query.py:6102 ms1.5%
Query.get_countdjango/db/models/sql/query.py:6512 ms1.5%
Query.get_aggregationdjango/db/models/sql/query.py:4932 ms1.5%
WhereNode.split_having_qualifydjango/db/models/sql/where.py:472 ms1.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3113 ms3.0%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:483 ms3.0%
SessionBase.get_expire_at_browser_closedjango/contrib/sessions/backends/base.py:4052 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.5%
Model.savedjango/db/models/base.py:8742 ms1.5%
Model.save_basedjango/db/models/base.py:9662 ms1.5%
Model._save_tabledjango/db/models/base.py:11102 ms1.5%
Model._do_updatedjango/db/models/base.py:12112 ms1.5%
QuerySet._updatedjango/db/models/query.py:13272 ms1.5%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
ClientHandler.__call__django/test/client.py:17314 ms13.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6214 ms13.7%
__init____init__:-114 ms13.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10414 ms13.7%
WhiteNoise.add_fileswhitenoise/base.py:10814 ms13.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12012 ms12.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13111 ms10.7%
WhiteNoise.get_static_filewhitenoise/base.py:2088 ms7.6%
StaticFile.__init__whitenoise/responders.py:733 ms3.0%
StaticFile.get_headerswhitenoise/responders.py:1782 ms1.5%
parsedate<stdlib>/email/_parseaddr.py:1852 ms1.5%
StaticFile.__init__whitenoise/responders.py:742 ms1.5%
parsedate<stdlib>/email/_parseaddr.py:1852 ms1.5%
StaticFile.__init__whitenoise/responders.py:722 ms1.5%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms1.5%
__init____init__:-12 ms1.5%
FileEntry.__init__whitenoise/responders.py:2602 ms1.5%
<GC>~2 ms1.5%
StaticFile.__init__whitenoise/responders.py:772 ms1.5%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms1.5%
__init____init__:-12 ms1.5%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms1.5%
WhiteNoise.add_mime_headerswhitenoise/base.py:2212 ms1.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms1.5%
ProjectPagesTest.test_tests_pageapps/projects/tests.py:1016 response = self.client.get(self.project.url("project_tests"), {"q": "reports"})24 ms24.4%
Client.getdjango/test/client.py:112424 ms24.4%
RequestFactory.getdjango/test/client.py:47524 ms24.4%
RequestFactory.genericdjango/test/client.py:67124 ms24.4%
Client.requestdjango/test/client.py:108224 ms24.4%
ClientHandler.__call__django/test/client.py:18624 ms24.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14124 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms24.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13024 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30924 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms24.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12324 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms22.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms22.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms22.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms22.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms22.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms22.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms22.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms22.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms22.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms22.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30923 ms22.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms22.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3423 ms22.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5523 ms22.9%
BaseHandler._get_responsedjango/core/handlers/base.py:19821 ms21.3%
project_testsapps/projects/urls.py:2198 ms7.6%
slow_testsapps/projects/analytics.py:4503 ms3.0%
categories_by_testapps/projects/analytics.py:424 for test_id, run_count, categories in rows.filter(test_id__in=test_ids).values_list(2 ms1.5%
QuerySet.values_listdjango/db/models/query.py:14582 ms1.5%
QuerySet._valuesdjango/db/models/query.py:14092 ms1.5%
Query.set_valuesdjango/db/models/sql/query.py:26052 ms1.5%
Query.add_fieldsdjango/db/models/sql/query.py:22582 ms1.5%
categories_by_testapps/projects/analytics.py:4302 ms1.5%
slow_testsapps/projects/analytics.py:442 rows = list(2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.5%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
slow_testsapps/projects/analytics.py:453 TestSnapshot.objects.filter(scope.environment_q(), test_id__in=ids)2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
slow_testsapps/projects/analytics.py:461 for perf in TestPerf.objects.filter(2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.5%
project_testsapps/projects/urls.py:1806 ms6.1%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {5 ms4.6%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms1.5%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.5%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.5%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms1.5%
get_userdjango/contrib/auth/middleware.py:202 ms1.5%
get_userdjango/contrib/auth/__init__.py:3182 ms1.5%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.getdjango/db/models/query.py:6252 ms1.5%
QuerySet.filterdjango/db/models/query.py:15422 ms1.5%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.5%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.5%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.5%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.5%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.5%
Query.build_lookupdjango/db/models/sql/query.py:14302 ms1.5%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.5%
QuerySet.__iter__django/db/models/query.py:3902 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
org_shellapps/orgs/views.py:422 ms1.5%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms1.5%
QuerySet.existsdjango/db/models/query.py:13372 ms1.5%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.5%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))2 ms1.5%
project_testsapps/projects/urls.py:215 total = perf.values("test_id").distinct().count()3 ms3.0%
QuerySet.countdjango/db/models/query.py:6103 ms3.0%
Query.get_countdjango/db/models/sql/query.py:6513 ms3.0%
Query.get_aggregationdjango/db/models/sql/query.py:4672 ms1.5%
Count.resolve_expressiondjango/db/models/aggregates.py:2612 ms1.5%
Aggregate.resolve_expressiondjango/db/models/aggregates.py:1222 ms1.5%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms1.5%
Func.copydjango/db/models/expressions.py:11332 ms1.5%
BaseExpression.copydjango/db/models/expressions.py:4442 ms1.5%
copy<stdlib>/copy.py:1002 ms1.5%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
project_testsapps/projects/urls.py:225 return render(request, "project_tests.html", context)3 ms3.0%
renderdjango/shortcuts.py:253 ms3.0%
render_to_stringdjango/template/loader.py:623 ms3.0%
Template.renderdjango/template/backends/django.py:1073 ms3.0%
Template.renderdjango/template/base.py:1743 ms3.0%
instrumented_test_renderdjango/test/utils.py:1143 ms3.0%
NodeList.renderdjango/template/base.py:10913 ms3.0%
Node.render_annotateddjango/template/base.py:10523 ms3.0%
ExtendsNode.renderdjango/template/loader_tags.py:1603 ms3.0%
instrumented_test_renderdjango/test/utils.py:1143 ms3.0%
NodeList.renderdjango/template/base.py:10913 ms3.0%
Node.render_annotateddjango/template/base.py:10523 ms3.0%
ExtendsNode.renderdjango/template/loader_tags.py:1603 ms3.0%
instrumented_test_renderdjango/test/utils.py:1143 ms3.0%
NodeList.renderdjango/template/base.py:10913 ms3.0%
Node.render_annotateddjango/template/base.py:10523 ms3.0%
BlockNode.renderdjango/template/loader_tags.py:663 ms3.0%
NodeList.renderdjango/template/base.py:10913 ms3.0%
Node.render_annotateddjango/template/base.py:10523 ms3.0%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.5%
NodeList.renderdjango/template/base.py:10912 ms1.5%
BlockNode.renderdjango/template/loader_tags.py:662 ms1.5%
NodeList.renderdjango/template/base.py:10912 ms1.5%
Node.render_annotateddjango/template/base.py:10522 ms1.5%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.5%
NodeList.renderdjango/template/base.py:10912 ms1.5%
Node.render_annotateddjango/template/base.py:10522 ms1.5%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.5%
NodeList.renderdjango/template/base.py:10912 ms1.5%
Node.render_annotateddjango/template/base.py:10522 ms1.5%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.5%
Node.render_annotateddjango/template/base.py:10522 ms1.5%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.5%
Template.renderdjango/template/base.py:1762 ms1.5%
project_testsapps/projects/urls.py:209 profiled = TestPerf.objects.filter(project=project).exists()2 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.filterdjango/db/models/query.py:15422 ms1.5%
QuerySet._filter_or_excludedjango/db/models/query.py:15552 ms1.5%
BaseHandler._get_responsedjango/core/handlers/base.py:1822 ms1.5%
BaseHandler.resolve_requestdjango/core/handlers/base.py:3142 ms1.5%
URLResolver.resolvedjango/urls/resolvers.py:6782 ms1.5%
URLResolver.resolvedjango/urls/resolvers.py:6782 ms1.5%
URLPattern.resolvedjango/urls/resolvers.py:4822 ms1.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.5%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.5%
Model.savedjango/db/models/base.py:8742 ms1.5%
Model.save_basedjango/db/models/base.py:9662 ms1.5%
Model._save_tabledjango/db/models/base.py:11102 ms1.5%
Model._do_updatedjango/db/models/base.py:12112 ms1.5%
QuerySet._updatedjango/db/models/query.py:13272 ms1.5%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)11 ms10.7%
ClientMixin.force_logindjango/test/client.py:8559 ms9.1%
ClientMixin._logindjango/test/client.py:8816 ms6.1%
logindjango/contrib/auth/__init__.py:1875 ms4.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4343 ms3.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.5%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.5%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.5%
QuerySet.existsdjango/db/models/query.py:13372 ms1.5%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.5%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.5%
Atomic.__exit__django/db/transaction.py:2472 ms1.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.5%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.5%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.5%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.5%
Model.deletedjango/db/models/base.py:12982 ms1.5%
Collector.deletedjango/db/models/deletion.py:4522 ms1.5%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms1.5%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
logindjango/contrib/auth/__init__.py:1752 ms1.5%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms1.5%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.5%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.5%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.5%
QuerySet.getdjango/db/models/query.py:6352 ms1.5%
QuerySet.__len__django/db/models/query.py:3722 ms1.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.5%
ModelIterable.__iter__django/db/models/query.py:952 ms1.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.5%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.5%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.5%
ClientMixin._logindjango/test/client.py:8762 ms1.5%
ClientMixin.sessiondjango/test/client.py:8122 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms1.5%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.5%
Atomic.__enter__django/db/transaction.py:2112 ms1.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.5%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.5%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
ClientMixin._logindjango/test/client.py:8832 ms1.5%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.5%
Atomic.__enter__django/db/transaction.py:2112 ms1.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.5%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.5%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.5%
Cursor.executepsycopg/cursor.py:1132 ms1.5%
Connection.waitpsycopg/connection.py:4952 ms1.5%
TestData.__get__django/test/testcases.py:13672 ms1.5%
deepcopy<stdlib>/copy.py:1452 ms1.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()5 ms4.6%
TestCase._fixture_teardowndjango/test/testcases.py:14955 ms4.6%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4835 ms4.6%
CursorWrapper.executedjango/db/backends/utils.py:795 ms4.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms4.6%
CursorWrapper._executedjango/db/backends/utils.py:1035 ms4.6%
Cursor.executepsycopg/cursor.py:1135 ms4.6%
Connection.waitpsycopg/connection.py:4955 ms4.6%
Estimated from 65 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell · Database
21 ms
apps/projects/tests.py:1012
response = self.client.get(self.project.url("project_tests"))
ProjectPagesTest.test_tests_page · Libraries
17 ms
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp · Database
11 ms
apps/projects/urls.py:225
return render(request, "project_tests.html", context)
project_tests · Templates
11 ms
apps/projects/urls.py:215
total = perf.values("test_id").distinct().count()
project_tests · Database
5 ms
apps/projects/analytics.py:453
TestSnapshot.objects.filter(scope.environment_q(), test_id__in=ids)
slow_tests · Database
5 ms
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell · Database
3 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
3 ms
apps/projects/urls.py:209
profiled = TestPerf.objects.filter(project=project).exists()
project_tests · Database
3 ms
apps/projects/analytics.py:424
for test_id, run_count, categories in rows.filter(test_id__in=test_ids).values_list(
categories_by_test · Database
3 ms

Fixtures

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

Database

56 queries · 22 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:1012
84 ms
call setUp
apps/projects/tests.py:954
11 ms
call _post_teardown
django/test/testcases.py:1240
5 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 100 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 58 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 97 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 81 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 115 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 78 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 109 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 105 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 103 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 114 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 57 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 104 ms 78a4357 main Profile