CI
github-actions:test
12 runs
Average
138 ms
median 140 ms
max 281 ms
max 281 ms
Phases
Setup 0.70 ms
Call 137 ms
Teardown 0.18 ms
Categories
Database 97 ms
App code 3 ms
Test code 0.29 ms
Other (Libraries, Serialization, Unsampled, pytest) 38 ms
133 database queries per run
Needs 251 KB of memory (max 784 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call125 ms99.3%
ProfileUploadTest.test_upload_in_partsapps/api/tests.py:727 response = self.upload(third)57 ms45.1%
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(37 ms29.7%
Client.postdjango/test/client.py:115337 ms29.7%
RequestFactory.postdjango/test/client.py:49937 ms29.7%
RequestFactory.genericdjango/test/client.py:67137 ms29.7%
Client.requestdjango/test/client.py:108237 ms29.7%
ClientHandler.__call__django/test/client.py:17323 ms18.1%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6223 ms18.1%
__init____init__:-123 ms18.1%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10423 ms18.1%
WhiteNoise.add_fileswhitenoise/base.py:10823 ms18.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12019 ms15.5%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13119 ms15.5%
WhiteNoise.get_static_filewhitenoise/base.py:20815 ms11.6%
StaticFile.__init__whitenoise/responders.py:778 ms6.4%
StaticFile.get_alternativeswhitenoise/responders.py:1986 ms5.2%
StaticFile.get_alternatives.<locals>.<lambda>whitenoise/responders.py:1986 ms5.2%
<GC>~6 ms5.2%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms1.3%
StaticFile.__init__whitenoise/responders.py:733 ms2.6%
StaticFile.get_headerswhitenoise/responders.py:1672 ms1.3%
StaticFile.get_headerswhitenoise/responders.py:1782 ms1.3%
parsedate<stdlib>/email/_parseaddr.py:1852 ms1.3%
StaticFile.__init__whitenoise/responders.py:722 ms1.3%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms1.3%
__init____init__:-12 ms1.3%
FileEntry.__init__whitenoise/responders.py:2632 ms1.3%
FileEntry.stat_regular_filewhitenoise/responders.py:2762 ms1.3%
<GC>~2 ms1.3%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms1.3%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms1.3%
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:202 ms1.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms2.6%
scantreewhitenoise/base.py:2623 ms2.6%
scantreewhitenoise/base.py:2623 ms2.6%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2622 ms1.3%
scantreewhitenoise/base.py:2642 ms1.3%
ClientHandler.__call__django/test/client.py:18615 ms11.6%
BaseHandler.get_responsedjango/core/handlers/base.py:14115 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13015 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12315 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30915 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3415 ms11.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5515 ms11.6%
BaseHandler._get_responsedjango/core/handlers/base.py:19813 ms10.3%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6513 ms10.3%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:3713 ms10.3%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6413 ms10.3%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:7510 ms7.7%
profile_uploadapps/api/urls.py:1505 ms3.9%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).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%
get_or_create_numberedapps/projects/models.py:212 ms1.3%
next_numberapps/projects/models.py:35 return (model.objects.filter(project_id=project_id).aggregate(last=models.Max("number"))["last"] or 0) + 12 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%
get_or_create_numberedapps/projects/models.py:24 return model.objects.create(project=project, number=number, **lookup, **(defaults or {})), True2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.createdjango/db/models/query.py:6692 ms1.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 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%
profile_uploadapps/api/urls.py:1372 ms1.3%
parse_documentapps/projects/profiles.py:802 ms1.3%
loadsapps/projects/profiles.py:118 document = json.loads(data)2 ms1.3%
loads<stdlib>/json/__init__.py:3712 ms1.3%
JSONDecoder.decode<stdlib>/json/decoder.py:3582 ms1.3%
JSONDecoder.raw_decode<stdlib>/json/decoder.py:3742 ms1.3%
profile_uploadapps/api/urls.py:152 part = ProfilePart.objects.filter(profile=profile, index=index).order_by("-id").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: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%
profile_uploadapps/api/urls.py:154 part = ProfilePart.objects.create(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.createdjango/db/models/query.py:6692 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:19242 ms1.3%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18132 ms1.3%
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.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:16622 ms1.3%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms1.3%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms1.3%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms1.3%
Cursor.fetchmanypsycopg/cursor.py:2682 ms1.3%
BaseTzLoader.loaddjango/db/backends/postgresql/psycopg_any.py:342 ms1.3%
TimestamptzLoader.loadpsycopg/types/datetime.py:4942 ms1.3%
TimestamptzLoader._load_isopsycopg/types/datetime.py:5282 ms1.3%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:73 touch_token(request.headers.get("Authorization"))2 ms1.3%
touch_tokenapps/api/urls.py:59 SecretTokens.objects.filter(pk__in=list(stale)).update(date_last_used=now)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%
BaseHandler._get_responsedjango/core/handlers/base.py:1822 ms1.3%
BaseHandler.resolve_requestdjango/core/handlers/base.py:3142 ms1.3%
URLResolver.resolvedjango/urls/resolvers.py:6782 ms1.3%
URLResolver.resolvedjango/urls/resolvers.py:6782 ms1.3%
URLPattern.resolvedjango/urls/resolvers.py:4772 ms1.3%
ProfileUploadTest.uploadapps/api/tests.py:49519 ms15.5%
_SharedTaskProxy.__call__potatoq/app.py:76319 ms15.5%
Task.__call__potatoq/task.py:18919 ms15.5%
process_profileapps/api/tasks.py:23915 ms11.6%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)8 ms6.4%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(3 ms2.6%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.6%
QuerySet.get_or_createdjango/db/models/query.py:9872 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%
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%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms1.3%
QuerySet.createdjango/db/models/query.py:6692 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%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)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:15512 ms1.3%
claim_partapps/projects/profiles.py:381 ProfilePart.objects.filter(profile=profile, index=part.index, id__lt=part.id).delete() # superseded uploads2 ms1.3%
QuerySet.deletedjango/db/models/query.py:12382 ms1.3%
Collector.deletedjango/db/models/deletion.py:4712 ms1.3%
QuerySet._raw_deletedjango/db/models/query.py:12602 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%
claim_partapps/projects/profiles.py:4672 ms1.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 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:2062 ms1.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.3%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.3%
process_profile_partapps/projects/profiles.py:3653 ms2.6%
upsert_testsapps/projects/profiles.py:4723 ms2.6%
TestManager.upsertapps/projects/models.py:2292 ms1.3%
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.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%
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}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%
process_profile_partapps/projects/profiles.py:3662 ms1.3%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()2 ms1.3%
QuerySet.deletedjango/db/models/query.py:12242 ms1.3%
QuerySet._chaindjango/db/models/query.py:19732 ms1.3%
QuerySet._clonedjango/db/models/query.py:19862 ms1.3%
process_profile_partapps/projects/profiles.py:3672 ms1.3%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)2 ms1.3%
CursorWrapper.executemanydjango/db/backends/utils.py:842 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.3%
CursorWrapper._executemanydjango/db/backends/utils.py:1142 ms1.3%
Cursor.executemanypsycopg/cursor.py:1382 ms1.3%
Connection.waitpsycopg/connection.py:4952 ms1.3%
BaseCursor._executemany_gen_pipelinepsycopg/_cursor_base.py:2392 ms1.3%
BasePipeline._communicate_genpsycopg/_pipeline_base.py:1122 ms1.3%
process_profileapps/api/tasks.py:2533 ms2.6%
_SharedTaskProxy.__call__potatoq/app.py:7633 ms2.6%
Task.__call__potatoq/task.py:1893 ms2.6%
finalize_profile_partsapps/api/tasks.py:2593 ms2.6%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 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%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):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%
process_profileapps/api/tasks.py:237 part = ProfilePart.objects.select_related("profile").get(id=part_id)2 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:1272 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms1.3%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15262 ms1.3%
Col.get_db_convertersdjango/db/models/expressions.py:13392 ms1.3%
ProfileUploadTest.test_upload_in_partsapps/api/tests.py:73334 ms27.1%
ProfileUploadTest.uploadapps/api/tests.py:49524 ms19.3%
_SharedTaskProxy.__call__potatoq/app.py:76324 ms19.3%
Task.__call__potatoq/task.py:18924 ms19.3%
process_profileapps/api/tasks.py:23918 ms14.2%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)6 ms5.2%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)2 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: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:2552 ms1.3%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10302 ms1.3%
ForeignKey.get_coldjango/db/models/fields/related.py:12542 ms1.3%
Field.get_coldjango/db/models/fields/__init__.py:5412 ms1.3%
claim_partapps/projects/profiles.py:3992 ms1.3%
get_or_create_environmentapps/projects/environments.py:79 obj.save(update_fields=update_fields)2 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%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.get_or_createdjango/db/models/query.py:9872 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:16622 ms1.3%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms1.3%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms1.3%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms1.3%
Cursor.fetchmanypsycopg/cursor.py:2682 ms1.3%
BaseTzLoader.loaddjango/db/backends/postgresql/psycopg_any.py:332 ms1.3%
<GC>~2 ms1.3%
claim_partapps/projects/profiles.py:4672 ms1.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 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%
process_profile_partapps/projects/profiles.py:3655 ms3.9%
upsert_testsapps/projects/profiles.py:4725 ms3.9%
TestManager.upsertapps/projects/models.py:2292 ms1.3%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))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%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:7992 ms1.3%
TestManager.upsertapps/projects/models.py:236 return {test.name: test for test in self.filter(project=project, name__in=names)}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%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()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:15772 ms1.3%
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.3%
QuerySet.existsdjango/db/models/query.py:13372 ms1.3%
Query.has_resultsdjango/db/models/sql/query.py:6792 ms1.3%
process_profile_partapps/projects/profiles.py:3662 ms1.3%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()2 ms1.3%
QuerySet.deletedjango/db/models/query.py:12382 ms1.3%
Collector.deletedjango/db/models/deletion.py:4712 ms1.3%
QuerySet._raw_deletedjango/db/models/query.py:12602 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%
process_profile_partapps/projects/profiles.py:368 ProfilePart.objects.filter(pk=part.pk).update(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
process_profileapps/api/tasks.py:2536 ms5.2%
_SharedTaskProxy.__call__potatoq/app.py:7636 ms5.2%
Task.__call__potatoq/task.py:1896 ms5.2%
finalize_profile_partsapps/api/tasks.py:2595 ms3.9%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 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: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:2552 ms1.3%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10292 ms1.3%
finalize_profileapps/projects/profiles.py:5112 ms1.3%
QuerySet.deletedjango/db/models/query.py:12382 ms1.3%
Collector.deletedjango/db/models/deletion.py:4712 ms1.3%
QuerySet._raw_deletedjango/db/models/query.py:12602 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%
finalize_profileapps/projects/profiles.py:5172 ms1.3%
add_perfsapps/projects/rollups.py:30 for perf in perfs: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: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%
finalize_profile_partsapps/api/tasks.py:2602 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%
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: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%
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%
Lookup.process_lhsdjango/db/models/lookups.py:1092 ms1.3%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2972 ms1.3%
BaseExpression.copydjango/db/models/expressions.py:4442 ms1.3%
copy<stdlib>/copy.py:1002 ms1.3%
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(10 ms7.7%
Client.postdjango/test/client.py:115310 ms7.7%
RequestFactory.postdjango/test/client.py:49910 ms7.7%
RequestFactory.genericdjango/test/client.py:67110 ms7.7%
Client.requestdjango/test/client.py:10828 ms6.4%
ClientHandler.__call__django/test/client.py:1868 ms6.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1418 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1308 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1238 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3098 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:348 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:558 ms6.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1988 ms6.4%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:658 ms6.4%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:378 ms6.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:648 ms6.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:756 ms5.2%
profile_uploadapps/api/urls.py:1502 ms1.3%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).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%
profile_uploadapps/api/urls.py:152 part = ProfilePart.objects.filter(profile=profile, index=index).order_by("-id").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: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%
profile_uploadapps/api/urls.py:154 part = ProfilePart.objects.create(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.createdjango/db/models/query.py:6692 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:19242 ms1.3%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18132 ms1.3%
profile_uploadapps/api/urls.py:1632 ms1.3%
Project.urlapps/projects/models.py:59 return reverse(name, args=[self.organization.slug, self.slug, *args])2 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%
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.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:16622 ms1.3%
cursor_iterdjango/db/models/sql/compiler.py:22542 ms1.3%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22542 ms1.3%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms1.3%
Client.requestdjango/test/client.py:10792 ms1.3%
Signal.connect.<locals>.<genexpr>django/dispatch/dispatcher.py:1352 ms1.3%
ProfileUploadTest.test_upload_in_partsapps/api/tests.py:72928 ms21.9%
ProfileUploadTest.uploadapps/api/tests.py:49523 ms18.1%
_SharedTaskProxy.__call__potatoq/app.py:76323 ms18.1%
Task.__call__potatoq/task.py:18923 ms18.1%
process_profileapps/api/tasks.py:23918 ms14.2%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)8 ms6.4%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)2 ms1.3%
QuerySet.updatedjango/db/models/query.py:13002 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%
claim_partapps/projects/profiles.py:3992 ms1.3%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.get_or_createdjango/db/models/query.py:9872 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%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.get_or_createdjango/db/models/query.py:9872 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%
claim_partapps/projects/profiles.py:4672 ms1.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)2 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:16112 ms1.3%
SQLUpdateCompiler.as_sqldjango/db/models/sql/compiler.py:20782 ms1.3%
Atomic.__exit__django/db/transaction.py:2472 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%
process_profile_partapps/projects/profiles.py:3653 ms2.6%
upsert_testsapps/projects/profiles.py:4723 ms2.6%
TestManager.upsertapps/projects/models.py:2292 ms1.3%
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.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%
Query.get_compilerdjango/db/models/sql/query.py:3692 ms1.3%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms1.3%
QuerySet._batched_insertdjango/db/models/query.py:19562 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%
process_profile_partapps/projects/profiles.py:3663 ms2.6%
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:3672 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%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8332 ms1.3%
QuerySet._batched_insertdjango/db/models/query.py:19562 ms1.3%
QuerySet._insertdjango/db/models/query.py:19182 ms1.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19242 ms1.3%
SQLInsertCompiler.as_sqldjango/db/models/sql/compiler.py:18492 ms1.3%
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.3%
QuerySet.existsdjango/db/models/query.py:13372 ms1.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms1.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9782 ms1.3%
process_profile_partapps/projects/profiles.py:368 ProfilePart.objects.filter(pk=part.pk).update(2 ms1.3%
QuerySet.updatedjango/db/models/query.py:13002 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%
process_profileapps/api/tasks.py:2533 ms2.6%
_SharedTaskProxy.__call__potatoq/app.py:7633 ms2.6%
Task.__call__potatoq/task.py:1893 ms2.6%
finalize_profile_partsapps/api/tasks.py:2593 ms2.6%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)2 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%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):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%
process_profileapps/api/tasks.py:237 part = ProfilePart.objects.select_related("profile").get(id=part_id)2 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%
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%
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(5 ms3.9%
Client.postdjango/test/client.py:11535 ms3.9%
RequestFactory.postdjango/test/client.py:4995 ms3.9%
RequestFactory.genericdjango/test/client.py:6715 ms3.9%
Client.requestdjango/test/client.py:10825 ms3.9%
ClientHandler.__call__django/test/client.py:1865 ms3.9%
BaseHandler.get_responsedjango/core/handlers/base.py:1415 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1305 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1235 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:345 ms3.9%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms3.9%
BaseHandler._get_responsedjango/core/handlers/base.py:1985 ms3.9%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:655 ms3.9%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:375 ms3.9%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:645 ms3.9%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:753 ms2.6%
profile_uploadapps/api/urls.py:1502 ms1.3%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).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%
profile_uploadapps/api/urls.py:154 part = ProfilePart.objects.create(2 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.3%
QuerySet.createdjango/db/models/query.py:6692 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%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:73 touch_token(request.headers.get("Authorization"))2 ms1.3%
Atomic.__exit__django/db/transaction.py:2472 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%
ProfileUploadTest.test_upload_in_partsapps/api/tests.py:7302 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 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: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%
Col.as_sqldjango/db/models/expressions.py:13252 ms1.3%
ProfileUploadTest.test_upload_in_partsapps/api/tests.py:7352 ms1.3%
Model.refresh_from_dbdjango/db/models/base.py:7582 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%
ProfileUploadTest.test_upload_in_partsapps/api/tests.py:7452 ms1.3%
QuerySet.countdjango/db/models/query.py:6102 ms1.3%
Query.get_countdjango/db/models/sql/query.py:6512 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%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms1.3%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms1.3%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4832 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%
Estimated from 77 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
|
26 ms |
|
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save
· Database
|
6 ms |
|
apps/projects/profiles.py:404
commit, _ = Commit.objects.get_or_create(
claim_part
· Database
|
6 ms |
|
apps/projects/models.py:18
existing = model.objects.filter(project=project, **lookup).first()
get_or_create_numbered
· Database
|
5 ms |
|
apps/api/urls.py:154
part = ProfilePart.objects.create(
profile_upload
· Database
|
5 ms |
|
apps/projects/profiles.py:500
profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)
finalize_profile
· Database
|
5 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
|
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/api/tasks.py:237
part = ProfilePart.objects.select_related("profile").get(id=part_id)
process_profile
· Database
|
3 ms |
|
apps/projects/profiles.py:380
ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)
claim_part
· Database
|
3 ms |
Fixtures
Exact setup time| _live_server_helper function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
133 queries · 41 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
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"."…
11×
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…
6×
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 "projects_secrettokens"."id" AS "pk" FROM "projects_secrettokens" WHERE (("projects_secrettokens"."date_last_used" < %s OR "projects_secrettokens"."date_last_used" IS NULL) AND "projects_secrettokens"."token" = %s) FOR UPDATE SKIP LOCKED
Biggest pieces of work
|
call test body
apps/api/tests.py:727
|
123 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
2 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 | 126 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 81 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 145 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 104 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 160 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 92 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 148 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 153 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 135 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 281 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 85 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 147 ms | Profile |