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

StorageTest::test_pages_work_after_pruning

First seen 3 weeks ago in 78a4357
CI github-actions:test 12 runs
Average
106 ms
median 115 ms
max 140 ms
Phases
Setup 0.66 ms Call 105 ms Teardown 0.18 ms
Categories
Database 75 ms App code 0.90 ms Factories 0.16 ms Other (Libraries, Templates, Unsampled, pytest, ...) 30 ms

71 database queries per run

Needs 0 KB of memory (max 4 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
call113 ms99.3%
StorageTest.test_pages_work_after_pruningapps/projects/tests.py:1287 response = self.client.get(self.project.url("project_test", self.test.slug))65 ms56.7%
Client.getdjango/test/client.py:112465 ms56.7%
RequestFactory.getdjango/test/client.py:47565 ms56.7%
RequestFactory.genericdjango/test/client.py:67165 ms56.7%
Client.requestdjango/test/client.py:108265 ms56.7%
ClientHandler.__call__django/test/client.py:18653 ms46.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14153 ms46.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5553 ms46.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13053 ms46.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5553 ms46.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30953 ms46.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5553 ms46.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12353 ms46.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5553 ms46.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30952 ms45.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5552 ms45.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30952 ms45.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5552 ms45.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30952 ms45.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5552 ms45.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30952 ms45.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5552 ms45.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30952 ms45.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5552 ms45.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30952 ms45.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5552 ms45.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3452 ms45.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5552 ms45.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19852 ms45.4%
project_testapps/projects/urls.py:31145 ms39.7%
history_for_testapps/projects/analytics.py:808 .defer("profile__summary", "profile__insights")21 ms18.4%
QuerySet.__iter__django/db/models/query.py:39019 ms17.0%
QuerySet._fetch_alldjango/db/models/query.py:200019 ms17.0%
ModelIterable.__iter__django/db/models/query.py:9519 ms17.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:161119 ms17.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:76719 ms17.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:8618 ms15.6%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:7518 ms15.6%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3008 ms7.1%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12666 ms5.7%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12663 ms2.8%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12422 ms1.4%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12812 ms1.4%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12592 ms1.4%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10292 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3176 ms5.7%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5785 ms4.3%
Col.as_sqldjango/db/models/expressions.py:13252 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2532 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms1.4%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10302 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.4%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.4%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3592 ms1.4%
Expression.__hash__django/db/models/expressions.py:5622 ms1.4%
cached_property.__get__django/utils/functional.py:472 ms1.4%
Expression.identitydjango/db/models/expressions.py:5542 ms1.4%
Signature._bind<stdlib>/inspect.py:31732 ms1.4%
QuerySet.deferdjango/db/models/query.py:18232 ms1.4%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)18 ms15.6%
QuerySet.__iter__django/db/models/query.py:39018 ms15.6%
QuerySet._fetch_alldjango/db/models/query.py:200018 ms15.6%
ModelIterable.__iter__django/db/models/query.py:9518 ms15.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162411 ms9.9%
CursorWrapper.executedjango/db/backends/utils.py:7911 ms9.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9211 ms9.9%
CursorWrapper._executedjango/db/backends/utils.py:10511 ms9.9%
Cursor.executepsycopg/cursor.py:11311 ms9.9%
Connection.waitpsycopg/connection.py:49511 ms9.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:20610 ms8.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28610 ms8.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7810 ms8.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16116 ms5.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7925 ms4.3%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11595 ms4.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5785 ms4.3%
Join.as_sqldjango/db/models/sql/datastructures.py:882 ms1.4%
DatabaseOperations.prepare_join_on_clausedjango/db/backends/postgresql/operations.py:3992 ms1.4%
ForeignKey.db_typedjango/db/models/fields/related.py:12232 ms1.4%
BigAutoField.rel_db_typedjango/db/models/fields/__init__.py:28822 ms1.4%
Field.db_typedjango/db/models/fields/__init__.py:8772 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.4%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.4%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.4%
history_for_testapps/projects/analytics.py:819 TestRun.objects.filter(test=test)6 ms5.7%
QuerySet.__iter__django/db/models/query.py:3905 ms4.3%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms4.3%
ModelIterable.__iter__django/db/models/query.py:955 ms4.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.8%
Cursor.executepsycopg/cursor.py:1133 ms2.8%
Connection.waitpsycopg/connection.py:4953 ms2.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.4%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.4%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.4%
Expression.__hash__django/db/models/expressions.py:5622 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.filterdjango/db/models/query.py:15422 ms1.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.4%
Query.build_filterdjango/db/models/sql/query.py:15992 ms1.4%
project_testapps/projects/urls.py:342 return render(request, "project_test.html", context)3 ms2.8%
renderdjango/shortcuts.py:253 ms2.8%
render_to_stringdjango/template/loader.py:623 ms2.8%
Template.renderdjango/template/backends/django.py:1073 ms2.8%
Template.renderdjango/template/base.py:1743 ms2.8%
instrumented_test_renderdjango/test/utils.py:1143 ms2.8%
NodeList.renderdjango/template/base.py:10913 ms2.8%
Node.render_annotateddjango/template/base.py:10523 ms2.8%
ExtendsNode.renderdjango/template/loader_tags.py:1603 ms2.8%
instrumented_test_renderdjango/test/utils.py:1143 ms2.8%
NodeList.renderdjango/template/base.py:10913 ms2.8%
Node.render_annotateddjango/template/base.py:10523 ms2.8%
ExtendsNode.renderdjango/template/loader_tags.py:1603 ms2.8%
instrumented_test_renderdjango/test/utils.py:1143 ms2.8%
NodeList.renderdjango/template/base.py:10913 ms2.8%
Node.render_annotateddjango/template/base.py:10523 ms2.8%
BlockNode.renderdjango/template/loader_tags.py:663 ms2.8%
NodeList.renderdjango/template/base.py:10913 ms2.8%
Node.render_annotateddjango/template/base.py:10523 ms2.8%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.4%
NodeList.renderdjango/template/base.py:10912 ms1.4%
Node.render_annotateddjango/template/base.py:10522 ms1.4%
SimpleNode.renderdjango/template/library.py:3252 ms1.4%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms1.4%
_render_iconheroicons/templatetags/heroicons.py:392 ms1.4%
_render_iconheroicons/__init__.py:452 ms1.4%
deepcopy<stdlib>/copy.py:1372 ms1.4%
deepcopy<stdlib>/copy.py:1562 ms1.4%
_reconstruct<stdlib>/copy.py:2542 ms1.4%
deepcopy<stdlib>/copy.py:1302 ms1.4%
_deepcopy_dict<stdlib>/copy.py:1992 ms1.4%
BlockNode.renderdjango/template/loader_tags.py:662 ms1.4%
NodeList.renderdjango/template/base.py:10912 ms1.4%
Node.render_annotateddjango/template/base.py:10522 ms1.4%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.4%
NodeList.renderdjango/template/base.py:10912 ms1.4%
Node.render_annotateddjango/template/base.py:10522 ms1.4%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.4%
Node.render_annotateddjango/template/base.py:10522 ms1.4%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.4%
Template.renderdjango/template/base.py:1762 ms1.4%
instrumented_test_renderdjango/test/utils.py:1142 ms1.4%
NodeList.renderdjango/template/base.py:10912 ms1.4%
Node.render_annotateddjango/template/base.py:10522 ms1.4%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.4%
NodeList.renderdjango/template/base.py:10912 ms1.4%
Node.render_annotateddjango/template/base.py:10522 ms1.4%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.4%
Node.render_annotateddjango/template/base.py:10522 ms1.4%
VariableNode.renderdjango/template/base.py:11562 ms1.4%
render_value_in_contextdjango/template/base.py:11302 ms1.4%
project_testapps/projects/urls.py:3122 ms1.4%
flakiness_for_testapps/projects/flakiness.py:326 history = observations_for(test.project, [test.id], since).get(test.id, [])2 ms1.4%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.4%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
project_testapps/projects/urls.py:3152 ms1.4%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.4%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.4%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms1.4%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms1.4%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1262 ms1.4%
dumpsdjango/core/signing.py:1512 ms1.4%
Signer.sign_objectdjango/core/signing.py:2322 ms1.4%
ClientHandler.__call__django/test/client.py:17311 ms9.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6211 ms9.9%
__init____init__:-111 ms9.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10411 ms9.9%
WhiteNoise.add_fileswhitenoise/base.py:10811 ms9.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1208 ms7.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1318 ms7.1%
WhiteNoise.get_static_filewhitenoise/base.py:2085 ms4.3%
StaticFile.__init__whitenoise/responders.py:773 ms2.8%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms1.4%
StaticFile.get_alternativeswhitenoise/responders.py:2032 ms1.4%
Headers.__setitem__<stdlib>/wsgiref/headers.py:642 ms1.4%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.4%
StaticFile.__init__whitenoise/responders.py:732 ms1.4%
StaticFile.get_headerswhitenoise/responders.py:1762 ms1.4%
formatdate<stdlib>/email/utils.py:2662 ms1.4%
WhiteNoise.get_static_filewhitenoise/base.py:2033 ms2.8%
WhiteNoise.add_cache_headerswhitenoise/base.py:2243 ms2.8%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1763 ms2.8%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms1.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms1.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms2.8%
StorageTest.test_pages_work_after_pruningapps/projects/tests.py:129015 ms12.8%
Client.getdjango/test/client.py:112415 ms12.8%
RequestFactory.getdjango/test/client.py:47515 ms12.8%
RequestFactory.genericdjango/test/client.py:67115 ms12.8%
Client.requestdjango/test/client.py:108215 ms12.8%
ClientHandler.__call__django/test/client.py:18615 ms12.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14115 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13015 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12315 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3415 ms12.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms12.8%
BaseHandler._get_responsedjango/core/handlers/base.py:19815 ms12.8%
project_profileapps/projects/urls.py:4745 ms4.3%
find_projectapps/projects/urls.py:523 ms2.8%
can_viewapps/projects/urls.py:333 ms2.8%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:3 ms2.8%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms2.8%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms2.8%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms2.8%
get_userdjango/contrib/auth/middleware.py:203 ms2.8%
get_userdjango/contrib/auth/__init__.py:3112 ms1.4%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms1.4%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms1.4%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.4%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.4%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5742 ms1.4%
Col.as_sqldjango/db/models/expressions.py:13232 ms1.4%
get_userdjango/contrib/auth/__init__.py:3182 ms1.4%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms1.4%
get_object_or_404django/shortcuts.py:902 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms1.4%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12572 ms1.4%
Query.setup_joinsdjango/db/models/sql/query.py:-12 ms1.4%
project_profileapps/projects/urls.py:5025 ms4.3%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {5 ms4.3%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
org_shellapps/orgs/views.py:422 ms1.4%
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.4%
QuerySet.existsdjango/db/models/query.py:13372 ms1.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
project_profileapps/projects/urls.py:490 for perf in perfs:3 ms2.8%
Sequence.__iter__<frozen _collections_abc>:10203 ms2.8%
Page.__getitem__django/core/paginator.py:3303 ms2.8%
QuerySet.__iter__django/db/models/query.py:3903 ms2.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms2.8%
ModelIterable.__iter__django/db/models/query.py:953 ms2.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms1.4%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12572 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
project_profileapps/projects/urls.py:477 profile = get_object_or_404(2 ms1.4%
get_object_or_404django/shortcuts.py:902 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()10 ms8.5%
TestCase._fixture_teardowndjango/test/testcases.py:14976 ms5.7%
TestCase._rollback_atomicsdjango/test/testcases.py:14055 ms4.3%
Atomic.__exit__django/db/transaction.py:2835 ms4.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:265 ms4.3%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4135 ms4.3%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3705 ms4.3%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms2.8%
Cursor.executepsycopg/cursor.py:1133 ms2.8%
Connection.waitpsycopg/connection.py:4953 ms2.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
TestCase._fixture_teardowndjango/test/testcases.py:14953 ms2.8%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4833 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.4%
StorageTest.test_pages_work_after_pruningapps/projects/tests.py:128210 ms8.5%
_SharedTaskProxy.__call__potatoq/app.py:76310 ms8.5%
Task.__call__potatoq/task.py:18910 ms8.5%
prune_old_dataapps/api/tasks.py:318 while ids := list(rows.values_list("id", flat=True)[:batch_size]):3 ms2.8%
QuerySet.__iter__django/db/models/query.py:3903 ms2.8%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms2.8%
FlatValuesListIterable.__iter__django/db/models/query.py:2773 ms2.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms2.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.8%
Cursor.executepsycopg/cursor.py:1133 ms2.8%
Connection.waitpsycopg/connection.py:4953 ms2.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms1.4%
prune_old_dataapps/api/tasks.py:305 .exclude(document_size=0)2 ms1.4%
QuerySet.excludedjango/db/models/query.py:15502 ms1.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15682 ms1.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.4%
Query.build_filterdjango/db/models/sql/query.py:15772 ms1.4%
Query.setup_joinsdjango/db/models/sql/query.py:19252 ms1.4%
prune_old_dataapps/api/tasks.py:306 .exclude(profile_id__in=list(keep))2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
prune_old_dataapps/api/tasks.py:307 .update(document=b"", document_size=0)2 ms1.4%
QuerySet.updatedjango/db/models/query.py:13002 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms1.4%
prune_old_dataapps/api/tasks.py:315 ("daily_stats", TestDailyStats.objects.filter(day__lt=daily_cutoff)),2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
StorageTest.test_pages_work_after_pruningapps/projects/tests.py:1286 self.client.force_login(user)10 ms8.5%
ClientMixin.force_logindjango/test/client.py:85510 ms8.5%
ClientMixin._logindjango/test/client.py:8815 ms4.3%
logindjango/contrib/auth/__init__.py:1873 ms2.8%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms1.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.4%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.4%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.4%
QuerySet.existsdjango/db/models/query.py:13372 ms1.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.4%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.4%
Model.deletedjango/db/models/base.py:12982 ms1.4%
Collector.deletedjango/db/models/deletion.py:4522 ms1.4%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms1.4%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms1.4%
logindjango/contrib/auth/__init__.py:1752 ms1.4%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms1.4%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.4%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.4%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.4%
ClientMixin._logindjango/test/client.py:8763 ms2.8%
ClientMixin.sessiondjango/test/client.py:8123 ms2.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1213 ms2.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.4%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.4%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.filterdjango/db/models/query.py:15422 ms1.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.4%
Model.savedjango/db/models/base.py:8282 ms1.4%
ClientMixin._logindjango/test/client.py:8832 ms1.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.4%
Atomic.__enter__django/db/transaction.py:2112 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.4%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
StorageTest.test_pages_work_after_pruningapps/projects/tests.py:12853 ms2.8%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(3 ms2.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.8%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms1.4%
QuerySet.getdjango/db/models/query.py:6272 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms1.4%
QuerySet.createdjango/db/models/query.py:6672 ms1.4%
Model.__init__django/db/models/base.py:5662 ms1.4%
ForwardManyToOneDescriptor.__set__django/db/models/fields/related_descriptors.py:3372 ms1.4%
ForeignKeyDeferredAttribute.__set__django/db/models/fields/related_descriptors.py:892 ms1.4%
StorageTest.test_pages_work_after_pruningapps/projects/tests.py:1284 user = baker.make(User)2 ms1.4%
makemodel_bakery/baker.py:1472 ms1.4%
Baker.makemodel_bakery/baker.py:4062 ms1.4%
Baker._makemodel_bakery/baker.py:4822 ms1.4%
Baker.instancemodel_bakery/baker.py:5352 ms1.4%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11622 ms1.4%
Estimated from 70 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/analytics.py:808
.defer("profile__summary", "profile__insights")
history_for_test · Database
21 ms
apps/projects/analytics.py:806
for perf in TestPerf.objects.filter(test=test)
history_for_test · Database
18 ms
apps/projects/tests.py:1287
response = self.client.get(self.project.url("project_test", self.test.slug))
StorageTest.test_pages_work_after_pruning · Libraries
13 ms
apps/projects/tests.py:1286
self.client.force_login(user)
StorageTest.test_pages_work_after_pruning · Database
10 ms
apps/projects/analytics.py:819
TestRun.objects.filter(test=test)
history_for_test · Database
6 ms
apps/api/tasks.py:318
while ids := list(rows.values_list("id", flat=True)[:batch_size]):
prune_old_data · Database
3 ms
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member · Database
3 ms
apps/projects/urls.py:342
return render(request, "project_test.html", context)
project_test · Templates
3 ms
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project · Database
3 ms
apps/projects/urls.py:490
for perf in perfs:
project_profile · Database
3 ms

Fixtures

Exact setup time
_dj_autoclear_mailbox function 0.05 ms
_django_db_marker function 0.04 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

71 queries · 30 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:1287
104 ms
call _post_teardown
django/test/testcases.py:1240
10 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 114 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 64 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 109 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 86 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 140 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 74 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 126 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 118 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 116 ms ec75501 main Profile
2 weeks, 6 days ago CI github-actions:test passed 131 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 70 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 123 ms 78a4357 main Profile