CI
github-actions:test
5 runs
Average
49 ms
median 52 ms
max 60 ms
max 60 ms
Phases
Setup 0.78 ms
Call 48 ms
Teardown 0.17 ms
Categories
Database 12 ms
Other (Libraries, Unsampled, pytest) 37 ms
19 database queries per run
Needs 10 KB of memory (max 48 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 44 minutes ago ·
open run
setup1 ms1.9%
__init____init__:-11 ms1.9%
signature<stdlib>/inspect.py:33401 ms1.9%
Signature.from_callable<stdlib>/inspect.py:30551 ms1.9%
_signature_from_callable<stdlib>/inspect.py:25251 ms1.9%
_signature_from_function<stdlib>/inspect.py:24121 ms1.9%
call52 ms97.7%
McpTest.test_errorsapps/mcp/tests.py:166 response = self.client.post(28 ms52.3%
Client.postdjango/test/client.py:115328 ms52.3%
RequestFactory.postdjango/test/client.py:49928 ms52.3%
RequestFactory.genericdjango/test/client.py:67128 ms52.3%
Client.requestdjango/test/client.py:108228 ms52.3%
ClientHandler.__call__django/test/client.py:17322 ms41.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6222 ms41.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10422 ms41.9%
WhiteNoise.add_fileswhitenoise/base.py:10822 ms41.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12017 ms31.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13113 ms24.4%
WhiteNoise.get_static_filewhitenoise/base.py:2089 ms17.4%
StaticFile.__init__whitenoise/responders.py:776 ms10.5%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms7.0%
__init____init__:-12 ms3.5%
StaticFile.get_alternativeswhitenoise/responders.py:2072 ms3.5%
Headers.items<stdlib>/wsgiref/headers.py:1312 ms3.5%
<GC>~2 ms3.5%
StaticFile.__init__whitenoise/responders.py:762 ms3.5%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms3.5%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms3.5%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms3.5%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:492 ms3.5%
StaticFile.__init__whitenoise/responders.py:732 ms3.5%
StaticFile.get_headerswhitenoise/responders.py:1762 ms3.5%
formatdate<stdlib>/email/utils.py:2662 ms3.5%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms3.5%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms3.5%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms3.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1156 ms10.5%
scantreewhitenoise/base.py:2626 ms10.5%
scantreewhitenoise/base.py:2626 ms10.5%
scantreewhitenoise/base.py:2624 ms7.0%
scantreewhitenoise/base.py:2624 ms7.0%
scantreewhitenoise/base.py:2624 ms7.0%
scantreewhitenoise/base.py:2602 ms3.5%
scantreewhitenoise/base.py:2642 ms3.5%
scantreewhitenoise/base.py:2642 ms3.5%
ClientHandler.__call__django/test/client.py:1866 ms10.5%
BaseHandler.get_responsedjango/core/handlers/base.py:1416 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms10.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1306 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms10.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1236 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms10.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms10.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:344 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1984 ms7.0%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:654 ms7.0%
mcpapps/mcp/urls.py:1254 ms7.0%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()2 ms3.5%
QuerySet.firstdjango/db/models/query.py:11452 ms3.5%
QuerySet.__iter__django/db/models/query.py:3902 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.5%
ModelIterable.__iter__django/db/models/query.py:952 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.5%
Cursor.executepsycopg/cursor.py:1132 ms3.5%
Connection.waitpsycopg/connection.py:4952 ms3.5%
authenticateapps/mcp/urls.py:57 SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())2 ms3.5%
QuerySet.updatedjango/db/models/query.py:12742 ms3.5%
UpdateQuery.add_update_valuesdjango/db/models/sql/subqueries.py:902 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3082 ms3.5%
CommonMiddleware.process_requestdjango/middleware/common.py:482 ms3.5%
HttpRequest.get_hostdjango/http/request.py:1952 ms3.5%
validate_hostdjango/http/request.py:8412 ms3.5%
McpTest.test_errorsapps/mcp/tests.py:1704 ms7.0%
McpTest.rpcapps/mcp/tests.py:744 ms7.0%
McpTest.postapps/mcp/tests.py:66 return self.client.post(4 ms7.0%
Client.postdjango/test/client.py:11534 ms7.0%
RequestFactory.postdjango/test/client.py:4994 ms7.0%
RequestFactory.genericdjango/test/client.py:6714 ms7.0%
Client.requestdjango/test/client.py:10824 ms7.0%
ClientHandler.__call__django/test/client.py:1864 ms7.0%
BaseHandler.get_responsedjango/core/handlers/base.py:1414 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1304 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1234 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:344 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1984 ms7.0%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:654 ms7.0%
mcpapps/mcp/urls.py:1254 ms7.0%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()2 ms3.5%
QuerySet.firstdjango/db/models/query.py:11452 ms3.5%
QuerySet.__iter__django/db/models/query.py:3902 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.5%
ModelIterable.__iter__django/db/models/query.py:952 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.5%
Cursor.executepsycopg/cursor.py:1132 ms3.5%
Connection.waitpsycopg/connection.py:4952 ms3.5%
authenticateapps/mcp/urls.py:57 SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())2 ms3.5%
QuerySet.updatedjango/db/models/query.py:13002 ms3.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
McpTest.test_errorsapps/mcp/tests.py:1714 ms7.0%
McpTest.postapps/mcp/tests.py:66 return self.client.post(4 ms7.0%
Client.postdjango/test/client.py:11534 ms7.0%
RequestFactory.postdjango/test/client.py:4994 ms7.0%
RequestFactory.genericdjango/test/client.py:6714 ms7.0%
Client.requestdjango/test/client.py:10824 ms7.0%
ClientHandler.__call__django/test/client.py:1864 ms7.0%
BaseHandler.get_responsedjango/core/handlers/base.py:1414 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1304 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1234 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:344 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1984 ms7.0%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:654 ms7.0%
mcpapps/mcp/urls.py:1254 ms7.0%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()2 ms3.5%
QuerySet.firstdjango/db/models/query.py:11452 ms3.5%
QuerySet.__iter__django/db/models/query.py:3902 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.5%
ModelIterable.__iter__django/db/models/query.py:952 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9382 ms3.5%
authenticateapps/mcp/urls.py:57 SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())2 ms3.5%
QuerySet.updatedjango/db/models/query.py:13002 ms3.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.5%
Cursor.executepsycopg/cursor.py:1132 ms3.5%
Connection.waitpsycopg/connection.py:4952 ms3.5%
McpTest.test_errorsapps/mcp/tests.py:1734 ms7.0%
McpTest.postapps/mcp/tests.py:66 return self.client.post(4 ms7.0%
Client.postdjango/test/client.py:11534 ms7.0%
RequestFactory.postdjango/test/client.py:4994 ms7.0%
RequestFactory.genericdjango/test/client.py:6714 ms7.0%
Client.requestdjango/test/client.py:10824 ms7.0%
ClientHandler.__call__django/test/client.py:1864 ms7.0%
BaseHandler.get_responsedjango/core/handlers/base.py:1414 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1304 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1234 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:344 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1984 ms7.0%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:654 ms7.0%
mcpapps/mcp/urls.py:1254 ms7.0%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()2 ms3.5%
QuerySet.firstdjango/db/models/query.py:11452 ms3.5%
QuerySet.__iter__django/db/models/query.py:3902 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.5%
ModelIterable.__iter__django/db/models/query.py:952 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms3.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms3.5%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms3.5%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms3.5%
Expression.__hash__django/db/models/expressions.py:5622 ms3.5%
cached_property.__get__django/utils/functional.py:472 ms3.5%
Expression.identitydjango/db/models/expressions.py:5522 ms3.5%
authenticateapps/mcp/urls.py:57 SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())2 ms3.5%
QuerySet.updatedjango/db/models/query.py:13002 ms3.5%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.5%
SQLUpdateCompiler.as_sqldjango/db/models/sql/compiler.py:20882 ms3.5%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.5%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms3.5%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.5%
Exact.as_sqldjango/db/models/lookups.py:4072 ms3.5%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2382 ms3.5%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms3.5%
Lookup.process_lhsdjango/db/models/lookups.py:1102 ms3.5%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.5%
McpTest.test_errorsapps/mcp/tests.py:1754 ms7.0%
McpTest.rpcapps/mcp/tests.py:744 ms7.0%
McpTest.postapps/mcp/tests.py:66 return self.client.post(4 ms7.0%
Client.postdjango/test/client.py:11534 ms7.0%
RequestFactory.postdjango/test/client.py:4994 ms7.0%
RequestFactory.genericdjango/test/client.py:6714 ms7.0%
Client.requestdjango/test/client.py:10824 ms7.0%
ClientHandler.__call__django/test/client.py:1864 ms7.0%
BaseHandler.get_responsedjango/core/handlers/base.py:1414 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1304 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1234 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:344 ms7.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms7.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1984 ms7.0%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:654 ms7.0%
mcpapps/mcp/urls.py:1254 ms7.0%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()4 ms7.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.5%
QuerySet.filterdjango/db/models/query.py:15422 ms3.5%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms3.5%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms3.5%
Query.add_qdjango/db/models/sql/query.py:16712 ms3.5%
Query._add_qdjango/db/models/sql/query.py:17032 ms3.5%
Query.build_filterdjango/db/models/sql/query.py:15592 ms3.5%
<GC>~2 ms3.5%
QuerySet.firstdjango/db/models/query.py:11452 ms3.5%
QuerySet.__iter__django/db/models/query.py:3902 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.5%
ModelIterable.__iter__django/db/models/query.py:952 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.5%
Cursor.executepsycopg/cursor.py:1132 ms3.5%
Connection.waitpsycopg/connection.py:4952 ms3.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms3.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms3.5%
McpTest.test_errorsapps/mcp/tests.py:1774 ms7.0%
McpTest.rpcapps/mcp/tests.py:744 ms7.0%
McpTest.postapps/mcp/tests.py:66 return self.client.post(4 ms7.0%
Client.postdjango/test/client.py:11534 ms7.0%
RequestFactory.postdjango/test/client.py:4994 ms7.0%
RequestFactory.genericdjango/test/client.py:6712 ms3.5%
Client.requestdjango/test/client.py:10822 ms3.5%
ClientHandler.__call__django/test/client.py:1862 ms3.5%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms3.5%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:652 ms3.5%
mcpapps/mcp/urls.py:1252 ms3.5%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()2 ms3.5%
QuerySet.firstdjango/db/models/query.py:11452 ms3.5%
QuerySet.__iter__django/db/models/query.py:3902 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.5%
ModelIterable.__iter__django/db/models/query.py:952 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.5%
Cursor.executepsycopg/cursor.py:1132 ms3.5%
Connection.waitpsycopg/connection.py:4952 ms3.5%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms7.0%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms3.5%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.5%
Cursor.executepsycopg/cursor.py:1132 ms3.5%
Connection.waitpsycopg/connection.py:4952 ms3.5%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms3.5%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms3.5%
Atomic.__exit__django/db/transaction.py:2832 ms3.5%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.5%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4132 ms3.5%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3712 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.5%
Cursor.executepsycopg/cursor.py:1132 ms3.5%
Connection.waitpsycopg/connection.py:4952 ms3.5%
McpTest.test_errorsapps/mcp/tests.py:1792 ms3.5%
McpTest.rpcapps/mcp/tests.py:742 ms3.5%
McpTest.postapps/mcp/tests.py:66 return self.client.post(2 ms3.5%
Client.postdjango/test/client.py:11532 ms3.5%
RequestFactory.postdjango/test/client.py:4992 ms3.5%
RequestFactory.genericdjango/test/client.py:6712 ms3.5%
Client.requestdjango/test/client.py:10822 ms3.5%
ClientHandler.__call__django/test/client.py:1862 ms3.5%
BaseHandler.get_responsedjango/core/handlers/base.py:1412 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1302 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1232 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3092 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:342 ms3.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:552 ms3.5%
BaseHandler._get_responsedjango/core/handlers/base.py:1982 ms3.5%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:652 ms3.5%
mcpapps/mcp/urls.py:1252 ms3.5%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()2 ms3.5%
QuerySet.firstdjango/db/models/query.py:11452 ms3.5%
QuerySet.__iter__django/db/models/query.py:3902 ms3.5%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.5%
ModelIterable.__iter__django/db/models/query.py:952 ms3.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.5%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.5%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.5%
Cursor.executepsycopg/cursor.py:1132 ms3.5%
Connection.waitpsycopg/connection.py:4952 ms3.5%
Estimated from 29 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/mcp/tests.py:166
response = self.client.post(
McpTest.test_errors
· Libraries
|
24 ms |
|
apps/mcp/urls.py:55
project = Project.objects.filter(secrettokens__token=token).first()
authenticate
· Database
|
15 ms |
|
apps/mcp/urls.py:57
SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())
authenticate
· Database
|
7 ms |
|
apps/mcp/tests.py:66
return self.client.post(
McpTest.post
· Libraries
|
2 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.05 ms |
| _live_server_helper function | 0.05 ms |
| _django_db_marker function | 0.05 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 |
| monkeypatch function | 0.02 ms |
Database
19 queries · 8 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
7×
SELECT "projects_project"."id", "projects_project"."organization_id", "projects_project"."name", "projects_project"."slug", "projects_project"."public", "projects_project"."description", "projects_project"."date_created", "projects_project"."date_updated", "projects_project"."created_by_id" FROM "p…
7×
UPDATE "projects_secrettokens" SET "date_last_used" = %s WHERE "projects_secrettokens"."token" = %s
Biggest pieces of work
|
call test body
apps/mcp/tests.py:166
|
48 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
|
setup __init__
__init__:-1
|
1 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 | |
|---|---|---|---|---|
| 44 minutes ago | CI github-actions:test | passed | 53 ms | Profile |
| an hour ago | CI github-actions:test | passed | 50 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 60 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 27 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 52 ms | Profile |