Tests / apps/projects/tests.py
ProjectRunPage::test_project_with_runs_no_tests
First seen 2 years, 10 months ago in b9e98d9
CI
github-actions:test
12 runs
Average
72 ms
median 66 ms
max 197 ms
max 197 ms
Phases
Setup 0.66 ms
Call 71 ms
Teardown 0.87 ms
Categories
Database 35 ms
App code 0.34 ms
Other (Libraries, Templates, Unsampled, pytest, ...) 37 ms
35 database queries per run
Needs 538 KB of memory (max 868 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call196 ms99.3%
ProjectRunPage.test_project_with_runs_no_testsapps/projects/tests.py:324 response = self.client.get(self.url)189 ms95.5%
Client.getdjango/test/client.py:1124189 ms95.5%
RequestFactory.getdjango/test/client.py:475189 ms95.5%
RequestFactory.genericdjango/test/client.py:671189 ms95.5%
Client.requestdjango/test/client.py:1082189 ms95.5%
ClientHandler.__call__django/test/client.py:173166 ms84.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:62166 ms84.2%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:104166 ms84.2%
WhiteNoise.add_fileswhitenoise/base.py:108166 ms84.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:115159 ms80.4%
scantreewhitenoise/base.py:262159 ms80.4%
scantreewhitenoise/base.py:262159 ms80.4%
scantreewhitenoise/base.py:262157 ms79.7%
scantreewhitenoise/base.py:262157 ms79.7%
scantreewhitenoise/base.py:262157 ms79.7%
scantreewhitenoise/base.py:264157 ms79.7%
<GC>~157 ms79.7%
scantreewhitenoise/base.py:2641 ms0.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1207 ms3.8%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1317 ms3.8%
WhiteNoise.get_static_filewhitenoise/base.py:2087 ms3.8%
StaticFile.__init__whitenoise/responders.py:775 ms2.5%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms1.3%
__init____init__:-12 ms1.3%
Headers.__init__<stdlib>/wsgiref/headers.py:431 ms0.6%
Headers.__init__<stdlib>/wsgiref/headers.py:441 ms0.6%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms0.6%
StaticFile.get_alternativeswhitenoise/responders.py:2031 ms0.6%
StaticFile.get_alternativeswhitenoise/responders.py:2041 ms0.6%
compile<stdlib>/re/__init__.py:2911 ms0.6%
StaticFile.__init__whitenoise/responders.py:721 ms0.6%
StaticFile.get_file_statswhitenoise/responders.py:1611 ms0.6%
StaticFile.__init__whitenoise/responders.py:741 ms0.6%
Headers.__getitem__<stdlib>/wsgiref/headers.py:831 ms0.6%
ClientHandler.__call__django/test/client.py:18622 ms11.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14122 ms11.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms11.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13022 ms11.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms11.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30922 ms11.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms11.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12322 ms11.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms11.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms10.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms10.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms10.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms10.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms10.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms10.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms10.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms10.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms10.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms10.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms10.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms10.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3421 ms10.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms10.8%
BaseHandler._get_responsedjango/core/handlers/base.py:19821 ms10.8%
project_runapps/projects/urls.py:404 run = get_object_or_404(Run.objects.select_related("commit"), number=run_number, project=project)7 ms3.8%
get_object_or_404django/shortcuts.py:907 ms3.8%
QuerySet.getdjango/db/models/query.py:6346 ms3.2%
QuerySet.__len__django/db/models/query.py:3725 ms2.5%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms2.5%
ModelIterable.__iter__django/db/models/query.py:955 ms2.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16114 ms1.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7674 ms1.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:864 ms1.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:754 ms1.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms1.3%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10321 ms0.6%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12691 ms0.6%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171 ms0.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms0.6%
Col.as_sqldjango/db/models/expressions.py:13251 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
Query.set_limitsdjango/db/models/sql/query.py:21851 ms0.6%
QuerySet.getdjango/db/models/query.py:6251 ms0.6%
QuerySet.filterdjango/db/models/query.py:15421 ms0.6%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms0.6%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms0.6%
Query.add_qdjango/db/models/sql/query.py:16711 ms0.6%
Query._add_qdjango/db/models/sql/query.py:16991 ms0.6%
project_runapps/projects/urls.py:439 return render(6 ms3.2%
renderdjango/shortcuts.py:255 ms2.5%
render_to_stringdjango/template/loader.py:624 ms1.9%
Template.renderdjango/template/backends/django.py:1074 ms1.9%
Template.renderdjango/template/base.py:1722 ms1.3%
instrumented_test_renderdjango/test/utils.py:1141 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
ExtendsNode.renderdjango/template/loader_tags.py:1601 ms0.6%
instrumented_test_renderdjango/test/utils.py:1141 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
ExtendsNode.renderdjango/template/loader_tags.py:1601 ms0.6%
instrumented_test_renderdjango/test/utils.py:1141 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
BlockNode.renderdjango/template/loader_tags.py:661 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
BlockNode.renderdjango/template/loader_tags.py:661 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
IfNode.renderdjango/template/defaulttags.py:3321 ms0.6%
QuerySet.__bool__django/db/models/query.py:4041 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.6%
ModelIterable.__iter__django/db/models/query.py:951 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
Template.renderdjango/template/base.py:1741 ms0.6%
instrumented_test_renderdjango/test/utils.py:1141 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
ExtendsNode.renderdjango/template/loader_tags.py:1601 ms0.6%
instrumented_test_renderdjango/test/utils.py:1141 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
ExtendsNode.renderdjango/template/loader_tags.py:1601 ms0.6%
instrumented_test_renderdjango/test/utils.py:1141 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
BlockNode.renderdjango/template/loader_tags.py:661 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
BlockNode.renderdjango/template/loader_tags.py:661 ms0.6%
NodeList.renderdjango/template/base.py:10911 ms0.6%
Node.render_annotateddjango/template/base.py:10521 ms0.6%
IfNode.renderdjango/template/defaulttags.py:3321 ms0.6%
Page.__len__django/core/paginator.py:3191 ms0.6%
QuerySet.__len__django/db/models/query.py:3721 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.6%
ModelIterable.__iter__django/db/models/query.py:951 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms0.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms0.6%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:871 ms0.6%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4911 ms0.6%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3621 ms0.6%
Expression.__hash__django/db/models/expressions.py:5621 ms0.6%
cached_property.__get__django/utils/functional.py:471 ms0.6%
render_to_stringdjango/template/loader.py:611 ms0.6%
get_templatedjango/template/loader.py:151 ms0.6%
DjangoTemplates.get_templatedjango/template/backends/django.py:791 ms0.6%
Engine.get_templatedjango/template/engine.py:1861 ms0.6%
Engine.find_templatedjango/template/engine.py:1591 ms0.6%
Loader.get_templatedjango/template/loaders/cached.py:571 ms0.6%
Loader.get_templatedjango/template/loaders/base.py:281 ms0.6%
__init____init__:-11 ms0.6%
Template.__init__django/template/base.py:1571 ms0.6%
Template.compile_nodelistdjango/template/base.py:1991 ms0.6%
Parser.parsedjango/template/base.py:5831 ms0.6%
do_extendsdjango/template/loader_tags.py:3071 ms0.6%
Parser.parsedjango/template/base.py:5831 ms0.6%
do_blockdjango/template/loader_tags.py:2351 ms0.6%
Parser.parsedjango/template/base.py:5831 ms0.6%
do_ifdjango/template/defaulttags.py:9931 ms0.6%
TemplateIfParser.__init__django/template/defaulttags.py:9261 ms0.6%
IfParser.__init__django/template/smartif.py:1721 ms0.6%
IfParser.translate_tokendjango/template/smartif.py:1831 ms0.6%
TemplateIfParser.create_vardjango/template/defaulttags.py:9291 ms0.6%
Parser.compile_filterdjango/template/base.py:6761 ms0.6%
__init____init__:-11 ms0.6%
FilterExpression.__init__django/template/base.py:7631 ms0.6%
__init____init__:-11 ms0.6%
Variable.__init__django/template/base.py:9061 ms0.6%
keep_lazy.<locals>.decorator.<locals>.wrapperdjango/utils/functional.py:2281 ms0.6%
<GC>~1 ms0.6%
renderdjango/shortcuts.py:261 ms0.6%
HttpResponse.__init__django/http/response.py:3821 ms0.6%
HttpResponse.contentdjango/http/response.py:4141 ms0.6%
HttpResponseBase.make_bytesdjango/http/response.py:3221 ms0.6%
project_runapps/projects/urls.py:4434 ms1.9%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {4 ms1.9%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))1 ms0.6%
QuerySet.__iter__django/db/models/query.py:3901 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.6%
ModelIterable.__iter__django/db/models/query.py:951 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],1 ms0.6%
QuerySet.__iter__django/db/models/query.py:3901 ms0.6%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms0.6%
ModelIterable.__iter__django/db/models/query.py:951 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
org_shellapps/orgs/views.py:421 ms0.6%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()1 ms0.6%
QuerySet.existsdjango/db/models/query.py:13371 ms0.6%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms0.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
project_runapps/projects/urls.py:4012 ms1.3%
find_projectapps/projects/urls.py:522 ms1.3%
can_viewapps/projects/urls.py:332 ms1.3%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).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%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms0.6%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms0.6%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms0.6%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms0.6%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms0.6%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms0.6%
project_runapps/projects/urls.py:423 test_statistics = TestRun.objects.filter(run=run).aggregate(1 ms0.6%
QuerySet.aggregatedjango/db/models/query.py:5941 ms0.6%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3111 ms0.6%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:591 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms0.6%
Model.savedjango/db/models/base.py:8741 ms0.6%
Model.save_basedjango/db/models/base.py:9661 ms0.6%
Model._save_tabledjango/db/models/base.py:11101 ms0.6%
Model._do_updatedjango/db/models/base.py:12111 ms0.6%
QuerySet._updatedjango/db/models/query.py:13271 ms0.6%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms0.6%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
ProjectRunPage.setUpapps/projects/tests.py:308 self.client.force_login(self.user)5 ms2.5%
ClientMixin.force_logindjango/test/client.py:8555 ms2.5%
ClientMixin._logindjango/test/client.py:8812 ms1.3%
logindjango/contrib/auth/__init__.py:1872 ms1.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4341 ms0.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms0.6%
Model.savedjango/db/models/base.py:8741 ms0.6%
Model.save_basedjango/db/models/base.py:9661 ms0.6%
Model._save_tabledjango/db/models/base.py:11671 ms0.6%
Model._do_insertdjango/db/models/base.py:12181 ms0.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms0.6%
QuerySet._insertdjango/db/models/query.py:19181 ms0.6%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4371 ms0.6%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1751 ms0.6%
Model.deletedjango/db/models/base.py:12981 ms0.6%
Collector.deletedjango/db/models/deletion.py:4521 ms0.6%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:431 ms0.6%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:251 ms0.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms0.6%
SQLDeleteCompiler.as_sqldjango/db/models/sql/compiler.py:20061 ms0.6%
SQLDeleteCompiler._as_sqldjango/db/models/sql/compiler.py:19921 ms0.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms0.6%
WhereNode.as_sqldjango/db/models/sql/where.py:1511 ms0.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms0.6%
In.as_sqldjango/db/models/lookups.py:5561 ms0.6%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2391 ms0.6%
In.process_rhsdjango/db/models/lookups.py:5401 ms0.6%
ClientMixin._logindjango/test/client.py:8832 ms1.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1231 ms0.6%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1021 ms0.6%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1261 ms0.6%
dumpsdjango/core/signing.py:1511 ms0.6%
Signer.sign_objectdjango/core/signing.py:2261 ms0.6%
JSONSerializer.dumpsdjango/core/signing.py:1261 ms0.6%
dumps<stdlib>/json/__init__.py:2411 ms0.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 ms0.6%
Atomic.__exit__django/db/transaction.py:2471 ms0.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms0.6%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms0.6%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms0.6%
Cursor.executepsycopg/cursor.py:1131 ms0.6%
Connection.waitpsycopg/connection.py:4951 ms0.6%
TransactionTestCase._pre_setupdjango/test/testcases.py:1151 super()._pre_setup()1 ms0.6%
SimpleTestCase._pre_setupdjango/test/testcases.py:3851 ms0.6%
Client.__init__django/test/client.py:10571 ms0.6%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()1 ms0.6%
TestCase._fixture_teardowndjango/test/testcases.py:14951 ms0.6%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4831 ms0.6%
CursorWrapper.executedjango/db/backends/utils.py:791 ms0.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms0.6%
Estimated from 157 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:324
response = self.client.get(self.url)
ProjectRunPage.test_project_with_runs_no_tests
· Libraries
|
167 ms |
|
apps/projects/urls.py:404
run = get_object_or_404(Run.objects.select_related("commit"), number=run_number, project=project)
project_run
· Database
|
7 ms |
|
apps/projects/urls.py:439
return render(
project_run
· Templates
|
6 ms |
|
apps/projects/tests.py:308
self.client.force_login(self.user)
ProjectRunPage.setUp
· Database
|
5 ms |
|
apps/projects/urls.py:40
return user.is_superuser or project.organization.membership_set.filter(user=user).exists()
can_manage_project
· Database
|
2 ms |
|
apps/projects/urls.py:423
test_statistics = TestRun.objects.filter(run=run).aggregate(
project_run
· Database
|
1 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
1 ms |
|
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell
· Database
|
1 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
|
1 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.06 ms |
| _django_db_marker function | 0.04 ms |
| _django_set_urlconf function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
35 queries · 12 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/projects/tests.py:324
|
189 ms |
|
call setUp
apps/projects/tests.py:308
|
5 ms |
|
call _pre_setup
django/test/testcases.py:1151
|
1 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
1 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 | 197 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 38 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 71 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 59 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 83 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 45 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 68 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 66 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 65 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 72 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 37 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 66 ms | Profile |