CI
github-actions:test
5 runs
Average
119 ms
median 125 ms
max 145 ms
max 145 ms
Phases
Setup 0.72 ms
Call 118 ms
Teardown 0.20 ms
Categories
Database 88 ms
App code 3 ms
Other (Libraries, Templates, Unsampled, Deep copies, ...) 29 ms
66 database queries per run
Needs 4 KB of memory (max 4 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 14 minutes ago ·
open run
call124 ms99.1%
ProjectPagesTest.test_test_pageapps/projects/tests.py:1027 response = self.client.get(self.project.url("project_test", self.real_test.slug))63 ms50.4%
Client.getdjango/test/client.py:112463 ms50.4%
RequestFactory.getdjango/test/client.py:47563 ms50.4%
RequestFactory.genericdjango/test/client.py:67163 ms50.4%
Client.requestdjango/test/client.py:108263 ms50.4%
ClientHandler.__call__django/test/client.py:18637 ms29.9%
BaseHandler.get_responsedjango/core/handlers/base.py:14137 ms29.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5537 ms29.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13037 ms29.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5537 ms29.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30937 ms29.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5537 ms29.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12337 ms29.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5537 ms29.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms28.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms28.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms28.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms28.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms28.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms28.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms28.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms28.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms28.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms28.3%
MiddlewareMixin.__call__django/utils/deprecation.py:30935 ms28.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms28.3%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3435 ms28.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5535 ms28.3%
BaseHandler._get_responsedjango/core/handlers/base.py:19833 ms26.7%
project_testapps/projects/urls.py:3118 ms6.3%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)4 ms3.1%
QuerySet.__iter__django/db/models/query.py:3904 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.1%
ModelIterable.__iter__django/db/models/query.py:954 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
history_for_testapps/projects/analytics.py:819 TestRun.objects.filter(test=test)4 ms3.1%
QuerySet.__iter__django/db/models/query.py:3904 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
ModelIterable.__iter__django/db/models/query.py:1092 ms1.6%
project_testapps/projects/urls.py:2864 ms3.1%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {2 ms1.6%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms1.6%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms1.6%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms1.6%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms1.6%
get_userdjango/contrib/auth/middleware.py:202 ms1.6%
get_userdjango/contrib/auth/__init__.py:3182 ms1.6%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.6%
QuerySet.getdjango/db/models/query.py:6352 ms1.6%
QuerySet.__len__django/db/models/query.py:3722 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.6%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.6%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.6%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.6%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.6%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))2 ms1.6%
QuerySet.__iter__django/db/models/query.py:3902 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.6%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9812 ms1.6%
project_testapps/projects/urls.py:2894 ms3.1%
environment_stats_for_testapps/projects/analytics.py:748 for perf in TestPerf.objects.filter(test=test, date__gte=since).select_related("environment").order_by("date"):4 ms3.1%
QuerySet.__iter__django/db/models/query.py:3904 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.6%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.6%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.6%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.6%
ModelIterable.__iter__django/db/models/query.py:1272 ms1.6%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms1.6%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15262 ms1.6%
Col.get_db_convertersdjango/db/models/expressions.py:13402 ms1.6%
Field.get_db_convertersdjango/db/models/fields/__init__.py:9202 ms1.6%
project_testapps/projects/urls.py:2954 ms3.1%
latest_perfapps/projects/analytics.py:846 return perfs.select_related("profile", "environment").order_by("-date").first()4 ms3.1%
QuerySet.firstdjango/db/models/query.py:11454 ms3.1%
QuerySet.__iter__django/db/models/query.py:3904 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.1%
ModelIterable.__iter__django/db/models/query.py:954 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.6%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.6%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.6%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3592 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
project_testapps/projects/urls.py:3124 ms3.1%
flakiness_for_testapps/projects/flakiness.py:326 history = observations_for(test.project, [test.id], since).get(test.id, [])4 ms3.1%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)2 ms1.6%
QuerySet.__iter__django/db/models/query.py:3902 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.6%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.6%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
observations_forapps/projects/flakiness.py:189 for row in Profile.objects.filter(id__in={row[3] for row in perfs}).values_list(2 ms1.6%
project_testapps/projects/urls.py:342 return render(request, "project_test.html", context)4 ms3.1%
renderdjango/shortcuts.py:254 ms3.1%
render_to_stringdjango/template/loader.py:624 ms3.1%
Template.renderdjango/template/backends/django.py:1074 ms3.1%
Template.renderdjango/template/base.py:1744 ms3.1%
instrumented_test_renderdjango/test/utils.py:1144 ms3.1%
NodeList.renderdjango/template/base.py:10914 ms3.1%
Node.render_annotateddjango/template/base.py:10524 ms3.1%
ExtendsNode.renderdjango/template/loader_tags.py:1604 ms3.1%
instrumented_test_renderdjango/test/utils.py:1144 ms3.1%
NodeList.renderdjango/template/base.py:10914 ms3.1%
Node.render_annotateddjango/template/base.py:10524 ms3.1%
ExtendsNode.renderdjango/template/loader_tags.py:1604 ms3.1%
instrumented_test_renderdjango/test/utils.py:1144 ms3.1%
NodeList.renderdjango/template/base.py:10914 ms3.1%
Node.render_annotateddjango/template/base.py:10524 ms3.1%
BlockNode.renderdjango/template/loader_tags.py:664 ms3.1%
NodeList.renderdjango/template/base.py:10914 ms3.1%
Node.render_annotateddjango/template/base.py:10524 ms3.1%
BlockNode.renderdjango/template/loader_tags.py:664 ms3.1%
NodeList.renderdjango/template/base.py:10914 ms3.1%
Node.render_annotateddjango/template/base.py:10524 ms3.1%
IncludeNode.renderdjango/template/loader_tags.py:2112 ms1.6%
Template.renderdjango/template/base.py:1762 ms1.6%
instrumented_test_renderdjango/test/utils.py:1142 ms1.6%
NodeList.renderdjango/template/base.py:10912 ms1.6%
Node.render_annotateddjango/template/base.py:10522 ms1.6%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.6%
Node.render_annotateddjango/template/base.py:10522 ms1.6%
VariableNode.renderdjango/template/base.py:11562 ms1.6%
render_value_in_contextdjango/template/base.py:11342 ms1.6%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.6%
NodeList.renderdjango/template/base.py:10912 ms1.6%
Node.render_annotateddjango/template/base.py:10522 ms1.6%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.6%
Node.render_annotateddjango/template/base.py:10522 ms1.6%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.6%
project_testapps/projects/urls.py:2822 ms1.6%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms1.6%
get_object_or_404django/shortcuts.py:902 ms1.6%
QuerySet.getdjango/db/models/query.py:6352 ms1.6%
QuerySet.__len__django/db/models/query.py:3722 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.6%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
project_testapps/projects/urls.py:3002 ms1.6%
latest_documentapps/projects/profiles.py:2842 ms1.6%
load_snapshotapps/projects/profiles.py:274 return json.loads(gzip.decompress(bytes(snapshot.document)))2 ms1.6%
BaseHandler._get_responsedjango/core/handlers/base.py:1822 ms1.6%
BaseHandler.resolve_requestdjango/core/handlers/base.py:3142 ms1.6%
URLResolver.resolvedjango/urls/resolvers.py:6782 ms1.6%
URLPattern.resolvedjango/urls/resolvers.py:4722 ms1.6%
RoutePattern.matchdjango/urls/resolvers.py:3272 ms1.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.6%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.6%
Model.savedjango/db/models/base.py:8742 ms1.6%
Model.save_basedjango/db/models/base.py:9662 ms1.6%
Model._save_tabledjango/db/models/base.py:11102 ms1.6%
Model._do_updatedjango/db/models/base.py:12112 ms1.6%
QuerySet._updatedjango/db/models/query.py:13272 ms1.6%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.6%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
ClientHandler.__call__django/test/client.py:17326 ms20.5%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6226 ms20.5%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10426 ms20.5%
WhiteNoise.add_fileswhitenoise/base.py:10826 ms20.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12018 ms14.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13118 ms14.2%
WhiteNoise.get_static_filewhitenoise/base.py:20812 ms9.4%
StaticFile.__init__whitenoise/responders.py:744 ms3.1%
parsedate<stdlib>/email/_parseaddr.py:1854 ms3.1%
StaticFile.__init__whitenoise/responders.py:764 ms3.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1902 ms1.6%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1882 ms1.6%
StaticFile.__init__whitenoise/responders.py:772 ms1.6%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms1.6%
StaticFile.__init__whitenoise/responders.py:722 ms1.6%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms1.6%
__init____init__:-12 ms1.6%
FileEntry.__init__whitenoise/responders.py:2632 ms1.6%
FileEntry.stat_regular_filewhitenoise/responders.py:2762 ms1.6%
<GC>~2 ms1.6%
WhiteNoise.get_static_filewhitenoise/base.py:2034 ms3.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2244 ms3.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms1.6%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms1.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1156 ms4.7%
scantreewhitenoise/base.py:2624 ms3.1%
scantreewhitenoise/base.py:2624 ms3.1%
scantreewhitenoise/base.py:2622 ms1.6%
scantreewhitenoise/base.py:2622 ms1.6%
scantreewhitenoise/base.py:2622 ms1.6%
scantreewhitenoise/base.py:2642 ms1.6%
scantreewhitenoise/base.py:2642 ms1.6%
scantreewhitenoise/base.py:2602 ms1.6%
ProjectPagesTest.test_test_pageapps/projects/tests.py:103543 ms34.6%
Client.getdjango/test/client.py:112443 ms34.6%
RequestFactory.getdjango/test/client.py:47543 ms34.6%
RequestFactory.genericdjango/test/client.py:67143 ms34.6%
Client.requestdjango/test/client.py:108243 ms34.6%
ClientHandler.__call__django/test/client.py:18643 ms34.6%
BaseHandler.get_responsedjango/core/handlers/base.py:14143 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms34.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13043 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms34.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12343 ms34.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms34.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30941 ms33.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms33.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30941 ms33.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms33.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30941 ms33.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms33.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30941 ms33.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms33.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30941 ms33.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms33.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30941 ms33.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms33.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3441 ms33.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5541 ms33.0%
BaseHandler._get_responsedjango/core/handlers/base.py:19841 ms33.0%
project_testapps/projects/urls.py:31112 ms9.4%
history_for_testapps/projects/analytics.py:819 TestRun.objects.filter(test=test)6 ms4.7%
QuerySet.__iter__django/db/models/query.py:3906 ms4.7%
QuerySet._fetch_alldjango/db/models/query.py:20006 ms4.7%
ModelIterable.__iter__django/db/models/query.py:956 ms4.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms3.1%
Cursor.executepsycopg/cursor.py:1134 ms3.1%
Connection.waitpsycopg/connection.py:4954 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.6%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.6%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.6%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5742 ms1.6%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)6 ms4.7%
QuerySet.__iter__django/db/models/query.py:3904 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.1%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
ModelIterable.__iter__django/db/models/query.py:1322 ms1.6%
RelatedPopulator.populatedjango/db/models/query.py:27702 ms1.6%
RelatedPopulator.populatedjango/db/models/query.py:27682 ms1.6%
Model.__init__django/db/models/base.py:5942 ms1.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.6%
QuerySet.filterdjango/db/models/query.py:15422 ms1.6%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.6%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.6%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.6%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.6%
Query.build_filterdjango/db/models/sql/query.py:15992 ms1.6%
Query.trim_joinsdjango/db/models/sql/query.py:20122 ms1.6%
project_testapps/projects/urls.py:28610 ms7.9%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {6 ms4.7%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))4 ms3.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms3.1%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms3.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms3.1%
get_userdjango/contrib/auth/middleware.py:204 ms3.1%
get_userdjango/contrib/auth/__init__.py:3112 ms1.6%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms1.6%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms1.6%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms1.6%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms1.6%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms1.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.6%
QuerySet.getdjango/db/models/query.py:6352 ms1.6%
QuerySet.__len__django/db/models/query.py:3722 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.6%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
get_userdjango/contrib/auth/__init__.py:3182 ms1.6%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms1.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.6%
QuerySet.getdjango/db/models/query.py:6352 ms1.6%
QuerySet.__len__django/db/models/query.py:3722 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.6%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
org_shellapps/orgs/views.py:422 ms1.6%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms1.6%
QuerySet.existsdjango/db/models/query.py:13372 ms1.6%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:902 ms1.6%
shellapps/projects/urls.py:732 ms1.6%
can_manageapps/projects/urls.py:442 ms1.6%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms1.6%
ReverseManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:6472 ms1.6%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))2 ms1.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.6%
QuerySet.filterdjango/db/models/query.py:15422 ms1.6%
project_testapps/projects/urls.py:3126 ms4.7%
flakiness_for_testapps/projects/flakiness.py:326 history = observations_for(test.project, [test.id], since).get(test.id, [])6 ms4.7%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)4 ms3.1%
QuerySet.__iter__django/db/models/query.py:3904 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.1%
ValuesListIterable.__iter__django/db/models/query.py:2384 ms3.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15734 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.6%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.6%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2382 ms1.6%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms1.6%
Lookup.process_lhsdjango/db/models/lookups.py:1092 ms1.6%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.6%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms1.6%
QuerySet.getdjango/db/models/query.py:6352 ms1.6%
QuerySet.__len__django/db/models/query.py:3722 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.6%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
project_testapps/projects/urls.py:2954 ms3.1%
latest_perfapps/projects/analytics.py:846 return perfs.select_related("profile", "environment").order_by("-date").first()4 ms3.1%
QuerySet.firstdjango/db/models/query.py:11454 ms3.1%
QuerySet.__iter__django/db/models/query.py:3904 ms3.1%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms3.1%
ModelIterable.__iter__django/db/models/query.py:954 ms3.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.6%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.6%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.6%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.6%
Col.as_sqldjango/db/models/expressions.py:13252 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
project_testapps/projects/urls.py:2892 ms1.6%
environment_stats_for_testapps/projects/analytics.py:748 for perf in TestPerf.objects.filter(test=test, date__gte=since).select_related("environment").order_by("date"):2 ms1.6%
QuerySet.__iter__django/db/models/query.py:3902 ms1.6%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.6%
ModelIterable.__iter__django/db/models/query.py:952 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
project_testapps/projects/urls.py:3072 ms1.6%
build_call_treeapps/projects/profiles.py:6072 ms1.6%
frame_atapps/projects/profiles.py:1472 ms1.6%
project_testapps/projects/urls.py:3092 ms1.6%
render_call_treeapps/projects/profiles.py:6742 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.<genexpr>apps/projects/profiles.py:6742 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
format_html_join.<locals>.<genexpr>django/utils/html.py:1642 ms1.6%
render_call_tree.<locals>.render.<locals>.<genexpr>apps/projects/profiles.py:6582 ms1.6%
render_call_tree.<locals>.renderapps/projects/profiles.py:6582 ms1.6%
format_html_joindjango/utils/html.py:1582 ms1.6%
project_testapps/projects/urls.py:3152 ms1.6%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.6%
Query.get_aggregationdjango/db/models/sql/query.py:6442 ms1.6%
project_testapps/projects/urls.py:342 return render(request, "project_test.html", context)2 ms1.6%
renderdjango/shortcuts.py:262 ms1.6%
HttpResponse.__init__django/http/response.py:3822 ms1.6%
HttpResponse.contentdjango/http/response.py:4142 ms1.6%
HttpResponseBase.make_bytesdjango/http/response.py:3222 ms1.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.6%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.6%
Model.savedjango/db/models/base.py:8742 ms1.6%
Model.save_basedjango/db/models/base.py:9662 ms1.6%
Model._save_tabledjango/db/models/base.py:11102 ms1.6%
Model._do_updatedjango/db/models/base.py:12112 ms1.6%
QuerySet._updatedjango/db/models/query.py:13272 ms1.6%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.6%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
ProjectPagesTest.setUpapps/projects/tests.py:953 self.client.force_login(self.user)10 ms7.9%
ClientMixin.force_logindjango/test/client.py:85510 ms7.9%
ClientMixin._logindjango/test/client.py:8818 ms6.3%
logindjango/contrib/auth/__init__.py:1876 ms4.7%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4344 ms3.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.6%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.6%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.6%
QuerySet.existsdjango/db/models/query.py:13372 ms1.6%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.6%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.6%
Atomic.__exit__django/db/transaction.py:2472 ms1.6%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.6%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.6%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.6%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.6%
Model.deletedjango/db/models/base.py:12982 ms1.6%
Collector.deletedjango/db/models/deletion.py:4522 ms1.6%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:392 ms1.6%
Query.add_filterdjango/db/models/sql/query.py:16512 ms1.6%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.6%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.6%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.6%
logindjango/contrib/auth/__init__.py:1972 ms1.6%
Signal.senddjango/dispatch/dispatcher.py:2092 ms1.6%
update_last_logindjango/contrib/auth/models.py:242 ms1.6%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms1.6%
Model.savedjango/db/models/base.py:8742 ms1.6%
Model.save_basedjango/db/models/base.py:9662 ms1.6%
Model._save_tabledjango/db/models/base.py:11102 ms1.6%
Model._do_updatedjango/db/models/base.py:12112 ms1.6%
QuerySet._updatedjango/db/models/query.py:13272 ms1.6%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.6%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
ClientMixin._logindjango/test/client.py:8832 ms1.6%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.6%
Model.savedjango/db/models/base.py:8742 ms1.6%
Model.save_basedjango/db/models/base.py:9662 ms1.6%
Model._save_tabledjango/db/models/base.py:11102 ms1.6%
Model._do_updatedjango/db/models/base.py:12112 ms1.6%
QuerySet._updatedjango/db/models/query.py:13272 ms1.6%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.6%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.6%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.6%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()6 ms4.7%
TestCase._fixture_teardowndjango/test/testcases.py:14954 ms3.1%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4834 ms3.1%
CursorWrapper.executedjango/db/backends/utils.py:794 ms3.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms3.1%
CursorWrapper._executedjango/db/backends/utils.py:1034 ms3.1%
Cursor.executepsycopg/cursor.py:1134 ms3.1%
Connection.waitpsycopg/connection.py:4954 ms3.1%
TestCase._fixture_teardowndjango/test/testcases.py:14942 ms1.6%
TestCase._should_check_constraintsdjango/test/testcases.py:15032 ms1.6%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:4922 ms1.6%
Cursor.executepsycopg/cursor.py:1132 ms1.6%
Connection.waitpsycopg/connection.py:4952 ms1.6%
ProjectPagesTest.test_test_pageapps/projects/tests.py:1033 self.assertContains(response, "Show pytest frames")2 ms1.6%
SimpleTestCase.assertContainsdjango/test/testcases.py:6032 ms1.6%
SimpleTestCase._assert_containsdjango/test/testcases.py:5822 ms1.6%
teardown0.24 ms0.2%
Estimated from 64 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1027
response = self.client.get(self.project.url("project_test", self.real_test.slug))
ProjectPagesTest.test_test_page
· Libraries
|
32 ms |
|
apps/projects/analytics.py:819
TestRun.objects.filter(test=test)
history_for_test
· Database
|
10 ms |
|
apps/projects/tests.py:953
self.client.force_login(self.user)
ProjectPagesTest.setUp
· Database
|
10 ms |
|
apps/projects/analytics.py:806
for perf in TestPerf.objects.filter(test=test)
history_for_test
· Database
|
10 ms |
|
apps/projects/analytics.py:846
return perfs.select_related("profile", "environment").order_by("-date").first()
latest_perf
· Database
|
8 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
6 ms |
|
apps/projects/analytics.py:748
for perf in TestPerf.objects.filter(test=test, date__gte=since).select_related("environment").order_by("date"):
environment_stats_for_test
· Database
|
6 ms |
|
apps/projects/flakiness.py:165
test_runs = list(test_runs)
observations_for
· Database
|
6 ms |
|
apps/projects/urls.py:342
return render(request, "project_test.html", context)
project_test
· Templates
|
6 ms |
|
apps/projects/urls.py:80
environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))
filters
· Database
|
4 ms |
Fixtures
Exact setup time| _django_db_marker function | 0.06 ms |
| _template_string_if_invalid_marker function | 0.05 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_set_urlconf function | 0.05 ms |
| _live_server_helper function | 0.05 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.03 ms |
Database
66 queries · 30 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
6×
SELECT "projects_testperf"."id", "projects_testperf"."project_id", "projects_testperf"."test_id", "projects_testperf"."profile_id", "projects_testperf"."part", "projects_testperf"."environment_id", "projects_testperf"."outcome", "projects_testperf"."duration", "projects_testperf"."setup", "projects…
4×
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…
3×
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > %s AND "django_session"."session_key" = %s) LIMIT ?
3×
UPDATE "django_session" SET "session_data" = %s, "expire_date" = %s WHERE "django_session"."session_key" = %s
Biggest pieces of work
|
call test body
apps/projects/tests.py:1027
|
108 ms |
|
call setUp
apps/projects/tests.py:953
|
10 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
6 ms |
| teardown pytest internals | 0.24 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 | |
|---|---|---|---|---|
| 14 minutes ago | CI github-actions:test | passed | 125 ms | Profile |
| 39 minutes ago | CI github-actions:test | passed | 120 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 145 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 76 ms | Profile |
| 7 hours ago | CI github-actions:test | passed | 130 ms | Profile |