Tests / apps/api/tests.py
ProfileUploadTest::test_missing_parts_mark_the_profile_incomplete
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
491 ms
median 414 ms
max 875 ms
max 875 ms
Phases
Setup 0.71 ms
Call 491 ms
Teardown 0.19 ms
Categories
Database 123 ms
App code 3 ms
Test code 0.25 ms
Other (Templates, Imports, Libraries, Unsampled, ...) 365 ms
190 database queries per run
Needs 897 KB of memory (max 3 MB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call763 ms99.9%
ProfileUploadTest.test_missing_parts_mark_the_profile_incompleteapps/api/tests.py:830 response = self.client.get(self.project.url("project_profile", profile.number))618 ms80.9%
Client.getdjango/test/client.py:1124618 ms80.9%
RequestFactory.getdjango/test/client.py:475618 ms80.9%
RequestFactory.genericdjango/test/client.py:671618 ms80.9%
Client.requestdjango/test/client.py:1082618 ms80.9%
ClientHandler.__call__django/test/client.py:186616 ms80.7%
BaseHandler.get_responsedjango/core/handlers/base.py:141616 ms80.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55616 ms80.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:130616 ms80.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55616 ms80.7%
MiddlewareMixin.__call__django/utils/deprecation.py:309616 ms80.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55616 ms80.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:123616 ms80.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55616 ms80.7%
MiddlewareMixin.__call__django/utils/deprecation.py:309615 ms80.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55615 ms80.5%
MiddlewareMixin.__call__django/utils/deprecation.py:309615 ms80.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55615 ms80.5%
MiddlewareMixin.__call__django/utils/deprecation.py:309615 ms80.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55615 ms80.5%
MiddlewareMixin.__call__django/utils/deprecation.py:309615 ms80.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55615 ms80.5%
MiddlewareMixin.__call__django/utils/deprecation.py:309615 ms80.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55615 ms80.5%
MiddlewareMixin.__call__django/utils/deprecation.py:309615 ms80.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55615 ms80.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:34615 ms80.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:55615 ms80.5%
BaseHandler._get_responsedjango/core/handlers/base.py:198615 ms80.5%
project_profileapps/projects/urls.py:498 return render(602 ms78.9%
renderdjango/shortcuts.py:25602 ms78.9%
render_to_stringdjango/template/loader.py:62570 ms74.6%
Template.renderdjango/template/backends/django.py:107570 ms74.6%
Template.renderdjango/template/base.py:174560 ms73.3%
instrumented_test_renderdjango/test/utils.py:114560 ms73.3%
NodeList.renderdjango/template/base.py:1091560 ms73.3%
Node.render_annotateddjango/template/base.py:1052560 ms73.3%
ExtendsNode.renderdjango/template/loader_tags.py:160560 ms73.3%
instrumented_test_renderdjango/test/utils.py:114560 ms73.3%
NodeList.renderdjango/template/base.py:1091560 ms73.3%
Node.render_annotateddjango/template/base.py:1052560 ms73.3%
ExtendsNode.renderdjango/template/loader_tags.py:160560 ms73.3%
instrumented_test_renderdjango/test/utils.py:114560 ms73.3%
NodeList.renderdjango/template/base.py:1091560 ms73.3%
Node.render_annotateddjango/template/base.py:1052560 ms73.3%
BlockNode.renderdjango/template/loader_tags.py:66560 ms73.3%
NodeList.renderdjango/template/base.py:1091560 ms73.3%
Node.render_annotateddjango/template/base.py:1052560 ms73.3%
BlockNode.renderdjango/template/loader_tags.py:66514 ms67.2%
NodeList.renderdjango/template/base.py:1091514 ms67.2%
Node.render_annotateddjango/template/base.py:1052514 ms67.2%
IfNode.renderdjango/template/defaulttags.py:333514 ms67.2%
NodeList.renderdjango/template/base.py:1091514 ms67.2%
Node.render_annotateddjango/template/base.py:1052514 ms67.2%
IfNode.renderdjango/template/defaulttags.py:333511 ms66.9%
NodeList.renderdjango/template/base.py:1091511 ms66.9%
Node.render_annotateddjango/template/base.py:1052511 ms66.9%
ForNode.renderdjango/template/defaulttags.py:249507 ms66.3%
Node.render_annotateddjango/template/base.py:1052507 ms66.3%
IncludeNode.renderdjango/template/loader_tags.py:211507 ms66.3%
Template.renderdjango/template/base.py:176507 ms66.3%
instrumented_test_renderdjango/test/utils.py:114507 ms66.3%
NodeList.renderdjango/template/base.py:1091507 ms66.3%
Node.render_annotateddjango/template/base.py:1052507 ms66.3%
IfNode.renderdjango/template/defaulttags.py:333507 ms66.3%
NodeList.renderdjango/template/base.py:1091507 ms66.3%
Node.render_annotateddjango/template/base.py:1052507 ms66.3%
WithNode.renderdjango/template/defaulttags.py:579505 ms66.1%
FilterExpression.resolvedjango/template/base.py:815505 ms66.1%
insight_guideft/templatetags/helpers.py:51505 ms66.1%
guide_for_insightapps/guides/content.py:163505 ms66.1%
all_guidesapps/guides/content.py:144505 ms66.1%
loadapps/guides/content.py:125505 ms66.1%
renderapps/guides/content.py:112 html = md.convert(body)455 ms59.5%
Markdown.convertmarkdown/core.py:367267 ms35.0%
FencedBlockPreprocessor.runmarkdown/extensions/fenced_code.py:145252 ms33.0%
CodeHilite.hilitemarkdown/extensions/codehilite.py:153122 ms16.0%
get_lexer_by_namepygments/lexers/__init__.py:12661 ms7.9%
_load_lexerspygments/lexers/__init__.py:4561 ms7.9%
_find_and_load<frozen importlib._bootstrap>:135361 ms7.9%
get_lexer_by_namepygments/lexers/__init__.py:12744 ms5.7%
RegexLexerMeta.__call__pygments/lexer.py:66044 ms5.7%
RegexLexerMeta.process_tokendefpygments/lexer.py:59944 ms5.7%
get_lexer_by_namepygments/lexers/__init__.py:12410 ms1.3%
get_lexer_by_namepygments/lexers/__init__.py:1238 ms1.1%
CodeHilite.hilitemarkdown/extensions/codehilite.py:17383 ms10.9%
highlightpygments/__init__.py:8283 ms10.9%
formatpygments/__init__.py:6483 ms10.9%
Formatter.formatpygments/formatter.py:12482 ms10.7%
CodeHilite.hilitemarkdown/extensions/codehilite.py:16846 ms6.1%
get_formatter_by_namepygments/formatters/__init__.py:8141 ms5.3%
HtmlFormatter.__init__pygments/formatters/html.py:46635 ms4.6%
HtmlFormatter._create_stylesheetpygments/formatters/html.py:49515 ms2.0%
HtmlFormatter._create_stylesheetpygments/formatters/html.py:4968 ms1.1%
HtmlFormatter._create_stylesheetpygments/formatters/html.py:4994 ms0.6%
3 smaller frames hidden
HtmlFormatter.__init__pygments/formatters/html.py:4204 ms0.6%
1 smaller frames hidden
get_formatter_by_namepygments/formatters/__init__.py:786 ms0.7%
find_formatter_classpygments/formatters/__init__.py:636 ms0.7%
_load_formatterspygments/formatters/__init__.py:386 ms0.7%
NormalizeWhitespace.runmarkdown/preprocessors.py:746 ms0.7%
sub<stdlib>/re/__init__.py:2106 ms0.7%
HtmlBlockPreprocessor.runmarkdown/preprocessors.py:894 ms0.6%
HTMLParser.feed<stdlib>/html/parser.py:1874 ms0.6%
HTMLParser.goahead<stdlib>/html/parser.py:2624 ms0.6%
3 smaller frames hidden
Markdown.convertmarkdown/core.py:374135 ms17.7%
InlineProcessor.runmarkdown/treeprocessors.py:392100 ms13.1%
InlineProcessor.__handleInlinemarkdown/treeprocessors.py:13691 ms12.0%
InlineProcessor.__applyPatternmarkdown/treeprocessors.py:28553 ms7.0%
InlineProcessor.__applyPatternmarkdown/treeprocessors.py:28615 ms2.0%
InlineProcessor.__applyPatternmarkdown/treeprocessors.py:3147 ms0.9%
InlineProcessor.__handleInlinemarkdown/treeprocessors.py:1366 ms0.7%
1 smaller frames hidden
5 smaller frames hidden
1 smaller frames hidden
TocTreeprocessor.runmarkdown/extensions/toc.py:4087 ms0.9%
TocTreeprocessor.replace_markermarkdown/extensions/toc.py:2807 ms0.9%
InlineProcessor.runmarkdown/treeprocessors.py:3917 ms0.9%
PrettifyTreeprocessor.runmarkdown/treeprocessors.py:4424 ms0.6%
PrettifyTreeprocessor._prettifyETreemarkdown/treeprocessors.py:4354 ms0.6%
9 smaller frames hidden
Markdown.convertmarkdown/core.py:37041 ms5.3%
BlockParser.parseDocumentmarkdown/blockparser.py:11741 ms5.3%
BlockParser.parseChunkmarkdown/blockparser.py:13641 ms5.3%
BlockParser.parseBlocksmarkdown/blockparser.py:15724 ms3.1%
SetextHeaderProcessor.testmarkdown/blockprocessors.py:5007 ms0.9%
HRProcessor.testmarkdown/blockprocessors.py:5264 ms0.6%
TableProcessor.testmarkdown/extensions/tables.py:664 ms0.6%
TableProcessor._split_rowmarkdown/extensions/tables.py:1534 ms0.6%
3 smaller frames hidden
BlockParser.parseBlocksmarkdown/blockparser.py:15817 ms2.2%
OListProcessor.runmarkdown/blockprocessors.py:41510 ms1.3%
BlockParser.parseBlocksmarkdown/blockparser.py:1577 ms0.9%
1 smaller frames hidden
4 smaller frames hidden
Markdown.convertmarkdown/core.py:3794 ms0.6%
to_xhtml_stringmarkdown/serializers.py:2144 ms0.6%
_write_htmlmarkdown/serializers.py:1994 ms0.6%
Markdown.convertmarkdown/core.py:3974 ms0.6%
1 smaller frames hidden
renderapps/guides/content.py:108 md = markdown.Markdown(51 ms6.6%
Markdown.__init__markdown/core.py:12427 ms3.5%
Markdown.build_parsermarkdown/core.py:15624 ms3.1%
build_inlinepatternsmarkdown/inlinepatterns.py:9411 ms1.5%
DelimiterProcessor.addmarkdown/inlinepatterns.py:76311 ms1.5%
__init____init__:-111 ms1.5%
Delimiter.__init__markdown/inlinepatterns.py:65611 ms1.5%
build_inlinepatternsmarkdown/inlinepatterns.py:9311 ms1.5%
DelimiterProcessor.__init__markdown/inlinepatterns.py:75010 ms1.3%
DelimiterProcessor.addmarkdown/inlinepatterns.py:76310 ms1.3%
Delimiter.__init__markdown/inlinepatterns.py:65610 ms1.3%
1 smaller frames hidden
1 smaller frames hidden
2 smaller frames hidden
Markdown.__init__markdown/core.py:12824 ms3.1%
Markdown.registerExtensionsmarkdown/core.py:18124 ms3.1%
Markdown.build_extensionmarkdown/core.py:22021 ms2.8%
EntryPoint.loadimportlib_metadata/__init__.py:22121 ms2.8%
import_module<stdlib>/importlib/__init__.py:8821 ms2.8%
_gcd_import<frozen importlib._bootstrap>:138921 ms2.8%
1 smaller frames hidden
1 smaller frames hidden
SimpleNode.renderdjango/template/library.py:3254 ms0.6%
heroicon_outlineheroicons/templatetags/heroicons.py:234 ms0.6%
_render_iconheroicons/templatetags/heroicons.py:394 ms0.6%
_render_iconheroicons/__init__.py:454 ms0.6%
_load_iconheroicons/__init__.py:184 ms0.6%
ZipFile.__init__<stdlib>/zipfile/__init__.py:15054 ms0.6%
2 smaller frames hidden
IfNode.renderdjango/template/defaulttags.py:33341 ms5.3%
NodeList.renderdjango/template/base.py:109141 ms5.3%
Node.render_annotateddjango/template/base.py:105241 ms5.3%
SimpleNode.renderdjango/template/library.py:32534 ms4.4%
heroicon_miniheroicons/templatetags/heroicons.py:1834 ms4.4%
_render_iconheroicons/templatetags/heroicons.py:3934 ms4.4%
_render_iconheroicons/__init__.py:4534 ms4.4%
_load_iconheroicons/__init__.py:1834 ms4.4%
ZipFile.__init__<stdlib>/zipfile/__init__.py:150534 ms4.4%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16068 ms1.1%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:16238 ms1.1%
ZipFile._RealGetContents<stdlib>/zipfile/__init__.py:15684 ms0.6%
6 smaller frames hidden
4 smaller frames hidden
3 smaller frames hidden
Template.renderdjango/template/base.py:17210 ms1.3%
_request_context_bind_templatedebug_toolbar/panels/templates/panel.py:4610 ms1.3%
cached_property.__get__django/utils/functional.py:4710 ms1.3%
Engine.template_context_processorsdjango/template/engine.py:11810 ms1.3%
Engine.template_context_processors.<locals>.<genexpr>django/template/engine.py:11810 ms1.3%
import_stringdjango/utils/module_loading.py:3010 ms1.3%
cached_importdjango/utils/module_loading.py:1510 ms1.3%
import_module<stdlib>/importlib/__init__.py:8810 ms1.3%
_gcd_import<frozen importlib._bootstrap>:138910 ms1.3%
_find_and_load<frozen importlib._bootstrap>:135310 ms1.3%
_find_and_load_unlocked<frozen importlib._bootstrap>:124910 ms1.3%
_load_unlocked<frozen importlib._bootstrap>:85710 ms1.3%
_LoaderBasics.exec_module<frozen importlib._bootstrap_external>:7477 ms0.9%
SourceLoader.get_code<frozen importlib._bootstrap_external>:8817 ms0.9%
SourceLoader.source_to_code<frozen importlib._bootstrap_external>:8107 ms0.9%
_call_with_frames_removed<frozen importlib._bootstrap>:4917 ms0.9%
1 smaller frames hidden
render_to_stringdjango/template/loader.py:6132 ms4.2%
get_templatedjango/template/loader.py:1225 ms3.3%
_engine_listdjango/template/loader.py:6625 ms3.3%
EngineHandler.alldjango/template/utils.py:9425 ms3.3%
EngineHandler.__getitem__django/template/utils.py:8525 ms3.3%
DjangoTemplates.__init__django/template/backends/django.py:2623 ms2.9%
DjangoTemplates.get_templatetag_librariesdjango/template/backends/django.py:8823 ms2.9%
get_installed_librariesdjango/template/backends/django.py:16323 ms2.9%
get_template_tag_modulesdjango/template/backends/django.py:15118 ms2.4%
get_package_librariesdjango/template/backends/django.py:17418 ms2.4%
import_module<stdlib>/importlib/__init__.py:8818 ms2.4%
_gcd_import<frozen importlib._bootstrap>:138918 ms2.4%
_find_and_load<frozen importlib._bootstrap>:135318 ms2.4%
_find_and_load_unlocked<frozen importlib._bootstrap>:124918 ms2.4%
_load_unlocked<frozen importlib._bootstrap>:85718 ms2.4%
_LoaderBasics.exec_module<frozen importlib._bootstrap_external>:74711 ms1.5%
SourceLoader.get_code<frozen importlib._bootstrap_external>:88110 ms1.3%
SourceLoader.source_to_code<frozen importlib._bootstrap_external>:81010 ms1.3%
_call_with_frames_removed<frozen importlib._bootstrap>:49110 ms1.3%
1 smaller frames hidden
_LoaderBasics.exec_module<frozen importlib._bootstrap_external>:7517 ms0.9%
_call_with_frames_removed<frozen importlib._bootstrap>:4917 ms0.9%
<module>django/contrib/admin/templatetags/admin_list.py:114 ms0.6%
_find_and_load<frozen importlib._bootstrap>:13534 ms0.6%
_find_and_load_unlocked<frozen importlib._bootstrap>:12494 ms0.6%
_load_unlocked<frozen importlib._bootstrap>:8574 ms0.6%
_LoaderBasics.exec_module<frozen importlib._bootstrap_external>:7474 ms0.6%
SourceLoader.get_code<frozen importlib._bootstrap_external>:8814 ms0.6%
SourceLoader.source_to_code<frozen importlib._bootstrap_external>:8104 ms0.6%
2 smaller frames hidden
get_template_tag_modulesdjango/template/backends/django.py:1454 ms0.6%
import_module<stdlib>/importlib/__init__.py:884 ms0.6%
_gcd_import<frozen importlib._bootstrap>:13894 ms0.6%
_find_and_load<frozen importlib._bootstrap>:13534 ms0.6%
1 smaller frames hidden
get_templatedjango/template/loader.py:157 ms0.9%
DjangoTemplates.get_templatedjango/template/backends/django.py:797 ms0.9%
Engine.get_templatedjango/template/engine.py:1867 ms0.9%
Engine.find_templatedjango/template/engine.py:1574 ms0.6%
cached_property.__get__django/utils/functional.py:474 ms0.6%
Engine.template_loadersdjango/template/engine.py:1314 ms0.6%
Engine.get_template_loadersdjango/template/engine.py:1364 ms0.6%
1 smaller frames hidden
project_profileapps/projects/urls.py:5024 ms0.6%
4 smaller frames hidden
1 smaller frames hidden
1 smaller frames hidden
ProfileUploadTest.test_missing_parts_mark_the_profile_incompleteapps/api/tests.py:81763 ms8.3%
ProfileUploadTest.uploadapps/api/tests.py:49538 ms5.0%
_SharedTaskProxy.__call__potatoq/app.py:76338 ms5.0%
Task.__call__potatoq/task.py:18938 ms5.0%
process_profileapps/api/tasks.py:23937 ms4.8%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)30 ms3.9%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(27 ms3.5%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:8727 ms3.5%
QuerySet.get_or_createdjango/db/models/query.py:98725 ms3.3%
QuerySet.getdjango/db/models/query.py:63520 ms2.6%
QuerySet.__len__django/db/models/query.py:37220 ms2.6%
QuerySet._fetch_alldjango/db/models/query.py:200020 ms2.6%
ModelIterable.__iter__django/db/models/query.py:9520 ms2.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162420 ms2.6%
CursorWrapper.executedjango/db/backends/utils.py:7920 ms2.6%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9220 ms2.6%
CursorWrapper._executedjango/db/backends/utils.py:10520 ms2.6%
Cursor.executepsycopg/cursor.py:11318 ms2.4%
Connection.waitpsycopg/connection.py:49518 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:20618 ms2.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28618 ms2.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7818 ms2.4%
2 smaller frames hidden
1 smaller frames hidden
2 smaller frames hidden
process_profile_partapps/projects/profiles.py:3654 ms0.6%
upsert_testsapps/projects/profiles.py:4724 ms0.6%
2 smaller frames hidden
1 smaller frames hidden
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(25 ms3.3%
Client.postdjango/test/client.py:115325 ms3.3%
RequestFactory.postdjango/test/client.py:49925 ms3.3%
RequestFactory.genericdjango/test/client.py:67125 ms3.3%
Client.requestdjango/test/client.py:108225 ms3.3%
ClientHandler.__call__django/test/client.py:17325 ms3.3%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6225 ms3.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10424 ms3.1%
WhiteNoise.add_fileswhitenoise/base.py:10824 ms3.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:11514 ms1.8%
scantreewhitenoise/base.py:26210 ms1.3%
scantreewhitenoise/base.py:2628 ms1.1%
scantreewhitenoise/base.py:2644 ms0.6%
2 smaller frames hidden
1 smaller frames hidden
2 smaller frames hidden
WhiteNoise.update_files_dictionarywhitenoise/base.py:12010 ms1.3%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13110 ms1.3%
WhiteNoise.get_static_filewhitenoise/base.py:2087 ms0.9%
2 smaller frames hidden
1 smaller frames hidden
ProfileUploadTest.test_missing_parts_mark_the_profile_incompleteapps/api/tests.py:83932 ms4.2%
ProfileUploadTest.uploadapps/api/tests.py:49527 ms3.5%
_SharedTaskProxy.__call__potatoq/app.py:76327 ms3.5%
Task.__call__potatoq/task.py:18927 ms3.5%
process_profileapps/api/tasks.py:25313 ms1.7%
_SharedTaskProxy.__call__potatoq/app.py:76313 ms1.7%
Task.__call__potatoq/task.py:18913 ms1.7%
finalize_profile_partsapps/api/tasks.py:25911 ms1.5%
1 smaller frames hidden
process_profileapps/api/tasks.py:23911 ms1.5%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)4 ms0.6%
process_profile_partapps/projects/profiles.py:3654 ms0.6%
upsert_testsapps/projects/profiles.py:4724 ms0.6%
2 smaller frames hidden
1 smaller frames hidden
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(6 ms0.7%
Client.postdjango/test/client.py:11536 ms0.7%
RequestFactory.postdjango/test/client.py:4996 ms0.7%
RequestFactory.genericdjango/test/client.py:6716 ms0.7%
Client.requestdjango/test/client.py:10826 ms0.7%
ClientHandler.__call__django/test/client.py:1866 ms0.7%
BaseHandler.get_responsedjango/core/handlers/base.py:1416 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1306 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1236 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:346 ms0.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms0.7%
BaseHandler._get_responsedjango/core/handlers/base.py:1986 ms0.7%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:656 ms0.7%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:376 ms0.7%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:646 ms0.7%
ProfileUploadTest.test_missing_parts_mark_the_profile_incompleteapps/api/tests.py:81815 ms2.0%
ProfileUploadTest.uploadapps/api/tests.py:49510 ms1.3%
_SharedTaskProxy.__call__potatoq/app.py:76310 ms1.3%
Task.__call__potatoq/task.py:18910 ms1.3%
process_profileapps/api/tasks.py:2396 ms0.7%
2 smaller frames hidden
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(6 ms0.7%
Client.postdjango/test/client.py:11536 ms0.7%
RequestFactory.postdjango/test/client.py:4996 ms0.7%
RequestFactory.genericdjango/test/client.py:6716 ms0.7%
Client.requestdjango/test/client.py:10824 ms0.6%
ClientHandler.__call__django/test/client.py:1864 ms0.6%
BaseHandler.get_responsedjango/core/handlers/base.py:1414 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1304 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1234 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3094 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:344 ms0.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:554 ms0.6%
BaseHandler._get_responsedjango/core/handlers/base.py:1984 ms0.6%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:654 ms0.6%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:374 ms0.6%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:644 ms0.6%
1 smaller frames hidden
ProfileUploadTest.test_missing_parts_mark_the_profile_incompleteapps/api/tests.py:83414 ms1.8%
Client.getdjango/test/client.py:112414 ms1.8%
RequestFactory.getdjango/test/client.py:47514 ms1.8%
RequestFactory.genericdjango/test/client.py:67114 ms1.8%
Client.requestdjango/test/client.py:108214 ms1.8%
ClientHandler.__call__django/test/client.py:18614 ms1.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14114 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms1.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13014 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms1.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12314 ms1.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms1.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30911 ms1.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5511 ms1.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30911 ms1.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5511 ms1.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30911 ms1.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5511 ms1.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30911 ms1.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5511 ms1.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30911 ms1.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5511 ms1.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30911 ms1.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5511 ms1.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3411 ms1.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5511 ms1.5%
BaseHandler._get_responsedjango/core/handlers/base.py:19811 ms1.5%
project_profilesapps/projects/urls.py:470 return render(request, "project_profiles.html", context)4 ms0.6%
renderdjango/shortcuts.py:254 ms0.6%
3 smaller frames hidden
1 smaller frames hidden
ProfileUploadTest.test_missing_parts_mark_the_profile_incompleteapps/api/tests.py:829 self.client.force_login(user)8 ms1.1%
ClientMixin.force_logindjango/test/client.py:8558 ms1.1%
ClientMixin._logindjango/test/client.py:8814 ms0.6%
2 smaller frames hidden
7 smaller frames hidden
Estimated from 542 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/guides/content.py:112
html = md.convert(body)
render
· Templates
|
455 ms |
|
apps/projects/urls.py:498
return render(
project_profile
· Templates
|
97 ms |
|
apps/guides/content.py:108
md = markdown.Markdown(
render
· Templates
|
51 ms |
|
apps/projects/profiles.py:404
commit, _ = Commit.objects.get_or_create(
claim_part
· Database
|
27 ms |
|
apps/api/tests.py:487
response = self.client.post(
ProfileUploadTest.upload
· Libraries
|
27 ms |
|
apps/api/tests.py:829
self.client.force_login(user)
ProfileUploadTest.test_missing_parts_mark_the_profile_incomplete
· Database
|
8 ms |
|
apps/projects/models.py:230
self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order
TestManager.upsert
· Database
|
4 ms |
|
apps/projects/profiles.py:500
profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)
finalize_profile
· Database
|
4 ms |
|
apps/api/tasks.py:237
part = ProfilePart.objects.select_related("profile").get(id=part_id)
process_profile
· Database
|
4 ms |
|
apps/projects/urls.py:470
return render(request, "project_profiles.html", context)
project_profiles
· Database
|
4 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.07 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.03 ms |
Database
190 queries · 63 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
14×
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…
12×
SELECT "projects_profilepart"."id", "projects_profilepart"."profile_id", "projects_profilepart"."index", "projects_profilepart"."count", "projects_profilepart"."checksum", "projects_profilepart"."status", "projects_profilepart"."error", "projects_profilepart"."tests_count", "projects_profilepart"."…
8×
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…
5×
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…
4×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
Biggest pieces of work
|
call test body
apps/api/tests.py:830
|
763 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 764 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 445 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 806 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 624 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 875 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 482 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 334 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 312 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 336 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 383 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 209 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 327 ms | Profile |