Tests / apps/projects/tests.py
ProjectPagesTest::test_test_page_per_environment
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
123 ms
median 131 ms
max 166 ms
max 166 ms
Phases
Setup 0.65 ms
Call 123 ms
Teardown 0.21 ms
Categories
Database 88 ms
App code 2 ms
Other (Libraries, Templates, pytest, Unsampled, ...) 33 ms
72 database queries per run
Needs 35 KB of memory (max 108 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup0.74 ms0.6%
call126 ms99.2%
ProjectPagesTest.test_test_page_per_environmentapps/projects/tests.py:1041 response = self.client.get(url)68 ms53.9%
Client.getdjango/test/client.py:112468 ms53.9%
RequestFactory.getdjango/test/client.py:47568 ms53.9%
RequestFactory.genericdjango/test/client.py:67168 ms53.9%
Client.requestdjango/test/client.py:108268 ms53.9%
ClientHandler.__call__django/test/client.py:18647 ms36.9%
BaseHandler.get_responsedjango/core/handlers/base.py:14147 ms36.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5547 ms36.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13047 ms36.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5547 ms36.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30947 ms36.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5547 ms36.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12347 ms36.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5547 ms36.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30945 ms35.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5545 ms35.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30945 ms35.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5545 ms35.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30945 ms35.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5545 ms35.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30945 ms35.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5545 ms35.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30945 ms35.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5545 ms35.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30945 ms35.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5545 ms35.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3445 ms35.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5545 ms35.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19845 ms35.4%
project_testapps/projects/urls.py:286 context = shell(request, project, "tests") | filters(request, project, default_days=90)18 ms14.2%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {18 ms14.2%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))14 ms11.3%
new_method_proxy.<locals>.innerdjango/utils/functional.py:25114 ms11.3%
SimpleLazyObject._setupdjango/utils/functional.py:40414 ms11.3%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:4014 ms11.3%
get_userdjango/contrib/auth/middleware.py:2014 ms11.3%
get_userdjango/contrib/auth/__init__.py:31114 ms11.3%
_get_user_session_keydjango/contrib/auth/__init__.py:9514 ms11.3%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:5514 ms11.3%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:25113 ms9.9%
SessionStore.loaddjango/contrib/sessions/backends/db.py:5513 ms9.9%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:3413 ms9.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8713 ms9.9%
QuerySet.getdjango/db/models/query.py:63513 ms9.9%
QuerySet.__len__django/db/models/query.py:37213 ms9.9%
QuerySet._fetch_alldjango/db/models/query.py:200013 ms9.9%
ModelIterable.__iter__django/db/models/query.py:9513 ms9.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162411 ms8.5%
CursorWrapper.executedjango/db/backends/utils.py:7911 ms8.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:929 ms7.1%
CursorWrapper._executedjango/db/backends/utils.py:1059 ms7.1%
Cursor.executepsycopg/cursor.py:1139 ms7.1%
Connection.waitpsycopg/connection.py:4959 ms7.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2067 ms5.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2867 ms5.7%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:787 ms5.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.4%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.4%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.4%
PostgresClientQuery.dumppsycopg/_queries.py:2992 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:2552 ms1.4%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10082 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_testapps/projects/urls.py:342 return render(request, "project_test.html", context)14 ms11.3%
renderdjango/shortcuts.py:2514 ms11.3%
render_to_stringdjango/template/loader.py:6214 ms11.3%
Template.renderdjango/template/backends/django.py:10714 ms11.3%
Template.renderdjango/template/base.py:17414 ms11.3%
instrumented_test_renderdjango/test/utils.py:11414 ms11.3%
NodeList.renderdjango/template/base.py:109114 ms11.3%
Node.render_annotateddjango/template/base.py:105214 ms11.3%
ExtendsNode.renderdjango/template/loader_tags.py:16014 ms11.3%
instrumented_test_renderdjango/test/utils.py:11414 ms11.3%
NodeList.renderdjango/template/base.py:109114 ms11.3%
Node.render_annotateddjango/template/base.py:105214 ms11.3%
ExtendsNode.renderdjango/template/loader_tags.py:16014 ms11.3%
instrumented_test_renderdjango/test/utils.py:11414 ms11.3%
NodeList.renderdjango/template/base.py:109114 ms11.3%
Node.render_annotateddjango/template/base.py:105214 ms11.3%
BlockNode.renderdjango/template/loader_tags.py:6614 ms11.3%
NodeList.renderdjango/template/base.py:109114 ms11.3%
Node.render_annotateddjango/template/base.py:105213 ms9.9%
IfNode.renderdjango/template/defaulttags.py:3339 ms7.1%
NodeList.renderdjango/template/base.py:10919 ms7.1%
Node.render_annotateddjango/template/base.py:10529 ms7.1%
URLNode.renderdjango/template/defaulttags.py:4972 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:632 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%
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:632 ms1.4%
tostring<stdlib>/xml/etree/ElementTree.py:11062 ms1.4%
ElementTree.write<stdlib>/xml/etree/ElementTree.py:7332 ms1.4%
VariableNode.renderdjango/template/base.py:11502 ms1.4%
FilterExpression.resolvedjango/template/base.py:8092 ms1.4%
Variable.resolvedjango/template/base.py:9282 ms1.4%
Variable._resolve_lookupdjango/template/base.py:9762 ms1.4%
LazyObject.__getattribute__django/utils/functional.py:2802 ms1.4%
URLNode.renderdjango/template/defaulttags.py:5112 ms1.4%
reversedjango/urls/base.py:982 ms1.4%
BlockNode.renderdjango/template/loader_tags.py:664 ms2.8%
NodeList.renderdjango/template/base.py:10914 ms2.8%
Node.render_annotateddjango/template/base.py:10524 ms2.8%
VariableNode.renderdjango/template/base.py:11502 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%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.4%
Node.render_annotateddjango/template/base.py:10522 ms1.4%
IfNode.renderdjango/template/defaulttags.py:3262 ms1.4%
TemplateLiteral.evaldjango/template/defaulttags.py:9182 ms1.4%
project_testapps/projects/urls.py:3115 ms4.3%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)4 ms2.8%
QuerySet.__iter__django/db/models/query.py:3904 ms2.8%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.8%
ModelIterable.__iter__django/db/models/query.py:954 ms2.8%
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%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16622 ms1.4%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms1.4%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms1.4%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms1.4%
Cursor.fetchmanypsycopg/cursor.py:2682 ms1.4%
BaseTzLoader.loaddjango/db/backends/postgresql/psycopg_any.py:342 ms1.4%
history_for_testapps/projects/analytics.py:820 .exclude(session__profile__testperf__test=test)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:15942 ms1.4%
Query.split_excludedjango/db/models/sql/query.py:21502 ms1.4%
Query.build_filterdjango/db/models/sql/query.py:15422 ms1.4%
Subquery.resolve_expressiondjango/db/models/expressions.py:17982 ms1.4%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3012 ms1.4%
Query.resolve_expressiondjango/db/models/sql/query.py:12642 ms1.4%
Query.bump_prefixdjango/db/models/sql/query.py:10992 ms1.4%
Query.change_aliasesdjango/db/models/sql/query.py:10102 ms1.4%
project_testapps/projects/urls.py:2954 ms2.8%
latest_perfapps/projects/analytics.py:846 return perfs.select_related("profile", "environment").order_by("-date").first()4 ms2.8%
QuerySet.firstdjango/db/models/query.py:11454 ms2.8%
QuerySet.__iter__django/db/models/query.py:3904 ms2.8%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.8%
ModelIterable.__iter__django/db/models/query.py:954 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%
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:2882 ms1.4%
environment_slotsapps/projects/analytics.py:213 environments = Environment.objects.filter(project=project).order_by("kind", "name").values_list("id", flat=True)2 ms1.4%
QuerySet.order_bydjango/db/models/query.py:17702 ms1.4%
QuerySet._chaindjango/db/models/query.py:19732 ms1.4%
QuerySet._clonedjango/db/models/query.py:19862 ms1.4%
Query.chaindjango/db/models/sql/query.py:4332 ms1.4%
Query.clonedjango/db/models/sql/query.py:4252 ms1.4%
project_testapps/projects/urls.py:2892 ms1.4%
environment_stats_for_testapps/projects/analytics.py:748 for perf in TestPerf.objects.filter(test=test, date__gte=since).select_related("environment").order_by("date"):2 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:16622 ms1.4%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms1.4%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms1.4%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms1.4%
Cursor.fetchmanypsycopg/cursor.py:2682 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: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%
ClientHandler.__call__django/test/client.py:17320 ms15.6%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6220 ms15.6%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10420 ms15.6%
WhiteNoise.add_fileswhitenoise/base.py:10820 ms15.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12020 ms15.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13120 ms15.6%
WhiteNoise.get_static_filewhitenoise/base.py:20813 ms9.9%
StaticFile.__init__whitenoise/responders.py:737 ms5.7%
StaticFile.get_headerswhitenoise/responders.py:1764 ms2.8%
formatdate<stdlib>/email/utils.py:2664 ms2.8%
StaticFile.get_headerswhitenoise/responders.py:1812 ms1.4%
StaticFile.get_headerswhitenoise/responders.py:1782 ms1.4%
parsedate<stdlib>/email/_parseaddr.py:1852 ms1.4%
StaticFile.__init__whitenoise/responders.py:772 ms1.4%
StaticFile.get_alternativeswhitenoise/responders.py:2072 ms1.4%
StaticFile.__init__whitenoise/responders.py:762 ms1.4%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms1.4%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms1.4%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms1.4%
StaticFile.__init__whitenoise/responders.py:722 ms1.4%
WhiteNoise.get_static_filewhitenoise/base.py:2037 ms5.7%
WhiteNoise.add_cache_headerswhitenoise/base.py:2245 ms4.3%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1765 ms4.3%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1975 ms4.3%
URLMixin.urldebug_toolbar/panels/staticfiles.py:204 ms2.8%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2054 ms2.8%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1782 ms1.4%
urlsplit<stdlib>/urllib/parse.py:5822 ms1.4%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms1.4%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2092 ms1.4%
Headers.__setitem__<stdlib>/wsgiref/headers.py:632 ms1.4%
ClientHandler.__call__django/test/client.py:2062 ms1.4%
ProjectPagesTest.test_test_page_per_environmentapps/projects/tests.py:104541 ms32.6%
Client.getdjango/test/client.py:112441 ms32.6%
RequestFactory.getdjango/test/client.py:47541 ms32.6%
RequestFactory.genericdjango/test/client.py:67141 ms32.6%
Client.requestdjango/test/client.py:108241 ms32.6%
ClientHandler.__call__django/test/client.py:18641 ms32.6%
BaseHandler.get_responsedjango/core/handlers/base.py:14141 ms32.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms32.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13041 ms32.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms32.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30941 ms32.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms32.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12341 ms32.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms32.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30940 ms31.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5540 ms31.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30940 ms31.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5540 ms31.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30940 ms31.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5540 ms31.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30940 ms31.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5540 ms31.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30940 ms31.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5540 ms31.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30940 ms31.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5540 ms31.2%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3440 ms31.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5540 ms31.2%
BaseHandler._get_responsedjango/core/handlers/base.py:19840 ms31.2%
project_testapps/projects/urls.py:31111 ms8.5%
history_for_testapps/projects/analytics.py:819 TestRun.objects.filter(test=test)5 ms4.3%
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:16244 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:794 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms2.8%
Cursor.executepsycopg/cursor.py:1134 ms2.8%
Connection.waitpsycopg/connection.py:4954 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:3172 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
Col.as_sqldjango/db/models/expressions.py:13252 ms1.4%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)5 ms4.3%
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:16114 ms2.8%
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:12662 ms1.4%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:13442 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms1.4%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
Join.as_sqldjango/db/models/sql/datastructures.py:932 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 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:286 context = shell(request, project, "tests") | filters(request, project, default_days=90)5 ms4.3%
filtersapps/projects/urls.py:794 ms2.8%
resolve_scopeapps/projects/analytics.py:198 selected = Environment.objects.filter(project=project, name=env).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 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%
resolve_scopeapps/projects/analytics.py:206 environments=list(Environment.objects.filter(project=project, kind=env)),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:1072 ms1.4%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {2 ms1.4%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms1.4%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.4%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.4%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms1.4%
get_userdjango/contrib/auth/middleware.py:202 ms1.4%
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: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:3125 ms4.3%
flakiness_for_testapps/projects/flakiness.py:326 history = observations_for(test.project, [test.id], since).get(test.id, [])5 ms4.3%
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%
observations_forapps/projects/flakiness.py:169 for row in Session.objects.filter(id__in={row[4] for row in test_runs}).values_list(2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ValuesListIterable.__iter__django/db/models/query.py:2382 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%
observations_forapps/projects/flakiness.py:186 perfs = list(perfs)2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
In.as_sqldjango/db/models/lookups.py:5562 ms1.4%
project_testapps/projects/urls.py:2954 ms2.8%
latest_perfapps/projects/analytics.py:846 return perfs.select_related("profile", "environment").order_by("-date").first()4 ms2.8%
QuerySet.firstdjango/db/models/query.py:11454 ms2.8%
QuerySet.__iter__django/db/models/query.py:3904 ms2.8%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.8%
ModelIterable.__iter__django/db/models/query.py:954 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:3302 ms1.4%
BaseExpression.select_formatdjango/db/models/expressions.py:4992 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:2822 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:12812 ms1.4%
project_testapps/projects/urls.py:285 test = get_object_or_404(Test, slug=test_slug, project=project)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%
project_testapps/projects/urls.py:2892 ms1.4%
environment_stats_for_testapps/projects/analytics.py:748 for perf in TestPerf.objects.filter(test=test, date__gte=since).select_related("environment").order_by("date"):2 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:16622 ms1.4%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms1.4%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms1.4%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms1.4%
Cursor.fetchmanypsycopg/cursor.py:2682 ms1.4%
project_testapps/projects/urls.py:3002 ms1.4%
latest_documentapps/projects/profiles.py:303 ).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
project_testapps/projects/urls.py:3072 ms1.4%
build_call_treeapps/projects/profiles.py:6272 ms1.4%
StackResolver.framesapps/projects/profiles.py:5792 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:4672 ms1.4%
Count.resolve_expressiondjango/db/models/aggregates.py:2612 ms1.4%
Aggregate.resolve_expressiondjango/db/models/aggregates.py:1222 ms1.4%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms1.4%
Func.copydjango/db/models/expressions.py:11332 ms1.4%
BaseExpression.copydjango/db/models/expressions.py:4442 ms1.4%
copy<stdlib>/copy.py:1002 ms1.4%
project_testapps/projects/urls.py:3392 ms1.4%
BaseModelForm.__init__django/forms/models.py:3672 ms1.4%
Model.__init__django/db/models/base.py:5692 ms1.4%
project_testapps/projects/urls.py:342 return render(request, "project_test.html", context)2 ms1.4%
renderdjango/shortcuts.py:252 ms1.4%
render_to_stringdjango/template/loader.py:622 ms1.4%
Template.renderdjango/template/backends/django.py:1072 ms1.4%
Template.renderdjango/template/base.py:1742 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%
ExtendsNode.renderdjango/template/loader_tags.py:1602 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%
ExtendsNode.renderdjango/template/loader_tags.py:1602 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%
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%
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%
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:1272 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9812 ms1.4%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)11 ms8.5%
ClientMixin.force_logindjango/test/client.py:8559 ms7.1%
ClientMixin._logindjango/test/client.py:8817 ms5.7%
logindjango/contrib/auth/__init__.py:1875 ms4.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4344 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%
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%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.4%
Atomic.__exit__django/db/transaction.py:2472 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.4%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 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%
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%
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%
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: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:2632 ms1.4%
SQLCompiler.get_select.<locals>.<genexpr>django/db/models/sql/compiler.py:2682 ms1.4%
ClientMixin._logindjango/test/client.py:8762 ms1.4%
ClientMixin.sessiondjango/test/client.py:8122 ms1.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms1.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 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%
TestData.__get__django/test/testcases.py:13672 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:2012 ms1.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()5 ms4.3%
TestCase._fixture_teardowndjango/test/testcases.py:14955 ms4.3%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4834 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:794 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1034 ms2.8%
Cursor.executepsycopg/cursor.py:1134 ms2.8%
Connection.waitpsycopg/connection.py:4954 ms2.8%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4842 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%
Estimated from 71 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1041
response = self.client.get(url)
ProjectPagesTest.test_test_page_per_environment
· Libraries
|
23 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
16 ms |
|
apps/projects/urls.py:342
return render(request, "project_test.html", context)
project_test
· Templates
|
16 ms |
|
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Database
|
11 ms |
|
apps/projects/analytics.py:806
for perf in TestPerf.objects.filter(test=test)
history_for_test
· Database
|
9 ms |
|
apps/projects/analytics.py:846
return perfs.select_related("profile", "environment").order_by("-date").first()
latest_perf
· Database
|
7 ms |
|
apps/projects/analytics.py:819
TestRun.objects.filter(test=test)
history_for_test
· Database
|
5 ms |
|
apps/projects/analytics.py:748
for perf in TestPerf.objects.filter(test=test, date__gte=since).select_related("environment").order_by("date"):
environment_stats_for_test
· Database
|
4 ms |
|
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell
· Database
|
2 ms |
|
apps/orgs/models.py:65
return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()
Organization.is_owner
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.06 ms |
| _django_db_marker function | 0.04 ms |
| _django_set_urlconf function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
72 queries · 31 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
6×
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 "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…
4×
SELECT "projects_environment"."id", "projects_environment"."project_id", "projects_environment"."name", "projects_environment"."kind", "projects_environment"."provider", "projects_environment"."details", "projects_environment"."date_first_seen", "projects_environment"."date_last_seen" FROM "project…
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:1041
|
110 ms |
|
call setUp
apps/projects/tests.py:954
|
11 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
5 ms |
| setup pytest internals | 0.74 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 127 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 75 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 135 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 99 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 147 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 113 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 137 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 133 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 129 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 166 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 76 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 144 ms | Profile |