CI
github-actions:test
5 runs
Average
36 ms
median 41 ms
max 43 ms
max 43 ms
Phases
Setup 0.77 ms
Call 35 ms
Teardown 0.15 ms
Categories
Database 5 ms
Other (Libraries, pytest, Unsampled) 31 ms
7 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, an hour ago ·
open run
call42 ms97.7%
McpTest.test_tools_listapps/mcp/tests.py:112 tools = self.rpc("tools/list")["result"]["tools"]38 ms87.9%
McpTest.rpcapps/mcp/tests.py:7438 ms87.9%
McpTest.postapps/mcp/tests.py:66 return self.client.post(38 ms87.9%
Client.postdjango/test/client.py:115338 ms87.9%
RequestFactory.postdjango/test/client.py:49938 ms87.9%
RequestFactory.genericdjango/test/client.py:67138 ms87.9%
Client.requestdjango/test/client.py:108238 ms87.9%
ClientHandler.__call__django/test/client.py:17331 ms73.3%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6231 ms73.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10431 ms73.3%
WhiteNoise.add_fileswhitenoise/base.py:10831 ms73.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12025 ms58.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13125 ms58.6%
WhiteNoise.get_static_filewhitenoise/base.py:20821 ms48.8%
StaticFile.__init__whitenoise/responders.py:7210 ms24.4%
StaticFile.get_file_statswhitenoise/responders.py:16310 ms24.4%
<GC>~10 ms24.4%
StaticFile.__init__whitenoise/responders.py:736 ms14.7%
StaticFile.get_headerswhitenoise/responders.py:1782 ms4.9%
parsedate<stdlib>/email/_parseaddr.py:1852 ms4.9%
StaticFile.get_headerswhitenoise/responders.py:1702 ms4.9%
StaticFile.get_headerswhitenoise/responders.py:1762 ms4.9%
formatdate<stdlib>/email/utils.py:2662 ms4.9%
StaticFile.__init__whitenoise/responders.py:774 ms9.8%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms4.9%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms4.9%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms4.9%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms4.9%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms4.9%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms4.9%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms4.9%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms4.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1156 ms14.7%
scantreewhitenoise/base.py:2624 ms9.8%
scantreewhitenoise/base.py:2622 ms4.9%
scantreewhitenoise/base.py:2622 ms4.9%
scantreewhitenoise/base.py:2622 ms4.9%
scantreewhitenoise/base.py:2622 ms4.9%
scantreewhitenoise/base.py:2642 ms4.9%
ClientHandler.__call__django/test/client.py:1774 ms9.8%
Signal.connectdjango/dispatch/dispatcher.py:1102 ms4.9%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms4.9%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:652 ms4.9%
mcpapps/mcp/urls.py:1252 ms4.9%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()2 ms4.9%
QuerySet.firstdjango/db/models/query.py:11452 ms4.9%
QuerySet.__iter__django/db/models/query.py:3902 ms4.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms4.9%
ModelIterable.__iter__django/db/models/query.py:952 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.9%
Cursor.executepsycopg/cursor.py:1132 ms4.9%
Connection.waitpsycopg/connection.py:4952 ms4.9%
ClientHandler.__call__django/test/client.py:1862 ms4.9%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms4.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms4.9%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms4.9%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:652 ms4.9%
mcpapps/mcp/urls.py:1252 ms4.9%
authenticateapps/mcp/urls.py:57 SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())2 ms4.9%
QuerySet.updatedjango/db/models/query.py:13002 ms4.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms4.9%
Cursor.executepsycopg/cursor.py:1132 ms4.9%
Connection.waitpsycopg/connection.py:4952 ms4.9%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms4.9%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms4.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms4.9%
Cursor.executepsycopg/cursor.py:1132 ms4.9%
Connection.waitpsycopg/connection.py:4952 ms4.9%
Estimated from 20 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/mcp/tests.py:66
return self.client.post(
McpTest.post
· Libraries
|
33 ms |
|
apps/mcp/urls.py:55
project = Project.objects.filter(secrettokens__token=token).first()
authenticate
· Database
|
2 ms |
|
apps/mcp/urls.py:57
SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())
authenticate
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _live_server_helper function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.05 ms |
| _dj_autoclear_mailbox function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.03 ms |
Database
7 queries · 3 msNo repeated queries.
Biggest pieces of work
|
call test body
apps/mcp/tests.py:112
|
38 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
2 ms |
| call pytest internals | 2 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 | |
|---|---|---|---|---|
| an hour ago | CI github-actions:test | passed | 43 ms | Profile |
| an hour ago | CI github-actions:test | passed | 41 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 41 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 19 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 37 ms | Profile |