Tests / apps/api/tests.py
ProfileUploadTest::test_reupload_replaces_profile
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
103 ms
median 111 ms
max 131 ms
max 131 ms
Phases
Setup 0.76 ms
Call 103 ms
Teardown 0.17 ms
Categories
Database 72 ms
App code 3 ms
Other (Libraries, Serialization, pytest, Unsampled) 29 ms
96 database queries per run
Needs 323 KB of memory (max 708 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call109 ms99.2%
ProfileUploadTest.test_reupload_replaces_profileapps/api/tests.py:701 self.upload(self.document(run_id="same-run"))77 ms69.7%
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(50 ms45.6%
Client.postdjango/test/client.py:115350 ms45.6%
RequestFactory.postdjango/test/client.py:49950 ms45.6%
RequestFactory.genericdjango/test/client.py:67150 ms45.6%
Client.requestdjango/test/client.py:108250 ms45.6%
ClientHandler.__call__django/test/client.py:17331 ms28.1%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6231 ms28.1%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10431 ms28.1%
WhiteNoise.add_fileswhitenoise/base.py:10831 ms28.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12028 ms25.5%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13128 ms25.5%
WhiteNoise.get_static_filewhitenoise/base.py:20825 ms22.8%
StaticFile.__init__whitenoise/responders.py:7221 ms18.8%
StaticFile.get_file_statswhitenoise/responders.py:16321 ms18.8%
<GC>~21 ms18.8%
StaticFile.__init__whitenoise/responders.py:741 ms1.3%
parsedate<stdlib>/email/_parseaddr.py:1851 ms1.3%
StaticFile.__init__whitenoise/responders.py:761 ms1.3%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1881 ms1.3%
StaticFile.__init__whitenoise/responders.py:771 ms1.3%
StaticFile.get_alternativeswhitenoise/responders.py:2001 ms1.3%
__init____init__:-11 ms1.3%
WhiteNoise.get_static_filewhitenoise/base.py:2033 ms2.7%
WhiteNoise.add_cache_headerswhitenoise/base.py:2241 ms1.3%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1761 ms1.3%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1971 ms1.3%
URLMixin.urldebug_toolbar/panels/staticfiles.py:201 ms1.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms2.7%
scantreewhitenoise/base.py:2621 ms1.3%
scantreewhitenoise/base.py:2621 ms1.3%
scantreewhitenoise/base.py:2621 ms1.3%
scantreewhitenoise/base.py:2621 ms1.3%
scantreewhitenoise/base.py:2641 ms1.3%
ClientHandler.__call__django/test/client.py:18619 ms17.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14119 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13019 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12319 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3419 ms17.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms17.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19819 ms17.4%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:6519 ms17.4%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:3719 ms17.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6419 ms17.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:7519 ms17.4%
profile_uploadapps/api/urls.py:15015 ms13.4%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).first()13 ms12.1%
QuerySet.firstdjango/db/models/query.py:114513 ms12.1%
QuerySet.__iter__django/db/models/query.py:39013 ms12.1%
QuerySet._fetch_alldjango/db/models/query.py:200013 ms12.1%
ModelIterable.__iter__django/db/models/query.py:9513 ms12.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162412 ms10.7%
CursorWrapper.executedjango/db/backends/utils.py:7912 ms10.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9212 ms10.7%
CursorWrapper._executedjango/db/backends/utils.py:10510 ms9.4%
Cursor.executepsycopg/cursor.py:11310 ms9.4%
Connection.waitpsycopg/connection.py:49510 ms9.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:20610 ms9.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:28610 ms9.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:7810 ms9.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:871 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4911 ms1.3%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:4741 ms1.3%
get_or_create_numberedapps/projects/models.py:24 return model.objects.create(project=project, number=number, **lookup, **(defaults or {})), True1 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.3%
QuerySet.createdjango/db/models/query.py:6691 ms1.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.3%
Model.savedjango/db/models/base.py:8741 ms1.3%
Model.save_basedjango/db/models/base.py:9661 ms1.3%
Model._save_tabledjango/db/models/base.py:11561 ms1.3%
profile_uploadapps/api/urls.py:1591 ms1.3%
compressapps/projects/profiles.py:111 return gzip.compress(data, compresslevel=6)1 ms1.3%
compress<stdlib>/gzip.py:6681 ms1.3%
profile_uploadapps/api/urls.py:162 process_profile.delay(part.id)1 ms1.3%
Task.delaypotatoq/task.py:2571 ms1.3%
Task.apply_asyncpotatoq/task.py:2731 ms1.3%
Task._check_argumentspotatoq/task.py:3881 ms1.3%
signature<stdlib>/inspect.py:33431 ms1.3%
ProfileUploadTest.uploadapps/api/tests.py:49527 ms24.1%
_SharedTaskProxy.__call__potatoq/app.py:76327 ms24.1%
Task.__call__potatoq/task.py:18927 ms24.1%
process_profileapps/api/tasks.py:23916 ms14.7%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)7 ms6.7%
claim_partapps/projects/profiles.py:3993 ms2.7%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(3 ms2.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.7%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.3%
QuerySet.getdjango/db/models/query.py:6351 ms1.3%
QuerySet.__len__django/db/models/query.py:3721 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
QuerySet.get_or_createdjango/db/models/query.py:9921 ms1.3%
Atomic.__exit__django/db/transaction.py:2471 ms1.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.3%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms1.3%
claim_partapps/projects/profiles.py:379 profile = Profile.objects.select_for_update(no_key=True).get(pk=part.profile_id)1 ms1.3%
QuerySet.getdjango/db/models/query.py:6351 ms1.3%
QuerySet.__len__django/db/models/query.py:3721 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
claim_partapps/projects/profiles.py:397 project = profile.project1 ms1.3%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms1.3%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms1.3%
QuerySet.getdjango/db/models/query.py:6351 ms1.3%
QuerySet.__len__django/db/models/query.py:3721 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16221 ms1.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.3%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms1.3%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981 ms1.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.3%
claim_partapps/projects/profiles.py:4671 ms1.3%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms1.3%
Model.savedjango/db/models/base.py:8741 ms1.3%
Model.save_basedjango/db/models/base.py:9661 ms1.3%
Model._save_tabledjango/db/models/base.py:11101 ms1.3%
Model._do_updatedjango/db/models/base.py:12111 ms1.3%
QuerySet._updatedjango/db/models/query.py:13271 ms1.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
process_profile_partapps/projects/profiles.py:3653 ms2.7%
upsert_testsapps/projects/profiles.py:4723 ms2.7%
TestManager.upsertapps/projects/models.py:2291 ms1.3%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))1 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2381 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
TestManager.upsertapps/projects/models.py:230 self.bulk_create( # sorted, so uploads sharing tests lock their rows in the same order1 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8081 ms1.3%
QuerySet._prepare_for_bulk_createdjango/db/models/query.py:6921 ms1.3%
Model._prepare_related_fields_for_savedjango/db/models/base.py:12691 ms1.3%
process_profile_partapps/projects/profiles.py:3663 ms2.7%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()1 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.3%
QuerySet.filterdjango/db/models/query.py:15421 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.3%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.3%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.3%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.3%
Query.build_filterdjango/db/models/sql/query.py:15771 ms1.3%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(1 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.3%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.3%
QuerySet._insertdjango/db/models/query.py:19181 ms1.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()1 ms1.3%
QuerySet.firstdjango/db/models/query.py:11451 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.3%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.3%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 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()1 ms1.3%
QuerySet.existsdjango/db/models/query.py:13371 ms1.3%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
process_profileapps/api/tasks.py:2539 ms8.0%
_SharedTaskProxy.__call__potatoq/app.py:7639 ms8.0%
Task.__call__potatoq/task.py:1899 ms8.0%
finalize_profile_partsapps/api/tasks.py:2599 ms8.0%
finalize_profileapps/projects/profiles.py:5174 ms4.0%
add_perfsapps/projects/rollups.py:30 for perf in perfs:1 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(1 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.3%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.3%
QuerySet._insertdjango/db/models/query.py:19181 ms1.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):1 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:871 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:5331 ms1.3%
finalize_profileapps/projects/profiles.py:509 ProfilePart.objects.filter(profile=profile).exclude(pk__in=[part.pk for part in current]).delete()1 ms1.3%
QuerySet.deletedjango/db/models/query.py:12381 ms1.3%
Collector.deletedjango/db/models/deletion.py:4711 ms1.3%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
finalize_profileapps/projects/profiles.py:516 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms1.3%
QuerySet.firstdjango/db/models/query.py:11451 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:871 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4911 ms1.3%
process_profileapps/api/tasks.py:237 part = ProfilePart.objects.select_related("profile").get(id=part_id)1 ms1.3%
QuerySet.getdjango/db/models/query.py:6351 ms1.3%
QuerySet.__len__django/db/models/query.py:3721 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
ProfileUploadTest.test_reupload_replaces_profileapps/api/tests.py:70328 ms25.5%
ProfileUploadTest.uploadapps/api/tests.py:49522 ms20.1%
_SharedTaskProxy.__call__potatoq/app.py:76322 ms20.1%
Task.__call__potatoq/task.py:18922 ms20.1%
process_profileapps/api/tasks.py:23921 ms18.8%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)13 ms12.1%
claim_partapps/projects/profiles.py:3844 ms4.0%
add_perfsapps/projects/rollups.py:30 for perf in perfs:1 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
add_perfsapps/projects/rollups.py:64 for row in TestDailyStats.objects.filter(1 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.3%
WhereNode.as_sqldjango/db/models/sql/where.py:1511 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.3%
RelatedIn.as_sqldjango/db/models/fields/related_lookups.py:951 ms1.3%
In.as_sqldjango/db/models/lookups.py:5561 ms1.3%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2391 ms1.3%
In.process_rhsdjango/db/models/lookups.py:5401 ms1.3%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8161 ms1.3%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.3%
QuerySet._insertdjango/db/models/query.py:19181 ms1.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
claim_partapps/projects/profiles.py:4673 ms2.7%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)3 ms2.7%
Model.savedjango/db/models/base.py:8743 ms2.7%
Model.save_basedjango/db/models/base.py:9663 ms2.7%
Model._save_tabledjango/db/models/base.py:11103 ms2.7%
Model._do_updatedjango/db/models/base.py:12113 ms2.7%
QuerySet._updatedjango/db/models/query.py:13273 ms2.7%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21403 ms2.7%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21113 ms2.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16243 ms2.7%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.7%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.7%
Cursor.executepsycopg/cursor.py:1133 ms2.7%
Connection.waitpsycopg/connection.py:4953 ms2.7%
claim_partapps/projects/profiles.py:3993 ms2.7%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(1 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.3%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms1.3%
QuerySet.getdjango/db/models/query.py:6251 ms1.3%
QuerySet.filterdjango/db/models/query.py:15421 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15551 ms1.3%
QuerySet._chaindjango/db/models/query.py:19731 ms1.3%
QuerySet._clonedjango/db/models/query.py:19861 ms1.3%
Query.chaindjango/db/models/sql/query.py:4331 ms1.3%
Query.clonedjango/db/models/sql/query.py:4221 ms1.3%
get_or_create_environmentapps/projects/environments.py:79 obj.save(update_fields=update_fields)1 ms1.3%
Model.savedjango/db/models/base.py:8741 ms1.3%
Model.save_basedjango/db/models/base.py:9661 ms1.3%
Model._save_tabledjango/db/models/base.py:11101 ms1.3%
Model._do_updatedjango/db/models/base.py:12111 ms1.3%
QuerySet._updatedjango/db/models/query.py:13271 ms1.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms1.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms1.3%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms1.3%
PostgresClientQuery.dumppsycopg/_queries.py:2991 ms1.3%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001 ms1.3%
claim_partapps/projects/profiles.py:380 ProfilePart.objects.filter(pk=part.pk).update(status=ProfilePart.StatusTypes.PENDING)1 ms1.3%
QuerySet.updatedjango/db/models/query.py:13001 ms1.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
claim_partapps/projects/profiles.py:383 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms1.3%
QuerySet.firstdjango/db/models/query.py:11451 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.3%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.3%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.3%
Col.as_sqldjango/db/models/expressions.py:13231 ms1.3%
process_profile_partapps/projects/profiles.py:3663 ms2.7%
write_perfsapps/projects/profiles.py:478 TestPerf.objects.filter(profile=profile, part=part.index).delete()1 ms1.3%
QuerySet.deletedjango/db/models/query.py:12381 ms1.3%
Collector.deletedjango/db/models/deletion.py:4711 ms1.3%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(1 ms1.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.3%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms1.3%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms1.3%
QuerySet._insertdjango/db/models/query.py:19181 ms1.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
process_profile_partapps/projects/profiles.py:356 part = ProfilePart.objects.filter(pk=part.pk).first()1 ms1.3%
QuerySet.firstdjango/db/models/query.py:11451 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:871 ms1.3%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:5281 ms1.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.3%
process_profile_partapps/projects/profiles.py:3651 ms1.3%
upsert_testsapps/projects/profiles.py:4721 ms1.3%
TestManager.upsertapps/projects/models.py:2291 ms1.3%
TestManager.slugs_forapps/projects/models.py:240 existing = dict(self.filter(project_id=project_id, name__in=names).values_list("name", "slug"))1 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ValuesListIterable.__iter__django/db/models/query.py:2381 ms1.3%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
process_profile_partapps/projects/profiles.py:3671 ms1.3%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)1 ms1.3%
CursorWrapper.executemanydjango/db/backends/utils.py:841 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executemanydjango/db/backends/utils.py:1141 ms1.3%
Cursor.executemanypsycopg/cursor.py:1371 ms1.3%
Connection._pipeline_nolockpsycopg/connection.py:4721 ms1.3%
Pipeline.__exit__psycopg/_pipeline.py:731 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
process_profileapps/api/tasks.py:237 part = ProfilePart.objects.select_related("profile").get(id=part_id)1 ms1.3%
QuerySet.getdjango/db/models/query.py:6351 ms1.3%
QuerySet.__len__django/db/models/query.py:3721 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
ProfileUploadTest.uploadapps/api/tests.py:487 response = self.client.post(6 ms5.4%
Client.postdjango/test/client.py:11536 ms5.4%
RequestFactory.postdjango/test/client.py:4996 ms5.4%
RequestFactory.genericdjango/test/client.py:6716 ms5.4%
Client.requestdjango/test/client.py:10826 ms5.4%
ClientHandler.__call__django/test/client.py:1866 ms5.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1416 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1306 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1236 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3096 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:346 ms5.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:556 ms5.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1986 ms5.4%
csrf_exempt.<locals>._view_wrapperdjango/views/decorators/csrf.py:656 ms5.4%
jsonify_errors.<locals>.wrapped_viewapps/api/urls.py:376 ms5.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:646 ms5.4%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:753 ms2.7%
profile_uploadapps/api/urls.py:1501 ms1.3%
get_or_create_numberedapps/projects/models.py:18 existing = model.objects.filter(project=project, **lookup).first()1 ms1.3%
QuerySet.firstdjango/db/models/query.py:11451 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
profile_uploadapps/api/urls.py:152 part = ProfilePart.objects.filter(profile=profile, index=index).order_by("-id").first()1 ms1.3%
QuerySet.firstdjango/db/models/query.py:11451 ms1.3%
QuerySet.__iter__django/db/models/query.py:3901 ms1.3%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.3%
ModelIterable.__iter__django/db/models/query.py:951 ms1.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 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"))1 ms1.3%
get_object_or_404django/shortcuts.py:901 ms1.3%
QuerySet.getdjango/db/models/query.py:6251 ms1.3%
QuerySet.filterdjango/db/models/query.py:15421 ms1.3%
QuerySet._filter_or_excludedjango/db/models/query.py:15551 ms1.3%
QuerySet._chaindjango/db/models/query.py:19731 ms1.3%
QuerySet._clonedjango/db/models/query.py:19861 ms1.3%
Query.chaindjango/db/models/sql/query.py:4331 ms1.3%
Query.clonedjango/db/models/sql/query.py:4221 ms1.3%
api_request.<locals>.decorator.<locals>.wrapped_viewapps/api/urls.py:73 touch_token(request.headers.get("Authorization"))1 ms1.3%
Atomic.__exit__django/db/transaction.py:2471 ms1.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.3%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms1.3%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.3%
Cursor.executepsycopg/cursor.py:1131 ms1.3%
Connection.waitpsycopg/connection.py:4951 ms1.3%
ProfileUploadTest.test_reupload_replaces_profileapps/api/tests.py:700 def test_reupload_replaces_profile(self):1 ms1.3%
SysMonitor.sysmon_py_startcoverage/sysmon.py:3651 ms1.3%
bytes_to_linescoverage/sysmon.py:1931 ms1.3%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()1 ms1.3%
TestCase._fixture_teardowndjango/test/testcases.py:14971 ms1.3%
TestCase._rollback_atomicsdjango/test/testcases.py:14051 ms1.3%
Atomic.__exit__django/db/transaction.py:2831 ms1.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.3%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4131 ms1.3%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3711 ms1.3%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.3%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.3%
Estimated from 74 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
|
31 ms |
|
apps/projects/models.py:18
existing = model.objects.filter(project=project, **lookup).first()
get_or_create_numbered
· Database
|
15 ms |
|
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save
· Database
|
6 ms |
|
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment
· Database
|
4 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:356
part = ProfilePart.objects.filter(pk=part.pk).first()
process_profile_part
· 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 |
|
apps/projects/profiles.py:479
TestPerf.objects.bulk_create(
write_perfs
· Database
|
3 ms |
|
apps/projects/rollups.py:30
for perf in perfs:
add_perfs
· Database
|
3 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.06 ms |
| _template_string_if_invalid_marker function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
96 queries · 32 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
7×
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"."…
6×
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:701
|
106 ms |
| call pytest internals | 1 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
1 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 | 110 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 67 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 112 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 98 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 131 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 73 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 117 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 113 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 111 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 129 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 69 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 113 ms | Profile |