Tests / apps/projects/tests.py
ProjectPagesTest::test_projects_page
First seen 7 hours ago in 78a4357
CI
github-actions:test
5 runs
Average
140 ms
median 148 ms
max 168 ms
max 168 ms
Phases
Setup 0.68 ms
Call 139 ms
Teardown 0.20 ms
Categories
Database 99 ms
App code 2 ms
Other (Libraries, Templates, Unsampled, pytest) 39 ms
84 database queries per run
Needs 13 KB of memory (max 64 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 13 minutes ago ·
open run
call153 ms99.3%
ProjectPagesTest.test_projects_pageapps/projects/tests.py:1105 response = self.client.get(reverse("projects"), follow=True)137 ms88.5%
Client.getdjango/test/client.py:1133108 ms70.1%
Client._handle_redirectsdjango/test/client.py:1384108 ms70.1%
ClientMixin._follow_redirectdjango/test/client.py:1002108 ms70.1%
Client.getdjango/test/client.py:1124108 ms70.1%
RequestFactory.getdjango/test/client.py:475108 ms70.1%
RequestFactory.genericdjango/test/client.py:671108 ms70.1%
Client.requestdjango/test/client.py:1082108 ms70.1%
ClientHandler.__call__django/test/client.py:186108 ms70.1%
BaseHandler.get_responsedjango/core/handlers/base.py:141108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:130108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
MiddlewareMixin.__call__django/utils/deprecation.py:309108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:123108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
MiddlewareMixin.__call__django/utils/deprecation.py:309108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
MiddlewareMixin.__call__django/utils/deprecation.py:309108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
MiddlewareMixin.__call__django/utils/deprecation.py:309108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
MiddlewareMixin.__call__django/utils/deprecation.py:309108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
MiddlewareMixin.__call__django/utils/deprecation.py:309108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
MiddlewareMixin.__call__django/utils/deprecation.py:309108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:34108 ms70.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55108 ms70.1%
BaseHandler._get_responsedjango/core/handlers/base.py:198108 ms70.1%
project_dashboardapps/projects/urls.py:14418 ms11.9%
ci_vs_localapps/projects/analytics.py:73818 ms11.9%
compareapps/projects/analytics.py:65410 ms6.5%
averages_by_testapps/projects/analytics.py:631 for row in daily_totals(rows)10 ms6.5%
QuerySet.__iter__django/db/models/query.py:39010 ms6.5%
QuerySet._fetch_alldjango/db/models/query.py:200010 ms6.5%
ValuesIterable.__iter__django/db/models/query.py:22210 ms6.5%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:157310 ms6.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16118 ms5.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7678 ms5.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:938 ms5.4%
SQLCompiler.get_group_bydjango/db/models/sql/compiler.py:1598 ms5.4%
Expression.__hash__django/db/models/expressions.py:5628 ms5.4%
cached_property.__get__django/utils/functional.py:478 ms5.4%
Expression.identitydjango/db/models/expressions.py:5528 ms5.4%
Expression._identitydjango/db/models/expressions.py:5338 ms5.4%
Expression._identity.<locals>.<genexpr>django/db/models/expressions.py:5338 ms5.4%
<GC>~8 ms5.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
compareapps/projects/analytics.py:6683 ms2.2%
daily_rowsapps/projects/analytics.py:636 return TestDailyStats.objects.filter(project=project, environment__in=environments, day__gte=since.date())2 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.1%
QuerySet.filterdjango/db/models/query.py:15422 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:15772 ms1.1%
categories_by_testapps/projects/analytics.py:424 for test_id, run_count, categories in rows.filter(test_id__in=test_ids).values_list(2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
compareapps/projects/analytics.py:7113 ms2.2%
compare.<locals>.side_summaryapps/projects/analytics.py:695 summaries = list(3 ms2.2%
QuerySet.__iter__django/db/models/query.py:3903 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms2.2%
ValuesListIterable.__iter__django/db/models/query.py:2383 ms2.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.1%
compareapps/projects/analytics.py:6692 ms1.1%
categories_by_testapps/projects/analytics.py:424 for test_id, run_count, categories in rows.filter(test_id__in=test_ids).values_list(2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
project_dashboardapps/projects/urls.py:15418 ms11.9%
overviewapps/projects/analytics.py:30110 ms6.5%
latest_profilesapps/projects/analytics.py:264 profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()8 ms5.4%
QuerySet.firstdjango/db/models/query.py:11458 ms5.4%
QuerySet.__iter__django/db/models/query.py:3908 ms5.4%
QuerySet._fetch_alldjango/db/models/query.py:20008 ms5.4%
ModelIterable.__iter__django/db/models/query.py:958 ms5.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16245 ms3.2%
CursorWrapper.executedjango/db/backends/utils.py:795 ms3.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms3.2%
CursorWrapper._executedjango/db/backends/utils.py:1055 ms3.2%
Cursor.executepsycopg/cursor.py:1135 ms3.2%
Connection.waitpsycopg/connection.py:4955 ms3.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16113 ms2.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7673 ms2.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:863 ms2.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:753 ms2.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3302 ms1.1%
BaseExpression.select_formatdjango/db/models/expressions.py:5002 ms1.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms1.1%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10302 ms1.1%
latest_profilesapps/projects/analytics.py:2632 ms1.1%
Scope.scoped_environmentsapps/projects/analytics.py:185 return list(Environment.objects.filter(project=self.project))2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
overviewapps/projects/analytics.py:3023 ms2.2%
result_countsapps/projects/analytics.py:2772 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.1%
QuerySet.filterdjango/db/models/query.py:15422 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.1%
result_countsapps/projects/analytics.py:2832 ms1.1%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
overviewapps/projects/analytics.py:291 stats = profiles.aggregate(2 ms1.1%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
overviewapps/projects/analytics.py:300 ).aggregate(wall=Avg("duration"), test_time=Avg("test_time"))2 ms1.1%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
overviewapps/projects/analytics.py:324 "environments": len({p.environment_id for p in profiles.only("environment_id")}),2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
project_dashboardapps/projects/urls.py:173 return render(request, "project_dashboard.html", context)18 ms11.9%
renderdjango/shortcuts.py:2517 ms10.8%
render_to_stringdjango/template/loader.py:6217 ms10.8%
Template.renderdjango/template/backends/django.py:10717 ms10.8%
Template.renderdjango/template/base.py:17417 ms10.8%
instrumented_test_renderdjango/test/utils.py:11417 ms10.8%
NodeList.renderdjango/template/base.py:109117 ms10.8%
Node.render_annotateddjango/template/base.py:105217 ms10.8%
ExtendsNode.renderdjango/template/loader_tags.py:16017 ms10.8%
instrumented_test_renderdjango/test/utils.py:11417 ms10.8%
NodeList.renderdjango/template/base.py:109117 ms10.8%
Node.render_annotateddjango/template/base.py:105217 ms10.8%
ExtendsNode.renderdjango/template/loader_tags.py:16017 ms10.8%
instrumented_test_renderdjango/test/utils.py:11417 ms10.8%
NodeList.renderdjango/template/base.py:109117 ms10.8%
Node.render_annotateddjango/template/base.py:105217 ms10.8%
BlockNode.renderdjango/template/loader_tags.py:6615 ms9.7%
NodeList.renderdjango/template/base.py:109115 ms9.7%
Node.render_annotateddjango/template/base.py:105215 ms9.7%
BlockNode.renderdjango/template/loader_tags.py:6610 ms6.5%
NodeList.renderdjango/template/base.py:109110 ms6.5%
Node.render_annotateddjango/template/base.py:105210 ms6.5%
IfNode.renderdjango/template/defaulttags.py:3335 ms3.2%
NodeList.renderdjango/template/base.py:10915 ms3.2%
Node.render_annotateddjango/template/base.py:10525 ms3.2%
ForNode.renderdjango/template/defaulttags.py:2493 ms2.2%
Node.render_annotateddjango/template/base.py:10523 ms2.2%
IncludeNode.renderdjango/template/loader_tags.py:2113 ms2.2%
Template.renderdjango/template/base.py:1763 ms2.2%
instrumented_test_renderdjango/test/utils.py:1142 ms1.1%
NodeList.renderdjango/template/base.py:10912 ms1.1%
Node.render_annotateddjango/template/base.py:10522 ms1.1%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.1%
Template.renderdjango/template/base.py:1762 ms1.1%
instrumented_test_renderdjango/test/utils.py:1142 ms1.1%
NodeList.renderdjango/template/base.py:10912 ms1.1%
Node.render_annotateddjango/template/base.py:10522 ms1.1%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.1%
Node.render_annotateddjango/template/base.py:10522 ms1.1%
instrumented_test_renderdjango/test/utils.py:1132 ms1.1%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.1%
NodeList.renderdjango/template/base.py:10912 ms1.1%
Node.render_annotateddjango/template/base.py:10522 ms1.1%
ForNode.renderdjango/template/defaulttags.py:2562 ms1.1%
ForNode.renderdjango/template/defaulttags.py:1962 ms1.1%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.1%
Node.render_annotateddjango/template/base.py:10522 ms1.1%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.1%
Template.renderdjango/template/base.py:1762 ms1.1%
instrumented_test_renderdjango/test/utils.py:1142 ms1.1%
NodeList.renderdjango/template/base.py:10912 ms1.1%
Node.render_annotateddjango/template/base.py:10522 ms1.1%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.1%
IfNode.renderdjango/template/defaulttags.py:3335 ms3.2%
NodeList.renderdjango/template/base.py:10915 ms3.2%
Node.render_annotateddjango/template/base.py:10525 ms3.2%
IfNode.renderdjango/template/defaulttags.py:3333 ms2.2%
NodeList.renderdjango/template/base.py:10913 ms2.2%
Node.render_annotateddjango/template/base.py:10523 ms2.2%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.1%
Node.render_annotateddjango/template/base.py:10522 ms1.1%
SimpleNode.renderdjango/template/library.py:3252 ms1.1%
purlft/templatetags/helpers.py:292 ms1.1%
Project.urlapps/projects/models.py:59 return reverse(name, args=[self.organization.slug, self.slug, *args])2 ms1.1%
reversedjango/urls/base.py:552 ms1.1%
SimpleNode.renderdjango/template/library.py:3252 ms1.1%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms1.1%
_render_iconheroicons/templatetags/heroicons.py:392 ms1.1%
_render_iconheroicons/__init__.py:632 ms1.1%
tostring<stdlib>/xml/etree/ElementTree.py:11102 ms1.1%
ElementTree.write<stdlib>/xml/etree/ElementTree.py:7492 ms1.1%
_serialize_xml<stdlib>/xml/etree/ElementTree.py:9122 ms1.1%
_serialize_xml<stdlib>/xml/etree/ElementTree.py:9052 ms1.1%
_escape_attrib<stdlib>/xml/etree/ElementTree.py:10532 ms1.1%
CsrfTokenNode.renderdjango/template/defaulttags.py:782 ms1.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.1%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.1%
csrf.<locals>._get_valdjango/template/context_processors.py:252 ms1.1%
get_tokendjango/middleware/csrf.py:1142 ms1.1%
_mask_cipher_secretdjango/middleware/csrf.py:642 ms1.1%
_get_new_csrf_stringdjango/middleware/csrf.py:562 ms1.1%
get_random_stringdjango/utils/crypto.py:622 ms1.1%
get_random_string.<locals>.<genexpr>django/utils/crypto.py:622 ms1.1%
Random.choice<stdlib>/random.py:3542 ms1.1%
StaticNode.renderdjango/templatetags/static.py:1162 ms1.1%
StaticNode.urldjango/templatetags/static.py:1132 ms1.1%
StaticNode.handle_simpledjango/templatetags/static.py:1292 ms1.1%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms1.1%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms1.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1842 ms1.1%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5292 ms1.1%
renderdjango/shortcuts.py:262 ms1.1%
HttpResponse.__init__django/http/response.py:3822 ms1.1%
HttpResponse.contentdjango/http/response.py:4142 ms1.1%
HttpResponseBase.make_bytesdjango/http/response.py:3222 ms1.1%
project_dashboardapps/projects/urls.py:16510 ms6.5%
fix_nextapps/projects/analytics.py:54410 ms6.5%
latest_profilesapps/projects/analytics.py:264 profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()10 ms6.5%
QuerySet.firstdjango/db/models/query.py:114510 ms6.5%
QuerySet.__iter__django/db/models/query.py:39010 ms6.5%
QuerySet._fetch_alldjango/db/models/query.py:200010 ms6.5%
ModelIterable.__iter__django/db/models/query.py:958 ms5.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16115 ms3.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7675 ms3.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:865 ms3.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:755 ms3.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3173 ms2.2%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.1%
Col.as_sqldjango/db/models/expressions.py:13232 ms1.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2742 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.2%
Cursor.executepsycopg/cursor.py:1133 ms2.2%
Connection.waitpsycopg/connection.py:4953 ms2.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms2.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms2.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms2.2%
ModelIterable.__iter__django/db/models/query.py:1072 ms1.1%
project_dashboardapps/projects/urls.py:14210 ms6.5%
flaky_reportapps/projects/flakiness.py:25310 ms6.5%
compute_flaky_reportapps/projects/flakiness.py:2685 ms3.2%
failing_test_idsapps/projects/flakiness.py:203 TestRun.objects.filter(2 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.1%
QuerySet.filterdjango/db/models/query.py:15422 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.1%
Query.build_lookupdjango/db/models/sql/query.py:14402 ms1.1%
Lookup.__init__django/db/models/lookups.py:352 ms1.1%
RelatedLookupMixin.get_prep_lookupdjango/db/models/fields/related_lookups.py:1042 ms1.1%
failing_test_idsapps/projects/flakiness.py:2132 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.1%
QuerySet.filterdjango/db/models/query.py:15422 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.1%
failing_test_idsapps/projects/flakiness.py:212 ids |= set(2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
compute_flaky_reportapps/projects/flakiness.py:2725 ms3.2%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
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.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
observations_forapps/projects/flakiness.py:186 perfs = list(perfs)2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms1.1%
project_dashboardapps/projects/urls.py:1707 ms4.3%
environment_rowsapps/projects/analytics.py:234 for row in project.session_set.filter(date_created__gte=since).values("environment").annotate(count=Count("id"))3 ms2.2%
QuerySet.__iter__django/db/models/query.py:3903 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms2.2%
ValuesIterable.__iter__django/db/models/query.py:2223 ms2.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms2.2%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.2%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.2%
Cursor.executepsycopg/cursor.py:1133 ms2.2%
Connection.waitpsycopg/connection.py:4953 ms2.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms2.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms2.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms2.2%
environment_rowsapps/projects/analytics.py:221 for row in Profile.objects.filter(project=project, status=Profile.StatusTypes.PROCESSED, started_at__gte=since)2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
environment_rowsapps/projects/analytics.py:237 for environment in Environment.objects.filter(project=project):2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.1%
project_dashboardapps/projects/urls.py:1357 ms4.3%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {5 ms3.2%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))3 ms2.2%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.1%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms1.1%
get_userdjango/contrib/auth/middleware.py:202 ms1.1%
get_userdjango/contrib/auth/__init__.py:3182 ms1.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.1%
QuerySet.getdjango/db/models/query.py:6352 ms1.1%
QuerySet.__len__django/db/models/query.py:3722 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3302 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9812 ms1.1%
shellapps/projects/urls.py:732 ms1.1%
can_manageapps/projects/urls.py:442 ms1.1%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms1.1%
QuerySet.existsdjango/db/models/query.py:13372 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
project_dashboardapps/projects/urls.py:1637 ms4.3%
slow_testsapps/projects/analytics.py:453 TestSnapshot.objects.filter(scope.environment_q(), test_id__in=ids)3 ms2.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.1%
QuerySet.filterdjango/db/models/query.py:15422 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:16072 ms1.1%
Query._get_coldjango/db/models/sql/query.py:4512 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.1%
slow_testsapps/projects/analytics.py:4502 ms1.1%
categories_by_testapps/projects/analytics.py:424 for test_id, run_count, categories in rows.filter(test_id__in=test_ids).values_list(2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
slow_testsapps/projects/analytics.py:465 suite_time = scope.profiles().aggregate(avg=Avg("test_time"))["avg"] or 02 ms1.1%
Scope.profilesapps/projects/analytics.py:175 return Profile.objects.filter(2 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.1%
project_dashboardapps/projects/urls.py:1645 ms3.2%
memory_testsapps/projects/analytics.py:506 .annotate(2 ms1.1%
QuerySet.annotatedjango/db/models/query.py:16992 ms1.1%
QuerySet._annotatedjango/db/models/query.py:17512 ms1.1%
Query.add_annotationdjango/db/models/sql/query.py:12422 ms1.1%
Aggregate.resolve_expressiondjango/db/models/aggregates.py:1222 ms1.1%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:3012 ms1.1%
F.resolve_expressiondjango/db/models/expressions.py:9042 ms1.1%
memory_testsapps/projects/analytics.py:504 rows = list(2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.1%
memory_testsapps/projects/analytics.py:518 scope.perf()2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.1%
project_dashboardapps/projects/urls.py:1453 ms2.2%
category_breakdownapps/projects/analytics.py:359 summaries = list(3 ms2.2%
QuerySet.__iter__django/db/models/query.py:3903 ms2.2%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms2.2%
ValuesListIterable.__iter__django/db/models/query.py:2383 ms2.2%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15733 ms2.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.1%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.1%
project_dashboardapps/projects/urls.py:1563 ms2.2%
suite_trendapps/projects/analytics.py:3342 ms1.1%
QuerySet.values_listdjango/db/models/query.py:14582 ms1.1%
QuerySet._valuesdjango/db/models/query.py:14092 ms1.1%
Query.set_valuesdjango/db/models/sql/query.py:26052 ms1.1%
Query.add_fieldsdjango/db/models/sql/query.py:22692 ms1.1%
Query.trim_joinsdjango/db/models/sql/query.py:20072 ms1.1%
suite_trendapps/projects/analytics.py:338 for env_id, name, kind, started_at, duration, test_time, number in rows:2 ms1.1%
QuerySet.__iter__django/db/models/query.py:3902 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms1.1%
project_dashboardapps/projects/urls.py:1402 ms1.1%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))2 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.1%
QuerySet.filterdjango/db/models/query.py:15422 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:16072 ms1.1%
Client.getdjango/test/client.py:112428 ms18.3%
RequestFactory.getdjango/test/client.py:47528 ms18.3%
RequestFactory.genericdjango/test/client.py:67128 ms18.3%
Client.requestdjango/test/client.py:108228 ms18.3%
ClientHandler.__call__django/test/client.py:17320 ms12.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6220 ms12.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10420 ms12.9%
WhiteNoise.add_fileswhitenoise/base.py:10820 ms12.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12013 ms8.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13112 ms7.6%
WhiteNoise.get_static_filewhitenoise/base.py:2088 ms5.4%
StaticFile.__init__whitenoise/responders.py:743 ms2.2%
parsedate<stdlib>/email/_parseaddr.py:1852 ms1.1%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms1.1%
StaticFile.__init__whitenoise/responders.py:762 ms1.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms1.1%
StaticFile.__init__whitenoise/responders.py:732 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1762 ms1.1%
formatdate<stdlib>/email/utils.py:2662 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms1.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms1.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1155 ms3.2%
scantreewhitenoise/base.py:2625 ms3.2%
scantreewhitenoise/base.py:2625 ms3.2%
scantreewhitenoise/base.py:2642 ms1.1%
scantreewhitenoise/base.py:2622 ms1.1%
scantreewhitenoise/base.py:2622 ms1.1%
scantreewhitenoise/base.py:2622 ms1.1%
scantreewhitenoise/base.py:2642 ms1.1%
scantreewhitenoise/base.py:2602 ms1.1%
ClientHandler.__call__django/test/client.py:1868 ms5.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1418 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1308 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1238 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:348 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms5.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1988 ms5.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:595 ms3.2%
homeapps/orgs/views.py:74 if not projects.exists():2 ms1.1%
QuerySet.existsdjango/db/models/query.py:13372 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
homeapps/orgs/views.py:77 if in_organization.count() == 1:2 ms1.1%
QuerySet.countdjango/db/models/query.py:6102 ms1.1%
Query.get_countdjango/db/models/sql/query.py:6512 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
homeapps/orgs/views.py:78 return redirect(in_organization.select_related("organization").get().url())2 ms1.1%
QuerySet.getdjango/db/models/query.py:6352 ms1.1%
QuerySet.__len__django/db/models/query.py:3722 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:563 ms2.2%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:793 ms2.2%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms2.2%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms2.2%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms2.2%
get_userdjango/contrib/auth/middleware.py:203 ms2.2%
get_userdjango/contrib/auth/__init__.py:3113 ms2.2%
_get_user_session_keydjango/contrib/auth/__init__.py:953 ms2.2%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms2.2%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2513 ms2.2%
SessionStore.loaddjango/contrib/sessions/backends/db.py:563 ms2.2%
SessionBase.decodedjango/contrib/sessions/backends/base.py:1353 ms2.2%
loadsdjango/core/signing.py:1712 ms1.1%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()10 ms6.5%
TestCase._fixture_teardowndjango/test/testcases.py:149510 ms6.5%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4838 ms5.4%
CursorWrapper.executedjango/db/backends/utils.py:798 ms5.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:928 ms5.4%
CursorWrapper._executedjango/db/backends/utils.py:1038 ms5.4%
Cursor.executepsycopg/cursor.py:1138 ms5.4%
Connection.waitpsycopg/connection.py:4958 ms5.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4842 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
ProjectPagesTest.setUpapps/projects/tests.py:953 self.client.force_login(self.user)7 ms4.3%
ClientMixin.force_logindjango/test/client.py:8557 ms4.3%
ClientMixin._logindjango/test/client.py:8813 ms2.2%
logindjango/contrib/auth/__init__.py:1872 ms1.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.1%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.1%
Model.deletedjango/db/models/base.py:12982 ms1.1%
Collector.deletedjango/db/models/deletion.py:4502 ms1.1%
logindjango/contrib/auth/__init__.py:1972 ms1.1%
Signal.senddjango/dispatch/dispatcher.py:2092 ms1.1%
update_last_logindjango/contrib/auth/models.py:242 ms1.1%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms1.1%
Model.savedjango/db/models/base.py:8742 ms1.1%
Model.save_basedjango/db/models/base.py:9662 ms1.1%
Model._save_tabledjango/db/models/base.py:11102 ms1.1%
Model._do_updatedjango/db/models/base.py:12112 ms1.1%
QuerySet._updatedjango/db/models/query.py:13272 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
ClientMixin._logindjango/test/client.py:8762 ms1.1%
ClientMixin.sessiondjango/test/client.py:8122 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms1.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.1%
Atomic.__enter__django/db/transaction.py:2112 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
ClientMixin._logindjango/test/client.py:8832 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.1%
Model.savedjango/db/models/base.py:8742 ms1.1%
Model.save_basedjango/db/models/base.py:9662 ms1.1%
Model._save_tabledjango/db/models/base.py:11102 ms1.1%
Model._do_updatedjango/db/models/base.py:12112 ms1.1%
QuerySet._updatedjango/db/models/query.py:13272 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.1%
Cursor.executepsycopg/cursor.py:1132 ms1.1%
Connection.waitpsycopg/connection.py:4952 ms1.1%
Estimated from 92 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1105
response = self.client.get(reverse("projects"), follow=True)
ProjectPagesTest.test_projects_page
· Libraries
|
23 ms |
|
apps/projects/analytics.py:264
profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()
latest_profiles
· Database
|
18 ms |
|
apps/projects/urls.py:173
return render(request, "project_dashboard.html", context)
project_dashboard
· Templates
|
17 ms |
|
apps/projects/analytics.py:631
for row in daily_totals(rows)
averages_by_test
· Database
|
10 ms |
|
apps/projects/tests.py:953
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Database
|
7 ms |
|
apps/projects/analytics.py:424
for test_id, run_count, categories in rows.filter(test_id__in=test_ids).values_list(
categories_by_test
· Database
|
5 ms |
|
apps/projects/analytics.py:234
for row in project.session_set.filter(date_created__gte=since).values("environment").annotate(count=Count("id"))
environment_rows
· Database
|
3 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
3 ms |
|
apps/projects/analytics.py:695
summaries = list(
compare.<locals>.side_summary
· Database
|
3 ms |
|
apps/projects/analytics.py:359
summaries = list(
category_breakdown
· Database
|
3 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.06 ms |
| _live_server_helper function | 0.06 ms |
| _django_db_marker 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
84 queries · 41 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
7×
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…
6×
SELECT "projects_profile"."id", "projects_profile"."project_id", "projects_profile"."number", "projects_profile"."environment_id", "projects_profile"."session_id", "projects_profile"."run_id", "projects_profile"."commit_id", "projects_profile"."ingest_id", "projects_profile"."external_id", "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×
SELECT "projects_testdailystats"."test_id" AS "test_id", "projects_test"."name" AS "test__name", "projects_test"."slug" AS "test__slug", SUM("projects_testdailystats"."runs") AS "runs_sum", SUM("projects_testdailystats"."duration_sum") AS "duration_total", MAX("projects_testdailystats"."duration_ma…
3×
SELECT "projects_profile"."summary" AS "summary", "projects_profile"."test_time" AS "test_time", "projects_profile"."duration" AS "duration" FROM "projects_profile" WHERE ("projects_profile"."project_id" = %s AND "projects_profile"."started_at" >= %s AND "projects_profile"."status" IN (…) AND "proj…
Biggest pieces of work
|
call test body
apps/projects/tests.py:1105
|
137 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
10 ms |
|
call setUp
apps/projects/tests.py:953
|
7 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 13 minutes ago | CI github-actions:test | passed | 154 ms | Profile |
| 39 minutes ago | CI github-actions:test | passed | 139 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 168 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 93 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 148 ms | Profile |