Tests / apps/projects/tests.py
ProjectPagesTest::test_projects_page
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
130 ms
median 140 ms
max 168 ms
max 168 ms
Phases
Setup 0.63 ms
Call 129 ms
Teardown 0.18 ms
Categories
Database 96 ms
App code 3 ms
Other (Libraries, Templates, Unsampled, pytest, ...) 31 ms
84 database queries per run
Needs 36 KB of memory (max 324 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call140 ms99.4%
ProjectPagesTest.test_projects_pageapps/projects/tests.py:1107 response = self.client.get(reverse("projects"), follow=True)121 ms85.9%
Client.getdjango/test/client.py:1133100 ms71.2%
Client._handle_redirectsdjango/test/client.py:1384100 ms71.2%
ClientMixin._follow_redirectdjango/test/client.py:1002100 ms71.2%
Client.getdjango/test/client.py:1124100 ms71.2%
RequestFactory.getdjango/test/client.py:475100 ms71.2%
RequestFactory.genericdjango/test/client.py:671100 ms71.2%
Client.requestdjango/test/client.py:1082100 ms71.2%
ClientHandler.__call__django/test/client.py:18698 ms69.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14198 ms69.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5598 ms69.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13098 ms69.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5598 ms69.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30998 ms69.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5598 ms69.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12398 ms69.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5598 ms69.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30998 ms69.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5598 ms69.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30997 ms68.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5597 ms68.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30997 ms68.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5597 ms68.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30997 ms68.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5597 ms68.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30997 ms68.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5597 ms68.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30997 ms68.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5597 ms68.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3497 ms68.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5597 ms68.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19897 ms68.5%
project_dashboardapps/projects/urls.py:16519 ms13.4%
fix_nextapps/projects/analytics.py:54419 ms13.4%
latest_profilesapps/projects/analytics.py:264 profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()19 ms13.4%
QuerySet.firstdjango/db/models/query.py:114519 ms13.4%
QuerySet.__iter__django/db/models/query.py:39019 ms13.4%
QuerySet._fetch_alldjango/db/models/query.py:200019 ms13.4%
ModelIterable.__iter__django/db/models/query.py:9519 ms13.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16249 ms6.7%
CursorWrapper.executedjango/db/backends/utils.py:799 ms6.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:929 ms6.7%
CursorWrapper._executedjango/db/backends/utils.py:1059 ms6.7%
Cursor.executepsycopg/cursor.py:1139 ms6.7%
Connection.waitpsycopg/connection.py:4959 ms6.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2068 ms5.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2868 ms5.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:788 ms5.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.3%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.3%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms1.3%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16119 ms6.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7678 ms5.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:876 ms4.0%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4916 ms4.0%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.3%
Expression.__hash__django/db/models/expressions.py:5622 ms1.3%
cached_property.__get__django/utils/functional.py:472 ms1.3%
Expression.identitydjango/db/models/expressions.py:5432 ms1.3%
Signature.bind_partial<stdlib>/inspect.py:32632 ms1.3%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:4012 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.3%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.3%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms1.3%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12232 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
project_dashboardapps/projects/urls.py:15417 ms12.1%
overviewapps/projects/analytics.py:30111 ms8.1%
latest_profilesapps/projects/analytics.py:264 profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()9 ms6.7%
QuerySet.firstdjango/db/models/query.py:11459 ms6.7%
QuerySet.__iter__django/db/models/query.py:3909 ms6.7%
QuerySet._fetch_alldjango/db/models/query.py:20009 ms6.7%
ModelIterable.__iter__django/db/models/query.py:958 ms5.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16114 ms2.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.3%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3592 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms1.3%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:794 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.3%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.3%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms1.3%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:1322 ms1.3%
Model.from_dbdjango/db/models/base.py:6052 ms1.3%
Model.__init__django/db/models/base.py:5132 ms1.3%
latest_profilesapps/projects/analytics.py:2632 ms1.3%
Scope.scoped_environmentsapps/projects/analytics.py:185 return list(Environment.objects.filter(project=self.project))2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
overviewapps/projects/analytics.py:291 stats = profiles.aggregate(2 ms1.3%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.3%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
overviewapps/projects/analytics.py:300 ).aggregate(wall=Avg("duration"), test_time=Avg("test_time"))2 ms1.3%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.3%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
overviewapps/projects/analytics.py:3022 ms1.3%
result_countsapps/projects/analytics.py:283 ).aggregate(total=Sum(F("tests_count") - F("skipped_count")), failed=Sum(F("failed_count") + F("error_count")))2 ms1.3%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.3%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_dashboardapps/projects/urls.py:14215 ms10.7%
flaky_reportapps/projects/flakiness.py:25311 ms8.1%
compute_flaky_reportapps/projects/flakiness.py:2726 ms4.0%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
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.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
observations_forapps/projects/flakiness.py:189 for row in Profile.objects.filter(id__in={row[3] for row in perfs}).values_list(2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms1.3%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms1.3%
compute_flaky_reportapps/projects/flakiness.py:2684 ms2.7%
failing_test_idsapps/projects/flakiness.py:202 ids = set(2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
failing_test_idsapps/projects/flakiness.py:212 ids |= set(2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
compute_flaky_reportapps/projects/flakiness.py:271 tests = {test.id: test for test in Test.objects.filter(id__in=ids)}2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
flaky_reportapps/projects/flakiness.py:2504 ms2.7%
data_versionapps/projects/flakiness.py:228 ingest = Ingest.objects.filter(project=project).aggregate(latest=Max("id"))["latest"]2 ms1.3%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.3%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
data_versionapps/projects/flakiness.py:229 profile = Profile.objects.filter(project=project).aggregate(latest=Max("date_processed"))["latest"]2 ms1.3%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.3%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
project_dashboardapps/projects/urls.py:1459 ms6.7%
category_breakdownapps/projects/analytics.py:3604 ms2.7%
Scope.profilesapps/projects/analytics.py:1752 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.filterdjango/db/models/query.py:15422 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:15512 ms1.3%
Query.solve_lookup_typedjango/db/models/sql/query.py:13582 ms1.3%
Scope.profilesapps/projects/analytics.py:1802 ms1.3%
category_breakdownapps/projects/analytics.py:359 summaries = list(4 ms2.7%
QuerySet.__iter__django/db/models/query.py:3904 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.7%
ValuesListIterable.__iter__django/db/models/query.py:2372 ms1.3%
Query.get_compilerdjango/db/models/sql/query.py:3692 ms1.3%
BaseConnectionHandler.__getitem__django/utils/connection.py:582 ms1.3%
Local.__getattr__asgiref/local.py:1202 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:882 ms1.3%
WhereNode.split_having_qualifydjango/db/models/sql/where.py:472 ms1.3%
category_breakdownapps/projects/analytics.py:3622 ms1.3%
QuerySet.order_bydjango/db/models/query.py:17722 ms1.3%
project_dashboardapps/projects/urls.py:1358 ms5.4%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {8 ms5.4%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))4 ms2.7%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.3%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.3%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms1.3%
get_userdjango/contrib/auth/middleware.py:202 ms1.3%
get_userdjango/contrib/auth/__init__.py:3182 ms1.3%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.getdjango/db/models/query.py:6352 ms1.3%
QuerySet.__len__django/db/models/query.py:3722 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.3%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.3%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
org_shellapps/orgs/views.py:422 ms1.3%
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.3%
QuerySet.existsdjango/db/models/query.py:13372 ms1.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_dashboardapps/projects/urls.py:1326 ms4.0%
find_projectapps/projects/urls.py:49 project = get_object_or_404(6 ms4.0%
get_object_or_404django/shortcuts.py:906 ms4.0%
QuerySet.getdjango/db/models/query.py:6354 ms2.7%
QuerySet.__len__django/db/models/query.py:3724 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.7%
ModelIterable.__iter__django/db/models/query.py:954 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16114 ms2.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7674 ms2.7%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:864 ms2.7%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:754 ms2.7%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms1.3%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
Col.as_sqldjango/db/models/expressions.py:13252 ms1.3%
SQLCompiler.quote_name_unless_aliasdjango/db/backends/postgresql/compiler.py:342 ms1.3%
QuerySet.getdjango/db/models/query.py:6252 ms1.3%
QuerySet.filterdjango/db/models/query.py:15422 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:15512 ms1.3%
Query.solve_lookup_typedjango/db/models/sql/query.py:13582 ms1.3%
Query.names_to_pathdjango/db/models/sql/query.py:18572 ms1.3%
project_dashboardapps/projects/urls.py:1706 ms4.0%
environment_rowsapps/projects/analytics.py:221 for row in Profile.objects.filter(project=project, status=Profile.StatusTypes.PROCESSED, started_at__gte=since)2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
environment_rowsapps/projects/analytics.py:234 for row in project.session_set.filter(date_created__gte=since).values("environment").annotate(count=Count("id"))2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
environment_rowsapps/projects/analytics.py:237 for environment in Environment.objects.filter(project=project):2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_dashboardapps/projects/urls.py:173 return render(request, "project_dashboard.html", context)6 ms4.0%
renderdjango/shortcuts.py:256 ms4.0%
render_to_stringdjango/template/loader.py:626 ms4.0%
Template.renderdjango/template/backends/django.py:1076 ms4.0%
Template.renderdjango/template/base.py:1746 ms4.0%
instrumented_test_renderdjango/test/utils.py:1146 ms4.0%
NodeList.renderdjango/template/base.py:10916 ms4.0%
Node.render_annotateddjango/template/base.py:10526 ms4.0%
ExtendsNode.renderdjango/template/loader_tags.py:1606 ms4.0%
instrumented_test_renderdjango/test/utils.py:1146 ms4.0%
NodeList.renderdjango/template/base.py:10916 ms4.0%
Node.render_annotateddjango/template/base.py:10526 ms4.0%
ExtendsNode.renderdjango/template/loader_tags.py:1606 ms4.0%
instrumented_test_renderdjango/test/utils.py:1146 ms4.0%
NodeList.renderdjango/template/base.py:10916 ms4.0%
Node.render_annotateddjango/template/base.py:10526 ms4.0%
BlockNode.renderdjango/template/loader_tags.py:666 ms4.0%
NodeList.renderdjango/template/base.py:10916 ms4.0%
Node.render_annotateddjango/template/base.py:10526 ms4.0%
BlockNode.renderdjango/template/loader_tags.py:664 ms2.7%
NodeList.renderdjango/template/base.py:10914 ms2.7%
Node.render_annotateddjango/template/base.py:10524 ms2.7%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.3%
Template.renderdjango/template/base.py:1762 ms1.3%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.3%
NodeList.renderdjango/template/base.py:10912 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.3%
Template.renderdjango/template/base.py:1762 ms1.3%
instrumented_test_renderdjango/test/utils.py:1142 ms1.3%
NodeList.renderdjango/template/base.py:10912 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.3%
Template.renderdjango/template/base.py:1762 ms1.3%
instrumented_test_renderdjango/test/utils.py:1142 ms1.3%
NodeList.renderdjango/template/base.py:10912 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
VariableNode.renderdjango/template/base.py:11562 ms1.3%
render_value_in_contextdjango/template/base.py:11342 ms1.3%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.3%
NodeList.renderdjango/template/base.py:10912 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
SimpleNode.renderdjango/template/library.py:3252 ms1.3%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms1.3%
_render_iconheroicons/templatetags/heroicons.py:392 ms1.3%
_render_iconheroicons/__init__.py:452 ms1.3%
deepcopy<stdlib>/copy.py:1372 ms1.3%
project_dashboardapps/projects/urls.py:1444 ms2.7%
ci_vs_localapps/projects/analytics.py:734 ci = list(Environment.objects.filter(project=project, kind=Environment.Kind.CI))2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.3%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.3%
ci_vs_localapps/projects/analytics.py:735 local = list(Environment.objects.filter(project=project, kind=Environment.Kind.LOCAL))2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_dashboardapps/projects/urls.py:1634 ms2.7%
slow_testsapps/projects/analytics.py:442 rows = list(2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesIterable.__iter__django/db/models/query.py:2222 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
slow_testsapps/projects/analytics.py:4502 ms1.3%
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.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_dashboardapps/projects/urls.py:136 has_profiles = Profile.objects.filter(project=project).exists()2 ms1.3%
QuerySet.existsdjango/db/models/query.py:13372 ms1.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_dashboardapps/projects/urls.py:1402 ms1.3%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3082 ms1.3%
CommonMiddleware.process_requestdjango/middleware/common.py:482 ms1.3%
HttpRequest.get_hostdjango/http/request.py:1942 ms1.3%
ClientHandler.__call__django/test/client.py:1782 ms1.3%
__init____init__:-12 ms1.3%
WSGIRequest.__init__django/core/handlers/wsgi.py:732 ms1.3%
Client.getdjango/test/client.py:112421 ms14.8%
RequestFactory.getdjango/test/client.py:47521 ms14.8%
RequestFactory.genericdjango/test/client.py:67121 ms14.8%
Client.requestdjango/test/client.py:108221 ms14.8%
ClientHandler.__call__django/test/client.py:17321 ms14.8%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6221 ms14.8%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10421 ms14.8%
WhiteNoise.add_fileswhitenoise/base.py:10821 ms14.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12019 ms13.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13119 ms13.4%
WhiteNoise.get_static_filewhitenoise/base.py:2039 ms6.7%
WhiteNoise.add_cache_headerswhitenoise/base.py:2249 ms6.7%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1769 ms6.7%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1979 ms6.7%
URLMixin.urldebug_toolbar/panels/staticfiles.py:218 ms5.4%
<GC>~8 ms5.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms1.3%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms1.3%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms1.3%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2092 ms1.3%
WhiteNoise.get_static_filewhitenoise/base.py:2089 ms6.7%
StaticFile.__init__whitenoise/responders.py:762 ms1.3%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1882 ms1.3%
StaticFile.__init__whitenoise/responders.py:732 ms1.3%
StaticFile.get_headerswhitenoise/responders.py:1762 ms1.3%
StaticFile.__init__whitenoise/responders.py:722 ms1.3%
StaticFile.get_file_statswhitenoise/responders.py:1582 ms1.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms1.3%
scantreewhitenoise/base.py:2602 ms1.3%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()17 ms12.1%
TestCase._fixture_teardowndjango/test/testcases.py:149715 ms10.7%
TestCase._rollback_atomicsdjango/test/testcases.py:140515 ms10.7%
Atomic.__exit__django/db/transaction.py:28315 ms10.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:2615 ms10.7%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:41315 ms10.7%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:37115 ms10.7%
CursorWrapper.executedjango/db/backends/utils.py:7915 ms10.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9215 ms10.7%
CursorWrapper._executedjango/db/backends/utils.py:10315 ms10.7%
Cursor.executepsycopg/cursor.py:11315 ms10.7%
Connection.waitpsycopg/connection.py:49515 ms10.7%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms1.3%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4842 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
ProjectPagesTest.setUpapps/projects/tests.py:954 self.client.force_login(self.user)2 ms1.3%
ClientMixin.force_logindjango/test/client.py:8552 ms1.3%
ClientMixin._logindjango/test/client.py:8812 ms1.3%
logindjango/contrib/auth/__init__.py:1872 ms1.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms1.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms1.3%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms1.3%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1262 ms1.3%
dumpsdjango/core/signing.py:1512 ms1.3%
Signer.sign_objectdjango/core/signing.py:2262 ms1.3%
JSONSerializer.dumpsdjango/core/signing.py:1262 ms1.3%
dumps<stdlib>/json/__init__.py:2412 ms1.3%
Estimated from 74 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/analytics.py:264
profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()
latest_profiles
· Database
|
28 ms |
|
apps/projects/tests.py:1107
response = self.client.get(reverse("projects"), follow=True)
ProjectPagesTest.test_projects_page
· Libraries
|
25 ms |
|
apps/projects/urls.py:49
project = get_object_or_404(
find_project
· Database
|
6 ms |
|
apps/projects/urls.py:173
return render(request, "project_dashboard.html", context)
project_dashboard
· Templates
|
6 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
4 ms |
|
apps/projects/analytics.py:359
summaries = list(
category_breakdown
· Database
|
4 ms |
|
apps/projects/tests.py:954
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Serialization
|
2 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 |
|
apps/projects/urls.py:136
has_profiles = Profile.objects.filter(project=project).exists()
project_dashboard
· Database
|
2 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.05 ms |
| _template_string_if_invalid_marker function | 0.05 ms |
| _django_db_marker function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_set_urlconf function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.03 ms |
Database
84 queries · 36 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:1107
|
121 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
17 ms |
|
call setUp
apps/projects/tests.py:954
|
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 | 141 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 76 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 | 105 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 161 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 91 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 149 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 154 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 139 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 168 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 93 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 148 ms | Profile |