CI
github-actions:test
5 runs
Average
38 ms
median 39 ms
max 49 ms
max 49 ms
Phases
Setup 0.77 ms
Call 37 ms
Teardown 0.15 ms
Categories
Database 3 ms
Other (Libraries, pytest, Unsampled) 34 ms
6 database queries per run
Needs 0 KB of memory (max 0 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 2 hours ago ·
open run
setup0.84 ms2.2%
CallInfo.from_call_pytest/runner.py:3530.84 ms2.2%
call_and_report.<locals>.<lambda>_pytest/runner.py:2450.84 ms2.2%
HookCaller.__call__pluggy/_hooks.py:5120.84 ms2.2%
PluginManager._hookexecpluggy/_manager.py:1200.84 ms2.2%
_multicallpluggy/_callers.py:1210.84 ms2.2%
pytest_runtest_setup_pytest/runner.py:1650.84 ms2.2%
SetupState.setup_pytest/runner.py:5230.84 ms2.2%
TestCaseFunction.setup_pytest/unittest.py:2270.84 ms2.2%
Function.setup_pytest/python.py:17230.84 ms2.2%
TopRequest._fillfixtures_pytest/fixtures.py:7070.84 ms2.2%
FixtureRequest.getfixturevalue_pytest/fixtures.py:5390.84 ms2.2%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:6270.84 ms2.2%
FixtureDef.execute_pytest/fixtures.py:10680.84 ms2.2%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:5580.84 ms2.2%
__init____init__:-10.84 ms2.2%
RequestFixtureDef.__init___pytest/fixtures.py:11330.84 ms2.2%
FixtureDef.__init___pytest/fixtures.py:10200.84 ms2.2%
call37 ms97.4%
CallInfo.from_call_pytest/runner.py:35337 ms97.4%
call_and_report.<locals>.<lambda>_pytest/runner.py:24537 ms97.4%
HookCaller.__call__pluggy/_hooks.py:51237 ms97.4%
PluginManager._hookexecpluggy/_manager.py:12037 ms97.4%
_multicallpluggy/_callers.py:12137 ms97.4%
pytest_runtest_call_pytest/runner.py:17937 ms97.4%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:57337 ms97.4%
SimpleTestCase.__call__django/test/testcases.py:31337 ms97.4%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36833 ms86.0%
TestCase.__call__<stdlib>/unittest/case.py:74733 ms86.0%
TestCase.run<stdlib>/unittest/case.py:69133 ms86.0%
TestCase._callTestMethod<stdlib>/unittest/case.py:63733 ms86.0%
McpTest.test_requires_tokenapps/mcp/tests.py:139 response = self.post({"jsonrpc": "2.0", "id": 1, "method": "ping"}, token="")31 ms80.2%
McpTest.postapps/mcp/tests.py:66 return self.client.post(31 ms80.2%
Client.postdjango/test/client.py:115331 ms80.2%
RequestFactory.postdjango/test/client.py:49931 ms80.2%
RequestFactory.genericdjango/test/client.py:67131 ms80.2%
Client.requestdjango/test/client.py:108231 ms80.2%
ClientHandler.__call__django/test/client.py:17331 ms80.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6231 ms80.2%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10431 ms80.2%
WhiteNoise.add_fileswhitenoise/base.py:10831 ms80.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12024 ms63.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13122 ms57.3%
WhiteNoise.get_static_filewhitenoise/base.py:20815 ms40.1%
StaticFile.__init__whitenoise/responders.py:737 ms17.2%
StaticFile.get_headerswhitenoise/responders.py:1764 ms11.5%
formatdate<stdlib>/email/utils.py:2662 ms5.7%
StaticFile.get_headerswhitenoise/responders.py:1712 ms5.7%
StaticFile.__init__whitenoise/responders.py:742 ms5.7%
parsedate<stdlib>/email/_parseaddr.py:1852 ms5.7%
StaticFile.__init__whitenoise/responders.py:762 ms5.7%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1882 ms5.7%
StaticFile.__init__whitenoise/responders.py:772 ms5.7%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms5.7%
WhiteNoise.get_static_filewhitenoise/base.py:2034 ms11.5%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms5.7%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms5.7%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms5.7%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms5.7%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms5.7%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1842 ms5.7%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5182 ms5.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1157 ms17.2%
scantreewhitenoise/base.py:2624 ms11.5%
scantreewhitenoise/base.py:2624 ms11.5%
scantreewhitenoise/base.py:2622 ms5.7%
scantreewhitenoise/base.py:2622 ms5.7%
scantreewhitenoise/base.py:2622 ms5.7%
scantreewhitenoise/base.py:2642 ms5.7%
scantreewhitenoise/base.py:2642 ms5.7%
McpTest.test_requires_tokenapps/mcp/tests.py:1422 ms5.7%
McpTest.postapps/mcp/tests.py:66 return self.client.post(2 ms5.7%
Client.postdjango/test/client.py:11532 ms5.7%
RequestFactory.postdjango/test/client.py:4992 ms5.7%
RequestFactory.genericdjango/test/client.py:6712 ms5.7%
Client.requestdjango/test/client.py:10822 ms5.7%
ClientHandler.__call__django/test/client.py:1862 ms5.7%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms5.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms5.7%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms5.7%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:652 ms5.7%
mcpapps/mcp/urls.py:1252 ms5.7%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()2 ms5.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms5.7%
QuerySet.filterdjango/db/models/query.py:15422 ms5.7%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms5.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms5.7%
Query.add_qdjango/db/models/sql/query.py:16712 ms5.7%
Query._add_qdjango/db/models/sql/query.py:17032 ms5.7%
Query.build_filterdjango/db/models/sql/query.py:16132 ms5.7%
Query.build_lookupdjango/db/models/sql/query.py:14302 ms5.7%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3714 ms11.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms11.5%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms5.7%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms5.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms5.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms5.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms5.7%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms5.7%
Cursor.executepsycopg/cursor.py:1132 ms5.7%
Connection.waitpsycopg/connection.py:4952 ms5.7%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms5.7%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms5.7%
Atomic.__exit__django/db/transaction.py:2832 ms5.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms5.7%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4132 ms5.7%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3712 ms5.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms5.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms5.7%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms5.7%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms5.7%
Cursor.executepsycopg/cursor.py:1132 ms5.7%
Connection.waitpsycopg/connection.py:4952 ms5.7%
Estimated from 18 samples; phase durations are exact. Frames from pytest and pluggy are
shown
.
Hot lines in your code
|
apps/mcp/tests.py:66
return self.client.post(
McpTest.post
· Libraries
|
31 ms |
|
apps/mcp/urls.py:55
project = Project.objects.filter(secrettokens__token=token).first()
authenticate
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.07 ms |
| monkeypatch function | 0.04 ms |
| _dj_autoclear_mailbox function | 0.04 ms |
| _django_db_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 |
Database
6 queries · 2 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/mcp/tests.py:139
|
33 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
|
setup __init__
__init__:-1
|
0.84 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 2 hours ago | CI github-actions:test | passed | 38 ms | Profile |
| 2 hours ago | CI github-actions:test | passed | 39 ms | Profile |
| 9 hours ago | CI github-actions:test | passed | 49 ms | Profile |
| 9 hours ago | CI github-actions:test | passed | 21 ms | Profile |
| 9 hours ago | CI github-actions:test | passed | 41 ms | Profile |