Tests / apps/projects/tests.py
ProjectPagesTest::test_dashboard_without_profiles
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
88 ms
median 96 ms
max 115 ms
max 115 ms
Phases
Setup 0.72 ms
Call 87 ms
Teardown 0.18 ms
Categories
Database 61 ms
App code 2 ms
Factories 0.29 ms
Other (Libraries, Templates, pytest, Unsampled, ...) 25 ms
65 database queries per run
Needs 48 KB of memory (max 536 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call98 ms99.1%
ProjectPagesTest.test_dashboard_without_profilesapps/projects/tests.py:1007 response = self.client.get(project.url("project_dashboard"))68 ms68.5%
Client.getdjango/test/client.py:112468 ms68.5%
RequestFactory.getdjango/test/client.py:47568 ms68.5%
RequestFactory.genericdjango/test/client.py:67168 ms68.5%
Client.requestdjango/test/client.py:108268 ms68.5%
ClientHandler.__call__django/test/client.py:18643 ms43.2%
BaseHandler.get_responsedjango/core/handlers/base.py:14143 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13043 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12343 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3443 ms43.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms43.2%
BaseHandler._get_responsedjango/core/handlers/base.py:19843 ms43.2%
project_dashboardapps/projects/urls.py:14214 ms14.4%
flaky_reportapps/projects/flakiness.py:25314 ms14.4%
compute_flaky_reportapps/projects/flakiness.py:27212 ms12.6%
observations_forapps/projects/flakiness.py:161 TestRun.objects.filter(test_id__in=test_ids, date_run__gte=since, test__project=project)4 ms3.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.6%
QuerySet.filterdjango/db/models/query.py:15424 ms3.6%
QuerySet._filter_or_excludedjango/db/models/query.py:15604 ms3.6%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15704 ms3.6%
Query.add_qdjango/db/models/sql/query.py:16714 ms3.6%
Query._add_qdjango/db/models/sql/query.py:17034 ms3.6%
Query.build_filterdjango/db/models/sql/query.py:15512 ms1.8%
Query.solve_lookup_typedjango/db/models/sql/query.py:13582 ms1.8%
Query.names_to_pathdjango/db/models/sql/query.py:17762 ms1.8%
observations_forapps/projects/flakiness.py:169 for row in Session.objects.filter(id__in={row[4] for row in test_runs}).values_list(4 ms3.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.filterdjango/db/models/query.py:15422 ms1.8%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.8%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.8%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.8%
Query.build_filterdjango/db/models/sql/query.py:16112 ms1.8%
observations_forapps/projects/flakiness.py:162 .exclude(status=TestRun.StatusTypes.SKIP)2 ms1.8%
QuerySet.excludedjango/db/models/query.py:15502 ms1.8%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15682 ms1.8%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.8%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.8%
Query.build_filterdjango/db/models/sql/query.py:15772 ms1.8%
Query.setup_joinsdjango/db/models/sql/query.py:19912 ms1.8%
observations_forapps/projects/flakiness.py:163 .values_list("test_id", "date_run", "status", "failed", "session_id")2 ms1.8%
QuerySet.values_listdjango/db/models/query.py:14582 ms1.8%
QuerySet._valuesdjango/db/models/query.py:14092 ms1.8%
Query.set_valuesdjango/db/models/sql/query.py:26052 ms1.8%
Query.add_fieldsdjango/db/models/sql/query.py:22662 ms1.8%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.8%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.8%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.8%
compute_flaky_reportapps/projects/flakiness.py:271 tests = {test.id: test for test in Test.objects.filter(id__in=ids)}2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.8%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.8%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.8%
project_dashboardapps/projects/urls.py:15411 ms10.8%
overviewapps/projects/analytics.py:291 stats = profiles.aggregate(2 ms1.8%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.8%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.8%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.8%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.8%
overviewapps/projects/analytics.py:300 ).aggregate(wall=Avg("duration"), test_time=Avg("test_time"))2 ms1.8%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.8%
Query.get_aggregationdjango/db/models/sql/query.py:6282 ms1.8%
Query.get_aggregation.<locals>.<genexpr>django/db/models/sql/query.py:6272 ms1.8%
overviewapps/projects/analytics.py:3012 ms1.8%
latest_profilesapps/projects/analytics.py:2632 ms1.8%
Scope.scoped_environmentsapps/projects/analytics.py:185 return list(Environment.objects.filter(project=self.project))2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.8%
overviewapps/projects/analytics.py:3022 ms1.8%
result_countsapps/projects/analytics.py:274 sessions = Session.objects.filter(scope.environment_q(), project=scope.project, date_created__gte=since).aggregate(2 ms1.8%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.8%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
overviewapps/projects/analytics.py:3182 ms1.8%
QuerySet.countdjango/db/models/query.py:6102 ms1.8%
Query.get_countdjango/db/models/sql/query.py:6512 ms1.8%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
overviewapps/projects/analytics.py:324 "environments": len({p.environment_id for p in profiles.only("environment_id")}),2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ModelIterable.__iter__django/db/models/query.py:952 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
project_dashboardapps/projects/urls.py:1327 ms7.2%
find_projectapps/projects/urls.py:527 ms7.2%
can_viewapps/projects/urls.py:337 ms7.2%
can_manage_projectapps/projects/urls.py:38 if not user.is_authenticated:4 ms3.6%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms3.6%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms3.6%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms3.6%
get_userdjango/contrib/auth/middleware.py:204 ms3.6%
get_userdjango/contrib/auth/__init__.py:3184 ms3.6%
ModelBackend.get_userdjango/contrib/auth/backends.py:2324 ms3.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.6%
QuerySet.getdjango/db/models/query.py:6354 ms3.6%
QuerySet.__len__django/db/models/query.py:3724 ms3.6%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.6%
ModelIterable.__iter__django/db/models/query.py:954 ms3.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms3.6%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.6%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms3.6%
Cursor.executepsycopg/cursor.py:1134 ms3.6%
Connection.waitpsycopg/connection.py:4954 ms3.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.8%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.8%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.8%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms1.8%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms1.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.8%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()4 ms3.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet.filterdjango/db/models/query.py:15412 ms1.8%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:20742 ms1.8%
QuerySet.querydjango/db/models/query.py:3062 ms1.8%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.8%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.8%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.8%
Query.build_filterdjango/db/models/sql/query.py:15992 ms1.8%
Query.trim_joinsdjango/db/models/sql/query.py:20212 ms1.8%
project_dashboardapps/projects/urls.py:1634 ms3.6%
slow_testsapps/projects/analytics.py:442 rows = list(4 ms3.6%
QuerySet.__iter__django/db/models/query.py:3904 ms3.6%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.6%
ValuesIterable.__iter__django/db/models/query.py:2224 ms3.6%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15734 ms3.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.8%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.8%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
project_dashboardapps/projects/urls.py:1432 ms1.8%
environment_slotsapps/projects/analytics.py:214 return {env_id: index + 1 if index < MAX_ENVIRONMENT_SLOTS else 0 for index, env_id in enumerate(environments)}2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
project_dashboardapps/projects/urls.py:1442 ms1.8%
ci_vs_localapps/projects/analytics.py:735 local = list(Environment.objects.filter(project=project, kind=Environment.Kind.LOCAL))2 ms1.8%
project_dashboardapps/projects/urls.py:1562 ms1.8%
suite_trendapps/projects/analytics.py:338 for env_id, name, kind, started_at, duration, test_time, number in rows:2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
project_dashboardapps/projects/urls.py:1642 ms1.8%
memory_testsapps/projects/analytics.py:504 rows = list(2 ms1.8%
QuerySet.__iter__django/db/models/query.py:3902 ms1.8%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.8%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.8%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.8%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.8%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.8%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.8%
Expression.__hash__django/db/models/expressions.py:5622 ms1.8%
ClientHandler.__call__django/test/client.py:17325 ms25.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6225 ms25.2%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10425 ms25.2%
WhiteNoise.add_fileswhitenoise/base.py:10825 ms25.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12016 ms16.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13116 ms16.2%
WhiteNoise.get_static_filewhitenoise/base.py:20811 ms10.8%
StaticFile.__init__whitenoise/responders.py:735 ms5.4%
StaticFile.get_headerswhitenoise/responders.py:1765 ms5.4%
formatdate<stdlib>/email/utils.py:2664 ms3.6%
StaticFile.__init__whitenoise/responders.py:722 ms1.8%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms1.8%
WhiteNoise.get_static_filewhitenoise/base.py:2025 ms5.4%
StaticFile.__init__whitenoise/responders.py:734 ms3.6%
StaticFile.get_headerswhitenoise/responders.py:1672 ms1.8%
StaticFile.get_headerswhitenoise/responders.py:1812 ms1.8%
WhiteNoise.add_mime_headerswhitenoise/base.py:2212 ms1.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1159 ms9.0%
scantreewhitenoise/base.py:2624 ms3.6%
scantreewhitenoise/base.py:2624 ms3.6%
scantreewhitenoise/base.py:2644 ms3.6%
scantreewhitenoise/base.py:2644 ms3.6%
scantreewhitenoise/base.py:2604 ms3.6%
scantreewhitenoise/base.py:2604 ms3.6%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()23 ms23.4%
TestCase._fixture_teardowndjango/test/testcases.py:149523 ms23.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:48323 ms23.4%
CursorWrapper.executedjango/db/backends/utils.py:7923 ms23.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9223 ms23.4%
CursorWrapper._executedjango/db/backends/utils.py:10323 ms23.4%
Cursor.executepsycopg/cursor.py:11323 ms23.4%
Connection.waitpsycopg/connection.py:49523 ms23.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:20620 ms19.8%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28620 ms19.8%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7820 ms19.8%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)5 ms5.4%
ClientMixin.force_logindjango/test/client.py:8555 ms5.4%
ClientMixin._logindjango/test/client.py:8764 ms3.6%
ClientMixin.sessiondjango/test/client.py:8124 ms3.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms3.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.8%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.8%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.8%
QuerySet.existsdjango/db/models/query.py:13372 ms1.8%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.8%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.8%
Atomic.__exit__django/db/transaction.py:2472 ms1.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.8%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.8%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
ClientMixin._logindjango/test/client.py:8812 ms1.8%
logindjango/contrib/auth/__init__.py:1872 ms1.8%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms1.8%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.8%
Model.savedjango/db/models/base.py:8742 ms1.8%
Model.save_basedjango/db/models/base.py:9662 ms1.8%
Model._save_tabledjango/db/models/base.py:11672 ms1.8%
Model._do_insertdjango/db/models/base.py:12182 ms1.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.8%
QuerySet._insertdjango/db/models/query.py:19182 ms1.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.8%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.8%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.8%
Cursor.executepsycopg/cursor.py:1132 ms1.8%
Connection.waitpsycopg/connection.py:4952 ms1.8%
Estimated from 55 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1007
response = self.client.get(project.url("project_dashboard"))
ProjectPagesTest.test_dashboard_without_profiles
· Libraries
|
25 ms |
|
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Database
|
5 ms |
|
apps/projects/urls.py:38
if not user.is_authenticated:
can_manage_project
· Database
|
4 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· App code
|
4 ms |
|
apps/projects/flakiness.py:161
TestRun.objects.filter(test_id__in=test_ids, date_run__gte=since, test__project=project)
observations_for
· Database
|
4 ms |
|
apps/projects/flakiness.py:169
for row in Session.objects.filter(id__in={row[4] for row in test_runs}).values_list(
observations_for
· App code
|
4 ms |
|
apps/projects/analytics.py:442
rows = list(
slow_tests
· Database
|
4 ms |
|
apps/projects/flakiness.py:271
tests = {test.id: test for test in Test.objects.filter(id__in=ids)}
compute_flaky_report
· Database
|
2 ms |
|
apps/projects/flakiness.py:162
.exclude(status=TestRun.StatusTypes.SKIP)
observations_for
· Database
|
2 ms |
|
apps/projects/flakiness.py:163
.values_list("test_id", "date_run", "status", "failed", "session_id")
observations_for
· Database
|
2 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
65 queries · 22 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…
Biggest pieces of work
|
call test body
apps/projects/tests.py:1007
|
68 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
23 ms |
|
call setUp
apps/projects/tests.py:954
|
5 ms |
| call pytest internals | 2 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 | 99 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 48 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 96 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 72 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 115 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 65 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 107 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 96 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 94 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 114 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 52 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 97 ms | Profile |