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

ProjectPagesTest::test_test_page_per_environment

First seen 7 hours ago in 78a4357
CI github-actions:test 5 runs
Average
130 ms
median 133 ms
max 166 ms
Phases
Setup 0.67 ms Call 129 ms Teardown 0.22 ms
Categories
Database 84 ms App code 2 ms Other (Libraries, Templates, pytest, Unsampled, ...) 43 ms

72 database queries per run

Needs 14 KB of memory (max 64 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 14 minutes ago · open run
Show pytest frames
setup0.88 ms0.7%
call132 ms99.2%
ProjectPagesTest.test_test_page_per_environmentapps/projects/tests.py:1040 response = self.client.get(url)71 ms53.6%
Client.getdjango/test/client.py:112471 ms53.6%
RequestFactory.getdjango/test/client.py:47571 ms53.6%
RequestFactory.genericdjango/test/client.py:67171 ms53.6%
Client.requestdjango/test/client.py:108271 ms53.6%
ClientHandler.__call__django/test/client.py:18637 ms28.2%
BaseHandler.get_responsedjango/core/handlers/base.py:14137 ms28.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5537 ms28.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13037 ms28.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5537 ms28.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30937 ms28.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5537 ms28.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12337 ms28.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5537 ms28.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30936 ms26.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms26.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30936 ms26.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms26.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30936 ms26.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms26.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30936 ms26.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms26.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30936 ms26.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms26.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30936 ms26.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms26.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3436 ms26.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5536 ms26.8%
BaseHandler._get_responsedjango/core/handlers/base.py:19836 ms26.8%
project_testapps/projects/urls.py:3119 ms6.7%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)7 ms5.4%
QuerySet.__iter__django/db/models/query.py:3905 ms4.0%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms4.0%
ModelIterable.__iter__django/db/models/query.py:1274 ms2.7%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms1.3%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15262 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.filterdjango/db/models/query.py:15422 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:16072 ms1.3%
Query._get_coldjango/db/models/sql/query.py:4512 ms1.3%
history_for_testapps/projects/analytics.py:819 TestRun.objects.filter(test=test)2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:1272 ms1.3%
get_related_populatorsdjango/db/models/query.py:27802 ms1.3%
__init____init__:-12 ms1.3%
RelatedPopulator.__init__django/db/models/query.py:27562 ms1.3%
project_testapps/projects/urls.py:2867 ms5.4%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {4 ms2.7%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms1.3%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
Join.as_sqldjango/db/models/sql/datastructures.py:882 ms1.3%
DatabaseOperations.prepare_join_on_clausedjango/db/backends/postgresql/operations.py:3992 ms1.3%
ForeignKey.db_typedjango/db/models/fields/related.py:12232 ms1.3%
BigAutoField.rel_db_typedjango/db/models/fields/__init__.py:28822 ms1.3%
org_shellapps/orgs/views.py:422 ms1.3%
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.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.filterdjango/db/models/query.py:15422 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.3%
shellapps/projects/urls.py:732 ms1.3%
can_manageapps/projects/urls.py:442 ms1.3%
can_manage_projectapps/projects/urls.py:40 return user.is_superuser or project.organization.membership_set.filter(user=user).exists()2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.filterdjango/db/models/query.py:15422 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.3%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:882 ms1.3%
WhereNode.split_having_qualifydjango/db/models/sql/where.py:472 ms1.3%
project_testapps/projects/urls.py:3125 ms4.0%
flakiness_for_testapps/projects/flakiness.py:326 history = observations_for(test.project, [test.id], since).get(test.id, [])5 ms4.0%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
observations_forapps/projects/flakiness.py:169 for row in Session.objects.filter(id__in={row[4] for row in test_runs}).values_list(2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
observations_forapps/projects/flakiness.py:186 perfs = list(perfs)2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms1.3%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms1.3%
project_testapps/projects/urls.py:342 return render(request, "project_test.html", context)5 ms4.0%
renderdjango/shortcuts.py:255 ms4.0%
render_to_stringdjango/template/loader.py:625 ms4.0%
Template.renderdjango/template/backends/django.py:1075 ms4.0%
Template.renderdjango/template/base.py:1745 ms4.0%
instrumented_test_renderdjango/test/utils.py:1145 ms4.0%
NodeList.renderdjango/template/base.py:10915 ms4.0%
Node.render_annotateddjango/template/base.py:10525 ms4.0%
ExtendsNode.renderdjango/template/loader_tags.py:1605 ms4.0%
instrumented_test_renderdjango/test/utils.py:1145 ms4.0%
NodeList.renderdjango/template/base.py:10915 ms4.0%
Node.render_annotateddjango/template/base.py:10525 ms4.0%
ExtendsNode.renderdjango/template/loader_tags.py:1605 ms4.0%
instrumented_test_renderdjango/test/utils.py:1145 ms4.0%
NodeList.renderdjango/template/base.py:10915 ms4.0%
Node.render_annotateddjango/template/base.py:10525 ms4.0%
BlockNode.renderdjango/template/loader_tags.py:665 ms4.0%
NodeList.renderdjango/template/base.py:10915 ms4.0%
Node.render_annotateddjango/template/base.py:10525 ms4.0%
BlockNode.renderdjango/template/loader_tags.py:665 ms4.0%
NodeList.renderdjango/template/base.py:10915 ms4.0%
Node.render_annotateddjango/template/base.py:10525 ms4.0%
IfNode.renderdjango/template/defaulttags.py:3334 ms2.7%
NodeList.renderdjango/template/base.py:10914 ms2.7%
Node.render_annotateddjango/template/base.py:10524 ms2.7%
ForNode.renderdjango/template/defaulttags.py:2494 ms2.7%
Node.render_annotateddjango/template/base.py:10524 ms2.7%
VariableNode.renderdjango/template/base.py:11502 ms1.3%
FilterExpression.resolvedjango/template/base.py:8152 ms1.3%
naturaltimedjango/contrib/humanize/templatetags/humanize.py:2132 ms1.3%
NaturalTimeFormatter.string_fordjango/contrib/humanize/templatetags/humanize.py:3112 ms1.3%
timesincedjango/utils/timesince.py:1352 ms1.3%
gettextdjango/utils/translation/__init__.py:962 ms1.3%
gettextdjango/utils/translation/trans_real.py:3852 ms1.3%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.3%
NodeList.renderdjango/template/base.py:10912 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
SimpleNode.renderdjango/template/library.py:3252 ms1.3%
purlft/templatetags/helpers.py:292 ms1.3%
Project.urlapps/projects/models.py:59 return reverse(name, args=[self.organization.slug, self.slug, *args])2 ms1.3%
reversedjango/urls/base.py:982 ms1.3%
IfNode.renderdjango/template/defaulttags.py:3262 ms1.3%
TemplateLiteral.evaldjango/template/defaulttags.py:9182 ms1.3%
FilterExpression.resolvedjango/template/base.py:7882 ms1.3%
Variable.resolvedjango/template/base.py:9282 ms1.3%
Variable._resolve_lookupdjango/template/base.py:9762 ms1.3%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.3%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms1.3%
QuerySet.getdjango/db/models/query.py:6352 ms1.3%
QuerySet.__len__django/db/models/query.py:3722 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_testapps/projects/urls.py:2894 ms2.7%
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 ms2.7%
QuerySet.__iter__django/db/models/query.py:3904 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.7%
ModelIterable.__iter__django/db/models/query.py:954 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.3%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.3%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_testapps/projects/urls.py:2882 ms1.3%
environment_slotsapps/projects/analytics.py:214 return {env_id: index + 1 if index < MAX_ENVIRONMENT_SLOTS else 0 for index, env_id in enumerate(environments)}2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.3%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:4742 ms1.3%
SQLCompiler.find_ordering_namedjango/db/models/sql/compiler.py:10682 ms1.3%
project_testapps/projects/urls.py:2952 ms1.3%
latest_perfapps/projects/analytics.py:846 return perfs.select_related("profile", "environment").order_by("-date").first()2 ms1.3%
QuerySet.firstdjango/db/models/query.py:11452 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_testapps/projects/urls.py:3152 ms1.3%
QuerySet.aggregatedjango/db/models/query.py:5942 ms1.3%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.3%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.3%
Model.savedjango/db/models/base.py:8742 ms1.3%
Model.save_basedjango/db/models/base.py:9662 ms1.3%
Model._save_tabledjango/db/models/base.py:11102 ms1.3%
Model._do_updatedjango/db/models/base.py:12112 ms1.3%
QuerySet._updatedjango/db/models/query.py:13272 ms1.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
ClientHandler.__call__django/test/client.py:17334 ms25.5%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6230 ms22.8%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10428 ms21.4%
WhiteNoise.add_fileswhitenoise/base.py:10828 ms21.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12025 ms18.8%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13123 ms17.4%
WhiteNoise.get_static_filewhitenoise/base.py:20818 ms13.4%
StaticFile.__init__whitenoise/responders.py:7212 ms9.4%
StaticFile.get_file_statswhitenoise/responders.py:16312 ms9.4%
StaticFile.__init__whitenoise/responders.py:774 ms2.7%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms2.7%
__init____init__:-12 ms1.3%
StaticFile.__init__whitenoise/responders.py:732 ms1.3%
StaticFile.get_headerswhitenoise/responders.py:1672 ms1.3%
WhiteNoise.get_static_filewhitenoise/base.py:2035 ms4.0%
WhiteNoise.add_cache_headerswhitenoise/base.py:2274 ms2.7%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms1.3%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms1.3%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms1.3%
URLMixin.urldebug_toolbar/panels/staticfiles.py:212 ms1.3%
<GC>~2 ms1.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms2.7%
scantreewhitenoise/base.py:2624 ms2.7%
scantreewhitenoise/base.py:2624 ms2.7%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2642 ms1.3%
scantreewhitenoise/base.py:2642 ms1.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms1.3%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms1.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1202 ms1.3%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1312 ms1.3%
WhiteNoise.get_static_filewhitenoise/base.py:2082 ms1.3%
StaticFile.__init__whitenoise/responders.py:772 ms1.3%
StaticFile.get_alternativeswhitenoise/responders.py:2012 ms1.3%
BaseHandler.load_middlewaredjango/core/handlers/base.py:964 ms2.7%
convert_exception_to_responsedjango/core/handlers/exception.py:522 ms1.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1042 ms1.3%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms1.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms1.3%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2642 ms1.3%
ProjectPagesTest.test_test_page_per_environmentapps/projects/tests.py:104448 ms36.2%
Client.getdjango/test/client.py:112448 ms36.2%
RequestFactory.getdjango/test/client.py:47548 ms36.2%
RequestFactory.genericdjango/test/client.py:67148 ms36.2%
Client.requestdjango/test/client.py:108248 ms36.2%
ClientHandler.__call__django/test/client.py:18648 ms36.2%
BaseHandler.get_responsedjango/core/handlers/base.py:14148 ms36.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5548 ms36.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13048 ms36.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5548 ms36.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30948 ms36.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5548 ms36.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12348 ms36.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5548 ms36.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms34.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms34.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms34.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms34.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms34.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms34.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms34.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms34.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms34.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms34.9%
MiddlewareMixin.__call__django/utils/deprecation.py:30946 ms34.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms34.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3446 ms34.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5546 ms34.9%
BaseHandler._get_responsedjango/core/handlers/base.py:19846 ms34.9%
project_testapps/projects/urls.py:31114 ms10.7%
history_for_testapps/projects/analytics.py:806 for perf in TestPerf.objects.filter(test=test)7 ms5.4%
QuerySet.__iter__django/db/models/query.py:3907 ms5.4%
QuerySet._fetch_alldjango/db/models/query.py:20007 ms5.4%
ModelIterable.__iter__django/db/models/query.py:957 ms5.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16114 ms2.7%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7674 ms2.7%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.3%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.3%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3002 ms1.3%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12572 ms1.3%
Query.setup_joinsdjango/db/models/sql/query.py:19872 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.3%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:4742 ms1.3%
SQLCompiler.find_ordering_namedjango/db/models/sql/compiler.py:10792 ms1.3%
SQLCompiler._setup_joinsdjango/db/models/sql/compiler.py:11342 ms1.3%
Query.setup_joinsdjango/db/models/sql/query.py:18762 ms1.3%
<GC>~2 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:794 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
history_for_testapps/projects/analytics.py:819 TestRun.objects.filter(test=test)5 ms4.0%
QuerySet.__iter__django/db/models/query.py:3905 ms4.0%
QuerySet._fetch_alldjango/db/models/query.py:20005 ms4.0%
ModelIterable.__iter__django/db/models/query.py:955 ms4.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:794 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms2.7%
Cursor.executepsycopg/cursor.py:1134 ms2.7%
Connection.waitpsycopg/connection.py:4954 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.3%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.3%
Expression.__hash__django/db/models/expressions.py:5622 ms1.3%
cached_property.__get__django/utils/functional.py:472 ms1.3%
Expression.identitydjango/db/models/expressions.py:5432 ms1.3%
history_for_testapps/projects/analytics.py:820 .exclude(session__profile__testperf__test=test)2 ms1.3%
QuerySet.excludedjango/db/models/query.py:15502 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15682 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:15512 ms1.3%
project_testapps/projects/urls.py:2867 ms5.4%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {4 ms2.7%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
org_shellapps/orgs/views.py:422 ms1.3%
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.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.filterdjango/db/models/query.py:15422 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:15602 ms1.3%
Query.resolve_lookup_valuedjango/db/models/sql/query.py:13312 ms1.3%
filtersapps/projects/urls.py:792 ms1.3%
resolve_scopeapps/projects/analytics.py:198 selected = Environment.objects.filter(project=project, name=env).first()2 ms1.3%
QuerySet.firstdjango/db/models/query.py:11452 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
RelatedLookupMixin.as_sqldjango/db/models/fields/related_lookups.py:1282 ms1.3%
Exact.as_sqldjango/db/models/lookups.py:4072 ms1.3%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2382 ms1.3%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms1.3%
filtersapps/projects/urls.py:80 environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_testapps/projects/urls.py:3125 ms4.0%
flakiness_for_testapps/projects/flakiness.py:326 history = observations_for(test.project, [test.id], since).get(test.id, [])5 ms4.0%
observations_forapps/projects/flakiness.py:165 test_runs = list(test_runs)2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.3%
RelatedIn.as_sqldjango/db/models/fields/related_lookups.py:952 ms1.3%
In.as_sqldjango/db/models/lookups.py:5562 ms1.3%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2392 ms1.3%
In.process_rhsdjango/db/models/lookups.py:5402 ms1.3%
FieldGetDbPrepValueIterableMixin.batch_process_rhsdjango/db/models/lookups.py:3472 ms1.3%
observations_forapps/projects/flakiness.py:179 perfs = TestPerf.objects.filter(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.filterdjango/db/models/query.py:15422 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.3%
observations_forapps/projects/flakiness.py:189 for row in Profile.objects.filter(id__in={row[3] for row in perfs}).values_list(2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_testapps/projects/urls.py:2894 ms2.7%
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 ms2.7%
QuerySet.__iter__django/db/models/query.py:3904 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.7%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9302 ms1.3%
ModelIterable.__iter__django/db/models/query.py:1282 ms1.3%
project_testapps/projects/urls.py:2954 ms2.7%
latest_perfapps/projects/analytics.py:846 return perfs.select_related("profile", "environment").order_by("-date").first()4 ms2.7%
QuerySet.firstdjango/db/models/query.py:11454 ms2.7%
QuerySet.__iter__django/db/models/query.py:3904 ms2.7%
QuerySet._fetch_alldjango/db/models/query.py:20004 ms2.7%
ModelIterable.__iter__django/db/models/query.py:954 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.3%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms1.3%
Expression.__hash__django/db/models/expressions.py:5622 ms1.3%
cached_property.__get__django/utils/functional.py:472 ms1.3%
Expression.identitydjango/db/models/expressions.py:5442 ms1.3%
BoundArguments.apply_defaults<stdlib>/inspect.py:29212 ms1.3%
Signature._bind<stdlib>/inspect.py:31742 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_testapps/projects/urls.py:3004 ms2.7%
latest_documentapps/projects/profiles.py:2802 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.filterdjango/db/models/query.py:15422 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:15772 ms1.3%
Query.setup_joinsdjango/db/models/sql/query.py:19912 ms1.3%
latest_documentapps/projects/profiles.py:2842 ms1.3%
load_snapshotapps/projects/profiles.py:274 return json.loads(gzip.decompress(bytes(snapshot.document)))2 ms1.3%
loads<stdlib>/json/__init__.py:3712 ms1.3%
project_testapps/projects/urls.py:342 return render(request, "project_test.html", context)4 ms2.7%
renderdjango/shortcuts.py:254 ms2.7%
render_to_stringdjango/template/loader.py:624 ms2.7%
Template.renderdjango/template/backends/django.py:1074 ms2.7%
Template.renderdjango/template/base.py:1744 ms2.7%
instrumented_test_renderdjango/test/utils.py:1144 ms2.7%
NodeList.renderdjango/template/base.py:10914 ms2.7%
Node.render_annotateddjango/template/base.py:10524 ms2.7%
ExtendsNode.renderdjango/template/loader_tags.py:1604 ms2.7%
instrumented_test_renderdjango/test/utils.py:1144 ms2.7%
NodeList.renderdjango/template/base.py:10914 ms2.7%
Node.render_annotateddjango/template/base.py:10524 ms2.7%
ExtendsNode.renderdjango/template/loader_tags.py:1604 ms2.7%
instrumented_test_renderdjango/test/utils.py:1144 ms2.7%
NodeList.renderdjango/template/base.py:10914 ms2.7%
Node.render_annotateddjango/template/base.py:10524 ms2.7%
BlockNode.renderdjango/template/loader_tags.py:662 ms1.3%
NodeList.renderdjango/template/base.py:10912 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
BlockNode.renderdjango/template/loader_tags.py:662 ms1.3%
NodeList.renderdjango/template/base.py:10912 ms1.3%
Node.render_annotateddjango/template/base.py:10522 ms1.3%
IfNode.renderdjango/template/defaulttags.py:3262 ms1.3%
TemplateLiteral.evaldjango/template/defaulttags.py:9182 ms1.3%
FilterExpression.resolvedjango/template/base.py:7882 ms1.3%
Variable.resolvedjango/template/base.py:9282 ms1.3%
Variable._resolve_lookupdjango/template/base.py:9762 ms1.3%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.3%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms1.3%
QuerySet.getdjango/db/models/query.py:6352 ms1.3%
QuerySet.__len__django/db/models/query.py:3722 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
StaticNode.renderdjango/templatetags/static.py:1162 ms1.3%
StaticNode.urldjango/templatetags/static.py:1132 ms1.3%
project_testapps/projects/urls.py:2822 ms1.3%
find_projectapps/projects/urls.py:49 project = get_object_or_404(2 ms1.3%
get_object_or_404django/shortcuts.py:902 ms1.3%
QuerySet.getdjango/db/models/query.py:6352 ms1.3%
QuerySet.__len__django/db/models/query.py:3722 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_testapps/projects/urls.py:285 test = get_object_or_404(Test, slug=test_slug, project=project)2 ms1.3%
get_object_or_404django/shortcuts.py:902 ms1.3%
QuerySet.getdjango/db/models/query.py:6352 ms1.3%
QuerySet.__len__django/db/models/query.py:3722 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
ModelIterable.__iter__django/db/models/query.py:952 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
project_testapps/projects/urls.py:2882 ms1.3%
environment_slotsapps/projects/analytics.py:214 return {env_id: index + 1 if index < MAX_ENVIRONMENT_SLOTS else 0 for index, env_id in enumerate(environments)}2 ms1.3%
QuerySet.__iter__django/db/models/query.py:3902 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.3%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.3%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.3%
Model.savedjango/db/models/base.py:8742 ms1.3%
Model.save_basedjango/db/models/base.py:9662 ms1.3%
Model._save_tabledjango/db/models/base.py:11102 ms1.3%
Model._do_updatedjango/db/models/base.py:12112 ms1.3%
QuerySet._updatedjango/db/models/query.py:13272 ms1.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()7 ms5.4%
TestCase._fixture_teardowndjango/test/testcases.py:14955 ms4.0%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4835 ms4.0%
CursorWrapper.executedjango/db/backends/utils.py:795 ms4.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms4.0%
CursorWrapper._executedjango/db/backends/utils.py:1035 ms4.0%
Cursor.executepsycopg/cursor.py:1135 ms4.0%
Connection.waitpsycopg/connection.py:4955 ms4.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.3%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.3%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms1.3%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms1.3%
Atomic.__exit__django/db/transaction.py:2862 ms1.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.3%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.3%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
ProjectPagesTest.setUpapps/projects/tests.py:953 self.client.force_login(self.user)5 ms4.0%
ClientMixin.force_logindjango/test/client.py:8555 ms4.0%
ClientMixin._logindjango/test/client.py:8814 ms2.7%
logindjango/contrib/auth/__init__.py:1872 ms1.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms1.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.3%
Model.savedjango/db/models/base.py:8742 ms1.3%
Model.save_basedjango/db/models/base.py:9662 ms1.3%
Model._save_tabledjango/db/models/base.py:11672 ms1.3%
Model._do_insertdjango/db/models/base.py:12182 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet._insertdjango/db/models/query.py:19182 ms1.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.3%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.3%
logindjango/contrib/auth/__init__.py:1972 ms1.3%
Signal.senddjango/dispatch/dispatcher.py:2092 ms1.3%
update_last_logindjango/contrib/auth/models.py:242 ms1.3%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms1.3%
Model.savedjango/db/models/base.py:8742 ms1.3%
Model.save_basedjango/db/models/base.py:9662 ms1.3%
Model._save_tabledjango/db/models/base.py:11102 ms1.3%
Model._do_updatedjango/db/models/base.py:12112 ms1.3%
QuerySet._updatedjango/db/models/query.py:13272 ms1.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.3%
Cursor.executepsycopg/cursor.py:1132 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.3%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.3%
ClientMixin._logindjango/test/client.py:8762 ms1.3%
ClientMixin.sessiondjango/test/client.py:8122 ms1.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms1.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.3%
Atomic.__enter__django/db/transaction.py:2112 ms1.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.3%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.3%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3662 ms1.3%
Estimated from 75 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/tests.py:1040
response = self.client.get(url)
ProjectPagesTest.test_test_page_per_environment · Libraries
36 ms
apps/projects/analytics.py:806
for perf in TestPerf.objects.filter(test=test)
history_for_test · Database
14 ms
apps/projects/analytics.py:819
TestRun.objects.filter(test=test)
history_for_test · Database
7 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
7 ms
apps/projects/urls.py:342
return render(request, "project_test.html", context)
project_test · Database
7 ms
apps/projects/tests.py:953
self.client.force_login(self.user)
ProjectPagesTest.setUp · Database
5 ms
apps/projects/analytics.py:846
return perfs.select_related("profile", "environment").order_by("-date").first()
latest_perf · Database
5 ms
apps/orgs/models.py:65
return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()
Organization.is_owner · Database
4 ms
apps/projects/urls.py:80
environments = list(Environment.objects.filter(project=project).order_by("kind", "name"))
filters · Database
4 ms
apps/projects/analytics.py:214
return {env_id: index + 1 if index < MAX_ENVIRONMENT_SLOTS else 0 for index, env_id in enumerate(environments)}
environment_slots · Database
4 ms

Fixtures

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

Database

72 queries · 33 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…
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 "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:1040
119 ms
call _post_teardown
django/test/testcases.py:1240
7 ms
call setUp
apps/projects/tests.py:953
5 ms
setup pytest internals 0.88 ms

Reliability

5 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 5 results, oldest first in the strip
When Environment Outcome Duration Commit
14 minutes ago CI github-actions:test passed 133 ms 9caa567 main Profile
39 minutes ago CI github-actions:test passed 129 ms ec75501 main Profile
7 hours ago CI github-actions:test passed 166 ms d2c12e5 main Profile
7 hours ago CI github-actions:test passed 76 ms 0b902f6 main Profile
7 hours ago CI github-actions:test passed 144 ms 78a4357 main Profile