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

ProfileUploadTest::test_a_failed_part_can_be_uploaded_again

First seen 3 weeks ago in 78a4357
CI github-actions:test 12 runs
Average
105 ms
median 113 ms
max 135 ms
Phases
Setup 0.77 ms Call 104 ms Teardown 0.16 ms
Categories
Database 76 ms App code 1 ms Test code 0.57 ms Other (Libraries, Unsampled, Serialization, Mocking, ...) 27 ms

95 database queries per run

Needs 3 KB of memory (max 16 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
call121 ms99.2%
ProfileUploadTest.test_a_failed_part_can_be_uploaded_againapps/api/tests.py:882 self.upload(document)78 ms64.3%
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(48 ms39.1%
Client.postdjango/test/client.py:115348 ms39.1%
RequestFactory.postdjango/test/client.py:49948 ms39.1%
RequestFactory.genericdjango/test/client.py:67148 ms39.1%
Client.requestdjango/test/client.py:108248 ms39.1%
ClientHandler.__call__django/test/client.py:18627 ms22.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14127 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13027 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30927 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12327 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30927 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30927 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30927 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30927 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30927 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30927 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3427 ms22.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5527 ms22.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19827 ms22.4%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6527 ms22.4%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:3727 ms22.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6427 ms22.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:72 project = get_object_or_404(Project, secrettokens__token=request.headers.get("Authorization"))17 ms14.0%
get_object_or_404django/shortcuts.py:9017 ms14.0%
QuerySet.getdjango/db/models/query.py:63517 ms14.0%
QuerySet.__len__django/db/models/query.py:37217 ms14.0%
QuerySet._fetch_alldjango/db/models/query.py:200017 ms14.0%
ModelIterable.__iter__django/db/models/query.py:9517 ms14.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162414 ms11.2%
CursorWrapper.executedjango/db/backends/utils.py:7914 ms11.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9214 ms11.2%
CursorWrapper._executedjango/db/backends/utils.py:10514 ms11.2%
Cursor.executepsycopg/cursor.py:11314 ms11.2%
Connection.waitpsycopg/connection.py:49514 ms11.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:20614 ms11.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28614 ms11.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7814 ms11.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16113 ms2.8%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms1.4%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
Exact.as_sqldjango/db/models/lookups.py:4072 ms1.4%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2382 ms1.4%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2302 ms1.4%
Lookup.process_lhsdjango/db/models/lookups.py:1092 ms1.4%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms1.4%
BaseExpression.copydjango/db/models/expressions.py:4442 ms1.4%
copy<stdlib>/copy.py:1002 ms1.4%
_reconstruct<stdlib>/copy.py:2552 ms1.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:759 ms7.0%
profile_uploadapps/api/urls.py:1503 ms2.8%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
get_or_create_numberedapps/projects/models.py:24 return model.objects.create(project=project, number=number, **lookup, **(defaults or {})), True2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.createdjango/db/models/query.py:6692 ms1.4%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11672 ms1.4%
Model._do_insertdjango/db/models/base.py:12182 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet._insertdjango/db/models/query.py:19182 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
profile_uploadapps/api/urls.py:152 part = ProfilePart.objects.filter(profile=profile, index=index).order_by("-id").first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
profile_uploadapps/api/urls.py:154 part = ProfilePart.objects.create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.createdjango/db/models/query.py:6692 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11672 ms1.4%
Model._do_insertdjango/db/models/base.py:12182 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet._insertdjango/db/models/query.py:19182 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
profile_uploadapps/api/urls.py:1632 ms1.4%
Project.urlapps/projects/models.py:59 return reverse(name, args=[self.organization.slug, self.slug, *args])2 ms1.4%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.4%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:73 touch_token(request.headers.get("Authorization"))2 ms1.4%
touch_tokenapps/api/urls.py:59 SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)2 ms1.4%
QuerySet.updatedjango/db/models/query.py:13002 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms1.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.4%
ClientHandler.__call__django/test/client.py:17320 ms16.8%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6220 ms16.8%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10420 ms16.8%
WhiteNoise.add_fileswhitenoise/base.py:10820 ms16.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12020 ms16.8%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13120 ms16.8%
WhiteNoise.get_static_filewhitenoise/base.py:20815 ms12.6%
StaticFile.__init__whitenoise/responders.py:739 ms7.0%
StaticFile.get_headerswhitenoise/responders.py:1783 ms2.8%
parsedate<stdlib>/email/_parseaddr.py:1853 ms2.8%
parsedate_tz<stdlib>/email/_parseaddr.py:503 ms2.8%
_parsedate_tz<stdlib>/email/_parseaddr.py:1722 ms1.4%
_parsedate_tz<stdlib>/email/_parseaddr.py:1802 ms1.4%
StaticFile.get_headerswhitenoise/responders.py:1672 ms1.4%
StaticFile.get_headerswhitenoise/responders.py:1762 ms1.4%
formatdate<stdlib>/email/utils.py:2662 ms1.4%
StaticFile.get_headerswhitenoise/responders.py:1812 ms1.4%
StaticFile.__init__whitenoise/responders.py:763 ms2.8%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1893 ms2.8%
Headers.__getitem__<stdlib>/wsgiref/headers.py:833 ms2.8%
Headers.get<stdlib>/wsgiref/headers.py:1042 ms1.4%
Headers.get<stdlib>/wsgiref/headers.py:1072 ms1.4%
StaticFile.__init__whitenoise/responders.py:772 ms1.4%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms1.4%
StaticFile.__init__whitenoise/responders.py:722 ms1.4%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms1.4%
__init____init__:-12 ms1.4%
FileEntry.__init__whitenoise/responders.py:2632 ms1.4%
FileEntry.stat_regular_filewhitenoise/responders.py:2762 ms1.4%
WhiteNoise.get_static_filewhitenoise/base.py:2033 ms2.8%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms1.4%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms1.4%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms1.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms1.4%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms1.4%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1842 ms1.4%
ProfileUploadTest.uploadapps/api/tests.py:49531 ms25.1%
_SharedTaskProxy.__call__potatoq/app.py:76331 ms25.1%
Task.__call__potatoq/task.py:18931 ms25.1%
process_profileapps/api/tasks.py:23922 ms18.2%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)10 ms8.4%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)2 ms1.4%
QuerySet.getdjango/db/models/query.py:6252 ms1.4%
QuerySet.filterdjango/db/models/query.py:15422 ms1.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.4%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.4%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)2 ms1.4%
QuerySet.updatedjango/db/models/query.py:12992 ms1.4%
claim_partapps/projects/profiles.py:381 ProfilePart.objects.filter(profile=profile, index=part.index, id__lt=part.id).delete() # superseded uploads2 ms1.4%
QuerySet.deletedjango/db/models/query.py:12382 ms1.4%
Collector.deletedjango/db/models/deletion.py:4712 ms1.4%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
claim_partapps/projects/profiles.py:3992 ms1.4%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms1.4%
QuerySet.createdjango/db/models/query.py:6692 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11672 ms1.4%
Model._do_insertdjango/db/models/base.py:12182 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet._insertdjango/db/models/query.py:19182 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.4%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.4%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.4%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms1.4%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms1.4%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms1.4%
QuerySet.createdjango/db/models/query.py:6692 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11672 ms1.4%
Model._do_insertdjango/db/models/base.py:12182 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet._insertdjango/db/models/query.py:19182 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
claim_partapps/projects/profiles.py:4672 ms1.4%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11102 ms1.4%
Model._do_updatedjango/db/models/base.py:12112 ms1.4%
QuerySet._updatedjango/db/models/query.py:13272 ms1.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profile_partapps/projects/profiles.py:3655 ms4.2%
upsert_testsapps/projects/profiles.py:4725 ms4.2%
TestManager.upsertapps/projects/models.py:2293 ms2.8%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.4%
TestManager.slugs_forapps/projects/models.py:242 taken = set(self.filter(project_id=project_id, slug__in=set(new.values())).values_list("slug", flat=True))2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms1.4%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms1.4%
QuerySet._insertdjango/db/models/query.py:19182 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profile_partapps/projects/profiles.py:3673 ms2.8%
write_snapshotsapps/projects/profiles.py:3332 ms1.4%
write_snapshots.<locals>.<genexpr>apps/projects/profiles.py:3312 ms1.4%
write_snapshots.<locals>.rowapps/projects/profiles.py:327 compress(json.dumps(snapshot_document(document, entry), separators=(",", ":")).encode()),2 ms1.4%
dumps<stdlib>/json/__init__.py:2412 ms1.4%
JSONEncoder.encode<stdlib>/json/encoder.py:2022 ms1.4%
JSONEncoder.iterencode<stdlib>/json/encoder.py:2632 ms1.4%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)2 ms1.4%
CursorWrapper.executemanydjango/db/backends/utils.py:842 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executemanydjango/db/backends/utils.py:1142 ms1.4%
Cursor.executemanypsycopg/cursor.py:1372 ms1.4%
Connection._pipeline_nolockpsycopg/connection.py:4722 ms1.4%
Pipeline.__exit__psycopg/_pipeline.py:732 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profile_partapps/projects/profiles.py:3662 ms1.4%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()2 ms1.4%
QuerySet.deletedjango/db/models/query.py:12382 ms1.4%
Collector.deletedjango/db/models/deletion.py:4712 ms1.4%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profile_partapps/projects/profiles.py:368 ProfilePart.objects.filter(pk=part.pk).update(2 ms1.4%
QuerySet.updatedjango/db/models/query.py:13002 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profileapps/api/tasks.py:2539 ms7.0%
_SharedTaskProxy.__call__potatoq/app.py:7639 ms7.0%
Task.__call__potatoq/task.py:1899 ms7.0%
finalize_profile_partsapps/api/tasks.py:2599 ms7.0%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.4%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
finalize_profileapps/projects/profiles.py:5172 ms1.4%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms1.4%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms1.4%
QuerySet._insertdjango/db/models/query.py:19182 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
finalize_profileapps/projects/profiles.py:5252 ms1.4%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11102 ms1.4%
Model._do_updatedjango/db/models/base.py:12112 ms1.4%
QuerySet._updatedjango/db/models/query.py:13272 ms1.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
ProfileUploadTest.test_a_failed_part_can_be_uploaded_againapps/api/tests.py:88538 ms30.7%
ProfileUploadTest.uploadapps/api/tests.py:49527 ms22.4%
_SharedTaskProxy.__call__potatoq/app.py:76327 ms22.4%
Task.__call__potatoq/task.py:18927 ms22.4%
process_profileapps/api/tasks.py:23926 ms21.0%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)14 ms11.2%
claim_partapps/projects/profiles.py:3845 ms4.2%
add_perfsapps/projects/rollups.py:30 for perf in perfs:2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.bulk_createdjango/db/models/query.py:8162 ms1.4%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms1.4%
QuerySet._insertdjango/db/models/query.py:19182 ms1.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.4%
claim_partapps/projects/profiles.py:3993 ms2.8%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms1.4%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.4%
get_or_create_environmentapps/projects/environments.py:79 obj.save(update_fields=update_fields)2 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11102 ms1.4%
Model._do_updatedjango/db/models/base.py:12112 ms1.4%
QuerySet._updatedjango/db/models/query.py:13272 ms1.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)2 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
claim_partapps/projects/profiles.py:397 project = profile.project2 ms1.4%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.4%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2222 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.4%
claim_partapps/projects/profiles.py:4672 ms1.4%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 ms1.4%
Model.savedjango/db/models/base.py:8742 ms1.4%
Model.save_basedjango/db/models/base.py:9662 ms1.4%
Model._save_tabledjango/db/models/base.py:11102 ms1.4%
Model._do_updatedjango/db/models/base.py:12112 ms1.4%
QuerySet._updatedjango/db/models/query.py:13272 ms1.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profile_partapps/projects/profiles.py:3665 ms4.2%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(3 ms2.8%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.8%
QuerySet.bulk_createdjango/db/models/query.py:8333 ms2.8%
QuerySet._batched_insertdjango/db/models/query.py:19563 ms2.8%
QuerySet._insertdjango/db/models/query.py:19183 ms2.8%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19253 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.8%
Cursor.executepsycopg/cursor.py:1133 ms2.8%
Connection.waitpsycopg/connection.py:4953 ms2.8%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms1.4%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms1.4%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms1.4%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms1.4%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3002 ms1.4%
Dumper.quotepsycopg/adapt.py:592 ms1.4%
ListDumper.dumppsycopg/types/array.py:1572 ms1.4%
<GC>~2 ms1.4%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()2 ms1.4%
QuerySet.deletedjango/db/models/query.py:12382 ms1.4%
Collector.deletedjango/db/models/deletion.py:4712 ms1.4%
QuerySet._raw_deletedjango/db/models/query.py:12602 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profile_partapps/projects/profiles.py:3653 ms2.8%
upsert_testsapps/projects/profiles.py:4723 ms2.8%
TestManager.upsertapps/projects/models.py:2292 ms1.4%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ValuesListIterable.__iter__django/db/models/query.py:2382 ms1.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profile_partapps/projects/profiles.py:359 or ProfilePart.objects.filter(profile_id=part.profile_id, index=part.index, id__gt=part.id).exists()2 ms1.4%
QuerySet.existsdjango/db/models/query.py:13372 ms1.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
process_profileapps/api/tasks.py:237 part = ProfilePart.objects.select_related("profile").get(id=part_id)2 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.4%
Cursor.executepsycopg/cursor.py:1132 ms1.4%
Connection.waitpsycopg/connection.py:4952 ms1.4%
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(10 ms8.4%
Client.postdjango/test/client.py:115310 ms8.4%
RequestFactory.postdjango/test/client.py:49910 ms8.4%
RequestFactory.genericdjango/test/client.py:67110 ms8.4%
Client.requestdjango/test/client.py:108210 ms8.4%
ClientHandler.__call__django/test/client.py:18610 ms8.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14110 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13010 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12310 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3410 ms8.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms8.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19810 ms8.4%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6510 ms8.4%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:3710 ms8.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6410 ms8.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:757 ms5.6%
profile_uploadapps/api/urls.py:1502 ms1.4%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).first()2 ms1.4%
QuerySet.firstdjango/db/models/query.py:11452 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms1.4%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms1.4%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3592 ms1.4%
profile_uploadapps/api/urls.py:152 part = ProfilePart.objects.filter(profile=profile, index=index).order_by("-id").first()2 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.filterdjango/db/models/query.py:15422 ms1.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.4%
Query.build_filterdjango/db/models/sql/query.py:16132 ms1.4%
Query.build_lookupdjango/db/models/sql/query.py:14402 ms1.4%
profile_uploadapps/api/urls.py:1592 ms1.4%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)2 ms1.4%
compress<stdlib>/gzip.py:6682 ms1.4%
profile_uploadapps/api/urls.py:162 process_profile.delay(part.id)2 ms1.4%
Task.delaypotatoq/task.py:2572 ms1.4%
Task.apply_asyncpotatoq/task.py:2732 ms1.4%
Task._check_argumentspotatoq/task.py:3882 ms1.4%
signature<stdlib>/inspect.py:33432 ms1.4%
Signature.from_callable<stdlib>/inspect.py:30582 ms1.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:72 project = get_object_or_404(Project, secrettokens__token=request.headers.get("Authorization"))2 ms1.4%
get_object_or_404django/shortcuts.py:902 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:73 touch_token(request.headers.get("Authorization"))2 ms1.4%
touch_tokenapps/api/urls.py:59 SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)2 ms1.4%
QuerySet.__iter__django/db/models/query.py:3902 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
FlatValuesListIterable.__iter__django/db/models/query.py:2772 ms1.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15732 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()3 ms2.8%
TestCase._fixture_teardowndjango/test/testcases.py:14953 ms2.8%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4833 ms2.8%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.8%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.8%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms2.8%
Cursor.executepsycopg/cursor.py:1133 ms2.8%
Connection.waitpsycopg/connection.py:4953 ms2.8%
ProfileUploadTest.test_a_failed_part_can_be_uploaded_againapps/api/tests.py:8872 ms1.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.4%
QuerySet.getdjango/db/models/query.py:6352 ms1.4%
QuerySet.__len__django/db/models/query.py:3722 ms1.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.4%
ModelIterable.__iter__django/db/models/query.py:952 ms1.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms1.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms1.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms1.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2972 ms1.4%
Estimated from 71 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/api/tests.py:487
response = self.client.post(
ProfileUploadTest.upload · Libraries
20 ms
apps/api/urls.py:72
project = get_object_or_404(Project, secrettokens__token=request.headers.get("Authorization"))
api_request.<locals>.decorator.<locals>.wrapped_view · Database
19 ms
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save · Database
7 ms
apps/api/urls.py:59
SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)
touch_token · Database
3 ms
apps/projects/models.py:18
existing = model.objects.filter(project=project, **lookup).first()
get_or_create_numbered · Database
3 ms
apps/api/urls.py:152
part = ProfilePart.objects.filter(profile=profile, index=index).order_by("-id").first()
profile_upload · Database
3 ms
apps/projects/profiles.py:379
profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)
claim_part · Database
3 ms
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment · Database
3 ms
apps/projects/models.py:240
existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))
TestManager.slugs_for · Database
3 ms
apps/projects/profiles.py:478
TestPerf.objects.filter(profile=profile, part=part.index).delete()
write_perfs · Database
3 ms

Fixtures

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

Database

95 queries · 35 ms

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

8×
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"."…
5×
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…
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…

Biggest pieces of work

call test body
apps/api/tests.py:882
118 ms
call _post_teardown
django/test/testcases.py:1240
3 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
16 hours ago CI github-actions:test passed 122 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 71 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 114 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 84 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 135 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 73 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 118 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 111 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 113 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 127 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 71 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 120 ms 78a4357 main Profile