flakytest.dev anze3db flakytest
Tests / apps/mcp/tests.py

McpTest::test_get_overview

First seen 3 weeks ago in 78a4357
CI github-actions:test 12 runs
Average
82 ms
median 89 ms
max 102 ms
Phases
Setup 0.67 ms Call 81 ms Teardown 0.17 ms
Categories
Database 56 ms App code 1 ms Other (Libraries, Unsampled, pytest) 25 ms

47 database queries per run

Needs 103 KB of memory (max 264 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
setup0.70 ms0.7%
call93 ms99.0%
McpTest.test_get_overviewapps/mcp/tests.py:18957 ms61.5%
McpTest.callapps/mcp/tests.py:8257 ms61.5%
McpTest.rpcapps/mcp/tests.py:7557 ms61.5%
McpTest.postapps/mcp/tests.py:67 return self.client.post(57 ms61.5%
Client.postdjango/test/client.py:115357 ms61.5%
RequestFactory.postdjango/test/client.py:49957 ms61.5%
RequestFactory.genericdjango/test/client.py:67157 ms61.5%
Client.requestdjango/test/client.py:108257 ms61.5%
ClientHandler.__call__django/test/client.py:18646 ms49.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14146 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13046 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12346 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3446 ms49.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms49.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19846 ms49.5%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6546 ms49.5%
mcpapps/mcp/urls.py:14746 ms49.5%
handleapps/mcp/urls.py:11546 ms49.5%
call_toolapps/mcp/urls.py:7546 ms49.5%
Tools.callapps/mcp/tools.py:18846 ms49.5%
Tools.get_overviewapps/mcp/tools.py:21246 ms49.5%
overviewapps/projects/analytics.py:300 ).aggregate(wall=Avg("duration"), test_time=Avg("test_time"))26 ms27.3%
QuerySet.aggregatedjango/db/models/query.py:59426 ms27.3%
Query.get_aggregationdjango/db/models/sql/query.py:63324 ms25.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162421 ms22.2%
CursorWrapper.executedjango/db/backends/utils.py:7921 ms22.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9221 ms22.2%
CursorWrapper._executedjango/db/backends/utils.py:10521 ms22.2%
Cursor.executepsycopg/cursor.py:11321 ms22.2%
Connection.waitpsycopg/connection.py:49521 ms22.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:20621 ms22.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28619 ms20.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7819 ms20.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3122 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.7%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.7%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.7%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.7%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2382 ms1.7%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms1.7%
Lookup.process_lhsdjango/db/models/lookups.py:1092 ms1.7%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms1.7%
BaseExpression.copydjango/db/models/expressions.py:4442 ms1.7%
copy<stdlib>/copy.py:1002 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms1.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.7%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms1.7%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms1.7%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.7%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4302 ms1.7%
Connection.cursorpsycopg/connection.py:2592 ms1.7%
Query.get_aggregationdjango/db/models/sql/query.py:4842 ms1.7%
BaseExpression.replace_expressionsdjango/db/models/expressions.py:4222 ms1.7%
Expression.__hash__django/db/models/expressions.py:5622 ms1.7%
cached_property.__get__django/utils/functional.py:472 ms1.7%
Expression.identitydjango/db/models/expressions.py:5432 ms1.7%
overviewapps/projects/analytics.py:30313 ms13.7%
flaky_reportapps/projects/flakiness.py:25313 ms13.7%
compute_flaky_reportapps/projects/flakiness.py:27213 ms13.7%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)13 ms13.7%
QuerySet.__iter__django/db/models/query.py:39013 ms13.7%
QuerySet._fetch_alldjango/db/models/query.py:200013 ms13.7%
ValuesListIterable.__iter__django/db/models/query.py:23813 ms13.7%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:157313 ms13.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162413 ms13.7%
CursorWrapper.executedjango/db/backends/utils.py:7913 ms13.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9213 ms13.7%
CursorWrapper._executedjango/db/backends/utils.py:10513 ms13.7%
Cursor.executepsycopg/cursor.py:11313 ms13.7%
Connection.waitpsycopg/connection.py:49513 ms13.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:20613 ms13.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28611 ms11.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7811 ms11.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3122 ms1.7%
overviewapps/projects/analytics.py:3018 ms8.5%
latest_profilesapps/projects/analytics.py:2635 ms5.1%
Scope.scoped_environmentsapps/projects/analytics.py:185 return list(Environment.objects.filter(project=self.project))5 ms5.1%
QuerySet.__iter__django/db/models/query.py:3903 ms3.4%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.4%
ModelIterable.__iter__django/db/models/query.py:953 ms3.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.7%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.7%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.7%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2682 ms1.7%
SQLCompiler.get_select.<locals>.<genexpr>django/db/models/sql/compiler.py:2642 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.7%
Cursor.executepsycopg/cursor.py:1132 ms1.7%
Connection.waitpsycopg/connection.py:4952 ms1.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.7%
QuerySet.filterdjango/db/models/query.py:15422 ms1.7%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.7%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.7%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.7%
Query.build_filterdjango/db/models/sql/query.py:15772 ms1.7%
Query.setup_joinsdjango/db/models/sql/query.py:19172 ms1.7%
latest_profilesapps/projects/analytics.py:264 profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()3 ms3.4%
QuerySet.firstdjango/db/models/query.py:11453 ms3.4%
QuerySet.__iter__django/db/models/query.py:3903 ms3.4%
QuerySet._fetch_alldjango/db/models/query.py:20003 ms3.4%
ModelIterable.__iter__django/db/models/query.py:953 ms3.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.7%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.7%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.7%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.7%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5742 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.7%
ClientHandler.__call__django/test/client.py:17311 ms11.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6211 ms11.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10411 ms11.9%
WhiteNoise.add_fileswhitenoise/base.py:10811 ms11.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12010 ms10.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1316 ms6.8%
WhiteNoise.get_static_filewhitenoise/base.py:2086 ms6.8%
StaticFile.__init__whitenoise/responders.py:773 ms3.4%
StaticFile.get_alternativeswhitenoise/responders.py:2003 ms3.4%
StaticFile.__init__whitenoise/responders.py:723 ms3.4%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms1.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms1.7%
scantreewhitenoise/base.py:2622 ms1.7%
scantreewhitenoise/base.py:2622 ms1.7%
scantreewhitenoise/base.py:2622 ms1.7%
scantreewhitenoise/base.py:2622 ms1.7%
scantreewhitenoise/base.py:2622 ms1.7%
scantreewhitenoise/base.py:2642 ms1.7%
McpTest.test_get_overviewapps/mcp/tests.py:195 ci = self.call("get_overview", environment="ci")35 ms37.6%
McpTest.callapps/mcp/tests.py:8235 ms37.6%
McpTest.rpcapps/mcp/tests.py:7535 ms37.6%
McpTest.postapps/mcp/tests.py:67 return self.client.post(35 ms37.6%
Client.postdjango/test/client.py:115335 ms37.6%
RequestFactory.postdjango/test/client.py:49935 ms37.6%
RequestFactory.genericdjango/test/client.py:67135 ms37.6%
Client.requestdjango/test/client.py:108235 ms37.6%
ClientHandler.__call__django/test/client.py:18635 ms37.6%
BaseHandler.get_responsedjango/core/handlers/base.py:14135 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13035 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12335 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3435 ms37.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms37.6%
BaseHandler._get_responsedjango/core/handlers/base.py:19835 ms37.6%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6535 ms37.6%
mcpapps/mcp/urls.py:12524 ms25.6%
authenticateapps/mcp/urls.py:55 project = Project.objects.filter(secrettokens__token=token).first()22 ms23.9%
QuerySet.firstdjango/db/models/query.py:114522 ms23.9%
QuerySet.__iter__django/db/models/query.py:39022 ms23.9%
QuerySet._fetch_alldjango/db/models/query.py:200022 ms23.9%
ModelIterable.__iter__django/db/models/query.py:9522 ms23.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162422 ms23.9%
CursorWrapper.executedjango/db/backends/utils.py:7922 ms23.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9222 ms23.9%
CursorWrapper._executedjango/db/backends/utils.py:10522 ms23.9%
Cursor.executepsycopg/cursor.py:11322 ms23.9%
Connection.waitpsycopg/connection.py:49521 ms22.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:20621 ms22.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28621 ms22.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7821 ms22.2%
authenticateapps/mcp/urls.py:57 SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())2 ms1.7%
QuerySet.updatedjango/db/models/query.py:13002 ms1.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.7%
Cursor.executepsycopg/cursor.py:1132 ms1.7%
Connection.waitpsycopg/connection.py:4952 ms1.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.7%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.7%
mcpapps/mcp/urls.py:14711 ms11.9%
handleapps/mcp/urls.py:11511 ms11.9%
call_toolapps/mcp/urls.py:7511 ms11.9%
Tools.callapps/mcp/tools.py:18811 ms11.9%
Tools.get_overviewapps/mcp/tools.py:2128 ms8.5%
overviewapps/projects/analytics.py:3013 ms3.4%
latest_profilesapps/projects/analytics.py:264 profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()3 ms3.4%
QuerySet.filterdjango/db/models/query.py:15422 ms1.7%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.7%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.7%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.7%
Query._add_qdjango/db/models/sql/query.py:16992 ms1.7%
QuerySet.firstdjango/db/models/query.py:11452 ms1.7%
QuerySet.__iter__django/db/models/query.py:3902 ms1.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.7%
ModelIterable.__iter__django/db/models/query.py:952 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.7%
Cursor.executepsycopg/cursor.py:1132 ms1.7%
Connection.waitpsycopg/connection.py:4952 ms1.7%
overviewapps/projects/analytics.py:3033 ms3.4%
flaky_reportapps/projects/flakiness.py:2533 ms3.4%
compute_flaky_reportapps/projects/flakiness.py:2683 ms3.4%
failing_test_idsapps/projects/flakiness.py:202 ids = set(2 ms1.7%
QuerySet.__iter__django/db/models/query.py:3902 ms1.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.7%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.7%
Query.get_compilerdjango/db/models/sql/query.py:3702 ms1.7%
failing_test_idsapps/projects/flakiness.py:212 ids |= set(2 ms1.7%
QuerySet.__iter__django/db/models/query.py:3902 ms1.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.7%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.7%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.7%
Cursor.executepsycopg/cursor.py:1132 ms1.7%
Connection.waitpsycopg/connection.py:4952 ms1.7%
overviewapps/projects/analytics.py:3022 ms1.7%
result_countsapps/projects/analytics.py:274 sessions = Session.objects.filter(scope.environment_q(), project=scope.project, date_created__gte=since).aggregate(2 ms1.7%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.7%
Query.chaindjango/db/models/sql/query.py:4332 ms1.7%
Query.clonedjango/db/models/sql/query.py:4252 ms1.7%
Tools.get_overviewapps/mcp/tools.py:2113 ms3.4%
Tools.scopeapps/mcp/tools.py:1803 ms3.4%
resolve_scopeapps/projects/analytics.py:198 selected = Environment.objects.filter(project=project, name=env).first()2 ms1.7%
QuerySet.firstdjango/db/models/query.py:11452 ms1.7%
QuerySet.__iter__django/db/models/query.py:3902 ms1.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.7%
ModelIterable.__iter__django/db/models/query.py:952 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.7%
Cursor.executepsycopg/cursor.py:1132 ms1.7%
Connection.waitpsycopg/connection.py:4952 ms1.7%
resolve_scopeapps/projects/analytics.py:206 environments=list(Environment.objects.filter(project=project, kind=env)),2 ms1.7%
QuerySet.__iter__django/db/models/query.py:3902 ms1.7%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.7%
ModelIterable.__iter__django/db/models/query.py:952 ms1.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.7%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.7%
Cursor.executepsycopg/cursor.py:1132 ms1.7%
Connection.waitpsycopg/connection.py:4952 ms1.7%
Estimated from 59 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/analytics.py:300
).aggregate(wall=Avg("duration"), test_time=Avg("test_time"))
overview · Database
26 ms
apps/mcp/urls.py:55
project = Project.objects.filter(secrettokens__token=token).first()
authenticate · Database
22 ms
apps/projects/flakiness.py:165
test_runs = list(test_runs)
observations_for · Database
13 ms
apps/mcp/tests.py:67
return self.client.post(
McpTest.post · Libraries
11 ms
apps/projects/analytics.py:264
profile = scope.profiles().filter(environment=environment).order_by("-started_at").first()
latest_profiles · Database
6 ms
apps/projects/analytics.py:185
return list(Environment.objects.filter(project=self.project))
Scope.scoped_environments · Database
5 ms
apps/mcp/urls.py:57
SecretTokens.objects.filter(token=token).update(date_last_used=timezone.now())
authenticate · Database
2 ms
apps/projects/analytics.py:198
selected = Environment.objects.filter(project=project, name=env).first()
resolve_scope · Database
2 ms
apps/projects/analytics.py:206
environments=list(Environment.objects.filter(project=project, kind=env)),
resolve_scope · Database
2 ms
apps/projects/analytics.py:274
sessions = Session.objects.filter(scope.environment_q(), project=scope.project, date_created__gte=since).aggregate(
result_counts · Database
2 ms

Fixtures

Exact setup time
_dj_autoclear_mailbox function 0.05 ms
_django_db_marker function 0.05 ms
_template_string_if_invalid_marker function 0.04 ms
_django_clear_site_cache function 0.03 ms
_django_set_urlconf function 0.03 ms
_live_server_helper function 0.03 ms
monkeypatch function 0.02 ms

Database

47 queries · 22 ms

Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).

4×
SELECT "projects_environment"."id", "projects_environment"."project_id", "projects_environment"."name", "projects_environment"."kind", "projects_environment"."provider", "projects_environment"."details", "projects_environment"."date_first_seen", "projects_environment"."date_last_seen" FROM "project…
3×
SELECT "projects_profile"."id", "projects_profile"."project_id", "projects_profile"."number", "projects_profile"."environment_id", "projects_profile"."session_id", "projects_profile"."run_id", "projects_profile"."commit_id", "projects_profile"."ingest_id", "projects_profile"."external_id", "project…

Biggest pieces of work

call test body
apps/mcp/tests.py:195
93 ms
setup pytest internals 0.70 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
16 hours ago CI github-actions:test passed 93 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 54 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 83 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 75 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 100 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 59 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 93 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 90 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 88 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 102 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 51 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 92 ms 78a4357 main Profile