Tests / apps/projects/tests.py
ProjectRunsPage::test_project_with_runs
First seen 2 years, 9 months ago in b9e98d9
CI
github-actions:test
5 runs
Average
67 ms
median 71 ms
max 82 ms
max 82 ms
Phases
Setup 0.78 ms
Call 65 ms
Teardown 0.60 ms
Categories
Database 44 ms
Other (Libraries, Templates, pytest, Unsampled) 22 ms
41 database queries per run
Needs 234 KB of memory (max 820 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 18 minutes ago ·
open run
setup0.84 ms1.2%
call69 ms97.8%
ProjectRunsPage.test_project_with_runsapps/projects/tests.py:289 response = self.client.get(self.project.url("project_runs"))50 ms70.9%
Client.getdjango/test/client.py:112450 ms70.9%
RequestFactory.getdjango/test/client.py:47550 ms70.9%
RequestFactory.genericdjango/test/client.py:67150 ms70.9%
Client.requestdjango/test/client.py:108250 ms70.9%
ClientHandler.__call__django/test/client.py:18633 ms46.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14133 ms46.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms46.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13033 ms46.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms46.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30933 ms46.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms46.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12333 ms46.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5533 ms46.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms44.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms44.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms44.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms44.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms44.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms44.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms44.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms44.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms44.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms44.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30931 ms44.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms44.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3431 ms44.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5531 ms44.0%
BaseHandler._get_responsedjango/core/handlers/base.py:19831 ms44.0%
project_runsapps/projects/urls.py:3467 ms9.8%
find_projectapps/projects/urls.py:525 ms7.3%
can_viewapps/projects/urls.py:335 ms7.3%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:3 ms4.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms4.9%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms4.9%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms4.9%
get_userdjango/contrib/auth/middleware.py:203 ms4.9%
get_userdjango/contrib/auth/__init__.py:3112 ms2.4%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.4%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.4%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.4%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.4%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms2.4%
get_userdjango/contrib/auth/__init__.py:3182 ms2.4%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms2.4%
get_object_or_404django/shortcuts.py:902 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
project_runsapps/projects/urls.py:3877 ms9.8%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {5 ms7.3%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms2.4%
QuerySet.__iter__django/db/models/query.py:3902 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.4%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms2.4%
QuerySet.__iter__django/db/models/query.py:3902 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms2.4%
org_shellapps/orgs/views.py:422 ms2.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 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.4%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.4%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms2.4%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms2.4%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms2.4%
shellapps/projects/urls.py:732 ms2.4%
can_manageapps/projects/urls.py:442 ms2.4%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
project_runsapps/projects/urls.py:368 page_runs = list(Run.objects.select_related("commit").filter(id__in=[p.id for p in page_obj]).annotate_counts())5 ms7.3%
QuerySet.__iter__django/db/models/query.py:3903 ms4.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms4.9%
ModelIterable.__iter__django/db/models/query.py:953 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms4.9%
Cursor.executepsycopg/cursor.py:1133 ms4.9%
Connection.waitpsycopg/connection.py:4953 ms4.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.4%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.4%
PostgresClientQuery.convertpsycopg/_queries.py:2842 ms2.4%
_query2pg_client_nocachepsycopg/_queries.py:3292 ms2.4%
_split_querypsycopg/_queries.py:4422 ms2.4%
RunQueryset.annotate_countsapps/projects/models.py:132 return self.annotate(2 ms2.4%
QuerySet.annotatedjango/db/models/query.py:16992 ms2.4%
QuerySet._annotatedjango/db/models/query.py:17512 ms2.4%
Query.add_annotationdjango/db/models/sql/query.py:12422 ms2.4%
Count.resolve_expressiondjango/db/models/aggregates.py:2612 ms2.4%
Aggregate.resolve_expressiondjango/db/models/aggregates.py:1222 ms2.4%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3012 ms2.4%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3012 ms2.4%
When.resolve_expressiondjango/db/models/expressions.py:16292 ms2.4%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3012 ms2.4%
Q.resolve_expressiondjango/db/models/query_utils.py:952 ms2.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.4%
Query.build_filterdjango/db/models/sql/query.py:16132 ms2.4%
Query.build_lookupdjango/db/models/sql/query.py:14252 ms2.4%
project_runsapps/projects/urls.py:383 return render(5 ms7.3%
renderdjango/shortcuts.py:255 ms7.3%
render_to_stringdjango/template/loader.py:625 ms7.3%
Template.renderdjango/template/backends/django.py:1075 ms7.3%
Template.renderdjango/template/base.py:1745 ms7.3%
instrumented_test_renderdjango/test/utils.py:1145 ms7.3%
NodeList.renderdjango/template/base.py:10915 ms7.3%
Node.render_annotateddjango/template/base.py:10525 ms7.3%
ExtendsNode.renderdjango/template/loader_tags.py:1605 ms7.3%
instrumented_test_renderdjango/test/utils.py:1145 ms7.3%
NodeList.renderdjango/template/base.py:10915 ms7.3%
Node.render_annotateddjango/template/base.py:10525 ms7.3%
ExtendsNode.renderdjango/template/loader_tags.py:1605 ms7.3%
instrumented_test_renderdjango/test/utils.py:1145 ms7.3%
NodeList.renderdjango/template/base.py:10915 ms7.3%
Node.render_annotateddjango/template/base.py:10525 ms7.3%
BlockNode.renderdjango/template/loader_tags.py:665 ms7.3%
NodeList.renderdjango/template/base.py:10915 ms7.3%
Node.render_annotateddjango/template/base.py:10525 ms7.3%
IfNode.renderdjango/template/defaulttags.py:3333 ms4.9%
NodeList.renderdjango/template/base.py:10913 ms4.9%
Node.render_annotateddjango/template/base.py:10523 ms4.9%
IfNode.renderdjango/template/defaulttags.py:3332 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
SimpleNode.renderdjango/template/library.py:3252 ms2.4%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms2.4%
SimpleNode.renderdjango/template/library.py:3252 ms2.4%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms2.4%
_render_iconheroicons/templatetags/heroicons.py:392 ms2.4%
_render_iconheroicons/__init__.py:452 ms2.4%
deepcopy<stdlib>/copy.py:1382 ms2.4%
deepcopy<stdlib>/copy.py:1572 ms2.4%
_reconstruct<stdlib>/copy.py:2552 ms2.4%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
IfNode.renderdjango/template/defaulttags.py:3332 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
ForNode.renderdjango/template/defaulttags.py:2492 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
IncludeNode.renderdjango/template/loader_tags.py:2002 ms2.4%
Engine.select_templatedjango/template/engine.py:2282 ms2.4%
Engine.get_templatedjango/template/engine.py:1862 ms2.4%
Engine.find_templatedjango/template/engine.py:1592 ms2.4%
Loader.get_templatedjango/template/loaders/cached.py:572 ms2.4%
Loader.get_templatedjango/template/loaders/base.py:282 ms2.4%
__init____init__:-12 ms2.4%
Template.__init__django/template/base.py:1572 ms2.4%
Template.compile_nodelistdjango/template/base.py:1992 ms2.4%
Parser.parsedjango/template/base.py:5542 ms2.4%
Parser.compile_filterdjango/template/base.py:6762 ms2.4%
__init____init__:-12 ms2.4%
FilterExpression.__init__django/template/base.py:7722 ms2.4%
FilterExpression.args_checkdjango/template/base.py:8302 ms2.4%
project_runsapps/projects/urls.py:377 for session in sessions:3 ms4.9%
QuerySet.__iter__django/db/models/query.py:3903 ms4.9%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms4.9%
ModelIterable.__iter__django/db/models/query.py:953 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms2.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms2.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms2.4%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10302 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
project_runsapps/projects/urls.py:351 last_run = Run.objects.filter(project=project).order_by("-date_created").first() if has_runs else None2 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.filterdjango/db/models/query.py:15422 ms2.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms2.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms2.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.4%
Query.build_filterdjango/db/models/sql/query.py:15772 ms2.4%
Query.setup_joinsdjango/db/models/sql/query.py:19272 ms2.4%
project_runsapps/projects/urls.py:367 page_obj = paginator.get_page(request.GET.get("page"))2 ms2.4%
Paginator.get_pagedjango/core/paginator.py:1682 ms2.4%
Paginator.validate_numberdjango/core/paginator.py:1602 ms2.4%
cached_property.__get__django/utils/functional.py:472 ms2.4%
Paginator.num_pagesdjango/core/paginator.py:1952 ms2.4%
cached_property.__get__django/utils/functional.py:472 ms2.4%
Paginator.countdjango/core/paginator.py:1892 ms2.4%
QuerySet.countdjango/db/models/query.py:6102 ms2.4%
Query.get_countdjango/db/models/sql/query.py:6512 ms2.4%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms2.4%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms2.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11102 ms2.4%
Model._do_updatedjango/db/models/base.py:12112 ms2.4%
QuerySet._updatedjango/db/models/query.py:13272 ms2.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
ClientHandler.__call__django/test/client.py:17317 ms24.4%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6217 ms24.4%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10417 ms24.4%
WhiteNoise.add_fileswhitenoise/base.py:10817 ms24.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12012 ms17.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13112 ms17.1%
WhiteNoise.get_static_filewhitenoise/base.py:2087 ms9.8%
StaticFile.__init__whitenoise/responders.py:762 ms2.4%
StaticFile.__init__whitenoise/responders.py:772 ms2.4%
StaticFile.get_alternativeswhitenoise/responders.py:2042 ms2.4%
StaticFile.__init__whitenoise/responders.py:722 ms2.4%
StaticFile.__init__whitenoise/responders.py:732 ms2.4%
StaticFile.get_headerswhitenoise/responders.py:1762 ms2.4%
formatdate<stdlib>/email/utils.py:2662 ms2.4%
WhiteNoise.get_static_filewhitenoise/base.py:2035 ms7.3%
WhiteNoise.add_cache_headerswhitenoise/base.py:2243 ms4.9%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1763 ms4.9%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1973 ms4.9%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms2.4%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms2.4%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms2.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1155 ms7.3%
scantreewhitenoise/base.py:2625 ms7.3%
scantreewhitenoise/base.py:2625 ms7.3%
scantreewhitenoise/base.py:2643 ms4.9%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2642 ms2.4%
ProjectRunsPage.setUpapps/projects/tests.py:268 self.client.force_login(self.user)9 ms12.2%
ClientMixin.force_logindjango/test/client.py:8559 ms12.2%
ClientMixin._logindjango/test/client.py:8763 ms4.9%
ClientMixin.sessiondjango/test/client.py:8132 ms2.4%
logindjango/contrib/auth/__init__.py:1872 ms2.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms2.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.4%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.4%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6792 ms2.4%
Query.existsdjango/db/models/sql/query.py:6752 ms2.4%
Query.add_annotationdjango/db/models/sql/query.py:12422 ms2.4%
Value.resolve_expressiondjango/db/models/expressions.py:11882 ms2.4%
ClientMixin._logindjango/test/client.py:8813 ms4.9%
logindjango/contrib/auth/__init__.py:1872 ms2.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.4%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
logindjango/contrib/auth/__init__.py:1972 ms2.4%
Signal.senddjango/dispatch/dispatcher.py:2092 ms2.4%
update_last_logindjango/contrib/auth/models.py:242 ms2.4%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11102 ms2.4%
Model._do_updatedjango/db/models/base.py:12112 ms2.4%
QuerySet._updatedjango/db/models/query.py:13272 ms2.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.4%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.4%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms2.4%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms2.4%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms2.4%
ClientMixin._logindjango/test/client.py:8832 ms2.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11102 ms2.4%
Model._do_updatedjango/db/models/base.py:12112 ms2.4%
QuerySet._updatedjango/db/models/query.py:13272 ms2.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
ProjectRunsPage.test_project_with_runsapps/projects/tests.py:2883 ms4.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms4.9%
QuerySet.createdjango/db/models/query.py:6693 ms4.9%
Run.saveapps/projects/models.py:1872 ms2.4%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 12 ms2.4%
QuerySet.aggregatedjango/db/models/query.py:5942 ms2.4%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.4%
Run.saveapps/projects/models.py:188 super().save(*args, **kwargs)2 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11672 ms2.4%
Model._do_insertdjango/db/models/base.py:12182 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet._insertdjango/db/models/query.py:19182 ms2.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()3 ms4.9%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms2.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4822 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms2.4%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms2.4%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms2.4%
Atomic.__exit__django/db/transaction.py:2832 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4132 ms2.4%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3712 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()2 ms2.4%
TestCase._fixture_setupdjango/test/testcases.py:14782 ms2.4%
TestCase._enter_atomicsdjango/test/testcases.py:13962 ms2.4%
Atomic.__enter__django/db/transaction.py:2112 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms2.4%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
ProjectRunsPage.test_project_with_runsapps/projects/tests.py:287 ingest = Ingest.objects.create(project=self.project, data={})2 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.createdjango/db/models/query.py:6692 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11672 ms2.4%
Model._do_insertdjango/db/models/base.py:12182 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet._insertdjango/db/models/query.py:19182 ms2.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
teardown0.71 ms1.0%
Estimated from 42 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:289
response = self.client.get(self.project.url("project_runs"))
ProjectRunsPage.test_project_with_runs
· Libraries
|
19 ms |
|
apps/projects/tests.py:268
self.client.force_login(self.user)
ProjectRunsPage.setUp
· Database
|
9 ms |
|
apps/projects/urls.py:383
return render(
project_runs
· Templates
|
5 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
3 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
3 ms |
|
apps/projects/urls.py:368
page_runs = list(Run.objects.select_related("commit").filter(id__in=[p.id for p in page_obj]).annotate_counts())
project_runs
· Database
|
3 ms |
|
apps/projects/urls.py:377
for session in sessions:
project_runs
· Database
|
3 ms |
|
apps/projects/tests.py:287
ingest = Ingest.objects.create(project=self.project, data={})
ProjectRunsPage.test_project_with_runs
· Database
|
2 ms |
|
apps/projects/models.py:35
return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 1
next_number
· Database
|
2 ms |
|
apps/projects/models.py:188
super().save(*args, **kwargs)
Run.save
· Database
|
2 ms |
Fixtures
Exact setup time| _live_server_helper function | 0.07 ms |
| _template_string_if_invalid_marker function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_set_urlconf function | 0.05 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.03 ms |
Database
41 queries · 16 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/projects/tests.py:289
|
55 ms |
|
call setUp
apps/projects/tests.py:268
|
9 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
3 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
2 ms |
| setup pytest internals | 0.84 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 50 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 18 minutes ago | CI github-actions:test | passed | 70 ms | Profile |
| 43 minutes ago | CI github-actions:test | passed | 71 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 82 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 38 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 73 ms | Profile |
| 2 years ago | CI github-actions | passed | 231 ms | Run |
| 2 years, 2 months ago | CI github-actions | passed | 251 ms | Run |
| 2 years, 3 months ago | CI github-actions | passed | 254 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 245 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 244 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 243 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 227 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 184 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 185 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 189 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 203 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 210 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 214 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 208 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 201 ms | Run |