Tests / apps/guides/tests.py
TestGuidePages::test_every_guide_renders
First seen 2 weeks, 2 days ago in b3fedae
CI
github-actions:test
6 runs
Average
163 ms
median 164 ms
max 222 ms
max 222 ms
Phases
Setup 9 ms
Call 153 ms
Teardown 0.17 ms
Categories
Database 17 ms
Test code 0.50 ms
Other (Templates, Libraries, pytest, Cache, ...) 145 ms
5 database queries per run
Needs 5 KB of memory (max 8 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup9 ms4.9%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()9 ms4.9%
TestCase._enter_atomicsdjango/test/testcases.py:13969 ms4.9%
Atomic.__enter__django/db/transaction.py:1989 ms4.9%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:4549 ms4.9%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:3039 ms4.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms4.9%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:2799 ms4.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms4.9%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2569 ms4.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms4.9%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3339 ms4.9%
Connection.connectpsycopg/connection.py:1099 ms4.9%
wait_connpsycopg/waiting.py:1416 ms3.0%
EpollSelector.select<stdlib>/selectors.py:4526 ms3.0%
wait_connpsycopg/waiting.py:1453 ms1.8%
BaseConnection._connect_genpsycopg/_connection_base.py:4393 ms1.8%
call179 ms95.0%
TestGuidePages.test_every_guide_rendersapps/guides/tests.py:127 response = self.client.get(guide.url)153 ms81.2%
Client.getdjango/test/client.py:1124153 ms81.2%
RequestFactory.getdjango/test/client.py:475153 ms81.2%
RequestFactory.genericdjango/test/client.py:671153 ms81.2%
Client.requestdjango/test/client.py:1082150 ms79.9%
ClientHandler.__call__django/test/client.py:186117 ms62.0%
BaseHandler.get_responsedjango/core/handlers/base.py:141117 ms62.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55117 ms62.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:130117 ms62.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55117 ms62.0%
MiddlewareMixin.__call__django/utils/deprecation.py:309117 ms62.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55117 ms62.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:123117 ms62.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55117 ms62.0%
MiddlewareMixin.__call__django/utils/deprecation.py:309117 ms62.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55117 ms62.0%
MiddlewareMixin.__call__django/utils/deprecation.py:309114 ms60.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55114 ms60.6%
MiddlewareMixin.__call__django/utils/deprecation.py:309114 ms60.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55114 ms60.6%
MiddlewareMixin.__call__django/utils/deprecation.py:309114 ms60.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55114 ms60.6%
MiddlewareMixin.__call__django/utils/deprecation.py:309114 ms60.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55114 ms60.6%
MiddlewareMixin.__call__django/utils/deprecation.py:309114 ms60.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55114 ms60.6%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:34114 ms60.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55114 ms60.6%
BaseHandler._get_responsedjango/core/handlers/base.py:198109 ms57.8%
make_middleware_decorator.<locals>._make_decorator.<locals>._decorator.<locals>._view_wrapperdjango/utils/decorators.py:190101 ms53.7%
vary_on_headers.<locals>.decorator.<locals>._view_wrapperdjango/views/decorators/vary.py:31101 ms53.7%
guideapps/guides/views.py:41 return render(98 ms52.3%
renderdjango/shortcuts.py:2598 ms52.3%
render_to_stringdjango/template/loader.py:6298 ms52.3%
Template.renderdjango/template/backends/django.py:10798 ms52.3%
Template.renderdjango/template/base.py:17498 ms52.3%
instrumented_test_renderdjango/test/utils.py:11498 ms52.3%
NodeList.renderdjango/template/base.py:109198 ms52.3%
Node.render_annotateddjango/template/base.py:105298 ms52.3%
ExtendsNode.renderdjango/template/loader_tags.py:16096 ms51.0%
instrumented_test_renderdjango/test/utils.py:11491 ms48.2%
NodeList.renderdjango/template/base.py:109191 ms48.2%
Node.render_annotateddjango/template/base.py:105291 ms48.2%
ExtendsNode.renderdjango/template/loader_tags.py:16091 ms48.2%
instrumented_test_renderdjango/test/utils.py:11478 ms41.3%
NodeList.renderdjango/template/base.py:109178 ms41.3%
Node.render_annotateddjango/template/base.py:105278 ms41.3%
BlockNode.renderdjango/template/loader_tags.py:6673 ms38.6%
NodeList.renderdjango/template/base.py:109173 ms38.6%
Node.render_annotateddjango/template/base.py:105273 ms38.6%
BlockNode.renderdjango/template/loader_tags.py:6636 ms19.3%
NodeList.renderdjango/template/base.py:109136 ms19.3%
Node.render_annotateddjango/template/base.py:105236 ms19.3%
BlockNode.renderdjango/template/loader_tags.py:6636 ms19.3%
NodeList.renderdjango/template/base.py:109136 ms19.3%
Node.render_annotateddjango/template/base.py:105236 ms19.3%
ForNode.renderdjango/template/defaulttags.py:24916 ms8.3%
Node.render_annotateddjango/template/base.py:105213 ms6.9%
VariableNode.renderdjango/template/base.py:11508 ms4.1%
FilterExpression.resolvedjango/template/base.py:7888 ms4.1%
Variable.resolvedjango/template/base.py:9288 ms4.1%
Variable._resolve_lookupdjango/template/base.py:9768 ms4.1%
VariableNode.renderdjango/template/base.py:11563 ms1.4%
render_value_in_contextdjango/template/base.py:11343 ms1.4%
conditional_escapedjango/utils/html.py:1273 ms1.4%
keep_lazy.<locals>.decorator.<locals>.wrapperdjango/utils/functional.py:2313 ms1.4%
IfNode.renderdjango/template/defaulttags.py:33313 ms6.9%
NodeList.renderdjango/template/base.py:109113 ms6.9%
Node.render_annotateddjango/template/base.py:105213 ms6.9%
ForNode.renderdjango/template/defaulttags.py:1973 ms1.4%
FilterExpression.resolvedjango/template/base.py:7883 ms1.4%
ForNode.renderdjango/template/defaulttags.py:2443 ms1.4%
Context.updatedjango/template/context.py:1763 ms1.4%
ContextDict.__init__django/template/context.py:153 ms1.4%
<GC>~3 ms1.4%
ForNode.renderdjango/template/defaulttags.py:2493 ms1.4%
Node.render_annotateddjango/template/base.py:10523 ms1.4%
VariableNode.renderdjango/template/base.py:11503 ms1.4%
FilterExpression.resolvedjango/template/base.py:7883 ms1.4%
Variable.resolvedjango/template/base.py:9283 ms1.4%
Variable._resolve_lookupdjango/template/base.py:9653 ms1.4%
BaseContext.__getitem__django/template/context.py:903 ms1.4%
ForNode.renderdjango/template/defaulttags.py:2553 ms1.4%
ForNode.renderdjango/template/defaulttags.py:2563 ms1.4%
VariableNode.renderdjango/template/base.py:11563 ms1.4%
render_value_in_contextdjango/template/base.py:11343 ms1.4%
conditional_escapedjango/utils/html.py:1273 ms1.4%
ForNode.renderdjango/template/defaulttags.py:2463 ms1.4%
URLNode.renderdjango/template/defaulttags.py:5113 ms1.4%
ForNode.renderdjango/template/defaulttags.py:2253 ms1.4%
URLNode.renderdjango/template/defaulttags.py:51123 ms12.4%
reversedjango/urls/base.py:9810 ms5.5%
URLResolver._reverse_with_prefixdjango/urls/resolvers.py:7623 ms1.4%
reversedjango/urls/base.py:393 ms1.4%
VariableNode.renderdjango/template/base.py:11505 ms2.8%
FilterExpression.resolvedjango/template/base.py:8153 ms1.4%
FilterExpression.resolvedjango/template/base.py:8073 ms1.4%
keep_lazy.<locals>.decorator.<locals>.wrapperdjango/utils/functional.py:2263 ms1.4%
keep_lazy.<locals>.decorator.<locals>.wrapper.<locals>.<genexpr>django/utils/functional.py:2263 ms1.4%
<GC>~3 ms1.4%
IncludeNode.renderdjango/template/loader_tags.py:2115 ms2.8%
Template.renderdjango/template/base.py:1763 ms1.4%
instrumented_test_renderdjango/test/utils.py:1143 ms1.4%
NodeList.renderdjango/template/base.py:10913 ms1.4%
Node.render_annotateddjango/template/base.py:10523 ms1.4%
IfNode.renderdjango/template/defaulttags.py:3263 ms1.4%
TemplateLiteral.evaldjango/template/defaulttags.py:9183 ms1.4%
FilterExpression.resolvedjango/template/base.py:7883 ms1.4%
Variable.resolvedjango/template/base.py:9283 ms1.4%
Variable._resolve_lookupdjango/template/base.py:10153 ms1.4%
IfNode.renderdjango/template/defaulttags.py:3263 ms1.4%
TemplateLiteral.evaldjango/template/defaulttags.py:9183 ms1.4%
FilterExpression.resolvedjango/template/base.py:7883 ms1.4%
Variable.resolvedjango/template/base.py:9283 ms1.4%
IfNode.renderdjango/template/defaulttags.py:3265 ms2.8%
TemplateLiteral.evaldjango/template/defaulttags.py:9185 ms2.8%
FilterExpression.resolvedjango/template/base.py:7885 ms2.8%
Variable.resolvedjango/template/base.py:9285 ms2.8%
Variable._resolve_lookupdjango/template/base.py:9655 ms2.8%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2515 ms2.8%
SimpleLazyObject._setupdjango/utils/functional.py:4045 ms2.8%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:405 ms2.8%
get_userdjango/contrib/auth/middleware.py:205 ms2.8%
get_userdjango/contrib/auth/__init__.py:3115 ms2.8%
_get_user_session_keydjango/contrib/auth/__init__.py:953 ms1.4%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms1.4%
instrumented_test_renderdjango/test/utils.py:11310 ms5.5%
NodeList.renderdjango/template/base.py:10918 ms4.1%
Node.render_annotateddjango/template/base.py:10528 ms4.1%
BlockNode.renderdjango/template/loader_tags.py:668 ms4.1%
NodeList.renderdjango/template/base.py:10918 ms4.1%
Node.render_annotateddjango/template/base.py:10528 ms4.1%
VariableNode.renderdjango/template/base.py:11505 ms2.8%
FilterExpression.resolvedjango/template/base.py:7883 ms1.4%
FilterExpression.resolvedjango/template/base.py:8153 ms1.4%
datedjango/template/defaultfilters.py:7893 ms1.4%
URLNode.renderdjango/template/defaulttags.py:5113 ms1.4%
reversedjango/urls/base.py:983 ms1.4%
Signal.senddjango/dispatch/dispatcher.py:2073 ms1.4%
instrumented_test_renderdjango/test/utils.py:1133 ms1.4%
ExtendsNode.renderdjango/template/loader_tags.py:1423 ms1.4%
guideapps/guides/views.py:483 ms1.4%
Guide.urlapps/guides/content.py:70 return reverse("guide", args=[self.slug])3 ms1.4%
reversedjango/urls/base.py:983 ms1.4%
URLResolver._reverse_with_prefixdjango/urls/resolvers.py:8033 ms1.4%
make_middleware_decorator.<locals>._make_decorator.<locals>._decorator.<locals>._view_wrapperdjango/utils/decorators.py:1965 ms2.8%
make_middleware_decorator.<locals>._make_decorator.<locals>._decorator.<locals>._post_process_requestdjango/utils/decorators.py:1635 ms2.8%
UpdateCacheMiddleware.process_responsedjango/middleware/cache.py:1305 ms2.8%
learn_cache_keydjango/utils/cache.py:4175 ms2.8%
_generate_cache_header_keydjango/utils/cache.py:3753 ms1.4%
make_middleware_decorator.<locals>._make_decorator.<locals>._decorator.<locals>._pre_process_requestdjango/utils/decorators.py:1313 ms1.4%
/home/runner/.local/share/uv/python/cpython-3.15.2-linux-x86_64-gnu/lib/python3.15/enum.py��:-13 ms1.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1825 ms2.8%
BaseHandler.resolve_requestdjango/core/handlers/base.py:3145 ms2.8%
URLResolver.resolvedjango/urls/resolvers.py:6785 ms2.8%
URLResolver.resolvedjango/urls/resolvers.py:6783 ms1.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3083 ms1.4%
CommonMiddleware.process_requestdjango/middleware/common.py:483 ms1.4%
HttpRequest.get_hostdjango/http/request.py:1943 ms1.4%
ClientHandler.__call__django/test/client.py:17331 ms16.5%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6231 ms16.5%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10431 ms16.5%
WhiteNoise.add_fileswhitenoise/base.py:10831 ms16.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12026 ms13.8%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13126 ms13.8%
WhiteNoise.get_static_filewhitenoise/base.py:20821 ms11.0%
StaticFile.__init__whitenoise/responders.py:7210 ms5.5%
StaticFile.get_file_statswhitenoise/responders.py:1638 ms4.1%
<GC>~8 ms4.1%
StaticFile.get_file_statswhitenoise/responders.py:1593 ms1.4%
StaticFile.__init__whitenoise/responders.py:738 ms4.1%
StaticFile.get_headerswhitenoise/responders.py:1765 ms2.8%
formatdate<stdlib>/email/utils.py:2663 ms1.4%
format_datetime<stdlib>/email/utils.py:2843 ms1.4%
StaticFile.get_headerswhitenoise/responders.py:1683 ms1.4%
StaticFile.__init__whitenoise/responders.py:763 ms1.4%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1893 ms1.4%
Headers.__getitem__<stdlib>/wsgiref/headers.py:833 ms1.4%
WhiteNoise.get_static_filewhitenoise/base.py:2035 ms2.8%
WhiteNoise.add_cache_headerswhitenoise/base.py:2245 ms2.8%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1763 ms1.4%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1973 ms1.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:203 ms1.4%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2053 ms1.4%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1863 ms1.4%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2093 ms1.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1155 ms2.8%
scantreewhitenoise/base.py:2625 ms2.8%
scantreewhitenoise/base.py:2625 ms2.8%
scantreewhitenoise/base.py:2623 ms1.4%
scantreewhitenoise/base.py:2623 ms1.4%
scantreewhitenoise/base.py:2623 ms1.4%
scantreewhitenoise/base.py:2643 ms1.4%
scantreewhitenoise/base.py:2643 ms1.4%
ClientHandler.__call__django/test/client.py:2073 ms1.4%
HttpResponseBase.closedjango/http/response.py:3413 ms1.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()26 ms13.8%
TestCase._fixture_teardowndjango/test/testcases.py:149526 ms13.8%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:48321 ms11.0%
CursorWrapper.executedjango/db/backends/utils.py:7921 ms11.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9221 ms11.0%
CursorWrapper._executedjango/db/backends/utils.py:10321 ms11.0%
Cursor.executepsycopg/cursor.py:11321 ms11.0%
Connection.waitpsycopg/connection.py:49521 ms11.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:20621 ms11.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28618 ms9.6%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7818 ms9.6%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3123 ms1.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4823 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:263 ms1.4%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3203 ms1.4%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2983 ms1.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4843 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:793 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms1.4%
Cursor.executepsycopg/cursor.py:1133 ms1.4%
Connection.waitpsycopg/connection.py:4953 ms1.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms1.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms1.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms1.4%
Estimated from 77 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/guides/views.py:41
return render(
guide
· Templates
|
98 ms |
|
apps/guides/tests.py:127
response = self.client.get(guide.url)
TestGuidePages.test_every_guide_renders
· Libraries
|
52 ms |
|
apps/guides/content.py:70
return reverse("guide", args=[self.slug])
Guide.url
· Libraries
|
3 ms |
Fixtures
Exact setup time| _unittest_setUpClass_fixture_TestGuidePages class | 8 ms |
| _django_setup_unittest class | 0.28 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_db_marker function | 0.03 ms |
| _dj_autoclear_mailbox function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| monkeypatch function | 0.02 ms |
| _django_clear_site_cache function | 0.02 ms |
Database
5 queries · 0.89 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/guides/tests.py:127
|
153 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
26 ms |
|
setup setUpClass
django/test/testcases.py:1423
|
9 ms |
Reliability
6 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 6 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 188 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 96 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 192 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 137 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 222 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 140 ms | Profile |