Tests / apps/projects/tests.py
StorageTest::test_reprocessing_a_profile_replaces_its_contribution
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
34 ms
median 37 ms
max 41 ms
max 41 ms
Phases
Setup 0.73 ms
Call 33 ms
Teardown 0.17 ms
Categories
Database 32 ms
App code 0.46 ms
Other (Unsampled, Libraries, pytest, Serialization) 2 ms
47 database queries per run
Needs 11 KB of memory (max 128 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call33 ms97.4%
StorageTest.test_reprocessing_a_profile_replaces_its_contributionapps/projects/tests.py:1204 process_profile_part(self.second.part_set.get())16 ms46.8%
process_profile_partapps/projects/profiles.py:363 profile = claim_part(part, document)11 ms31.2%
claim_partapps/projects/profiles.py:3843 ms7.8%
add_perfsapps/projects/rollups.py:30 for perf in perfs:1 ms3.9%
QuerySet.__iter__django/db/models/query.py:3901 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:1271 ms3.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15771 ms3.9%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15261 ms3.9%
Col.get_db_convertersdjango/db/models/expressions.py:13391 ms3.9%
add_perfsapps/projects/rollups.py:72 row = existing.get((test_id, environment_id, day)) or TestDailyStats(1 ms3.9%
Atomic.__enter__django/db/transaction.py:2111 ms3.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms3.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms3.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
claim_partapps/projects/profiles.py:383 Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()1 ms3.9%
QuerySet.firstdjango/db/models/query.py:11451 ms3.9%
QuerySet.__iter__django/db/models/query.py:3901 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:951 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
claim_partapps/projects/profiles.py:3991 ms3.9%
get_or_create_environmentapps/projects/environments.py:63 obj, created = Environment.objects.get_or_create(1 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms3.9%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms3.9%
QuerySet.getdjango/db/models/query.py:6351 ms3.9%
QuerySet.__len__django/db/models/query.py:3721 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:951 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
claim_partapps/projects/profiles.py:404 commit, _ = Commit.objects.get_or_create(1 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms3.9%
QuerySet.get_or_createdjango/db/models/query.py:9871 ms3.9%
QuerySet.getdjango/db/models/query.py:6351 ms3.9%
QuerySet.__len__django/db/models/query.py:3721 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:951 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms3.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms3.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms3.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms3.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2551 ms3.9%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10091 ms3.9%
claim_partapps/projects/profiles.py:4671 ms3.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms3.9%
Model.savedjango/db/models/base.py:8741 ms3.9%
Model.save_basedjango/db/models/base.py:9661 ms3.9%
Model._save_tabledjango/db/models/base.py:11101 ms3.9%
Model._do_updatedjango/db/models/base.py:12111 ms3.9%
QuerySet._updatedjango/db/models/query.py:13271 ms3.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms3.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms3.9%
SQLUpdateCompiler.as_sqldjango/db/models/sql/compiler.py:20781 ms3.9%
SQLCompiler.quote_name_unless_aliasdjango/db/models/sql/compiler.py:5601 ms3.9%
Atomic.__exit__django/db/transaction.py:2471 ms3.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms3.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4311 ms3.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3751 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms3.9%
QuerySet.getdjango/db/models/query.py:6351 ms3.9%
QuerySet.__len__django/db/models/query.py:3721 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:951 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
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 ms3.9%
QuerySet.existsdjango/db/models/query.py:13371 ms3.9%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms3.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms3.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9811 ms3.9%
Query.reset_refcountsdjango/db/models/sql/query.py:9911 ms3.9%
process_profile_partapps/projects/profiles.py:3661 ms3.9%
write_perfsapps/projects/profiles.py:479 TestPerf.objects.bulk_create(1 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms3.9%
QuerySet.bulk_createdjango/db/models/query.py:8331 ms3.9%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms3.9%
QuerySet._insertdjango/db/models/query.py:19181 ms3.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
process_profile_partapps/projects/profiles.py:3671 ms3.9%
write_snapshotsapps/projects/profiles.py:334 cursor.executemany(SNAPSHOT_UPSERT, batch)1 ms3.9%
CursorWrapper.executemanydjango/db/backends/utils.py:841 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executemanydjango/db/backends/utils.py:1141 ms3.9%
Cursor.executemanypsycopg/cursor.py:1371 ms3.9%
Connection._pipeline_nolockpsycopg/connection.py:4721 ms3.9%
Pipeline.__exit__psycopg/_pipeline.py:731 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
StorageTest.test_reprocessing_a_profile_replaces_its_contributionapps/projects/tests.py:1206 finalize_profile(self.second.id)11 ms31.2%
finalize_profileapps/projects/profiles.py:5173 ms7.8%
add_perfsapps/projects/rollups.py:30 for perf in perfs:1 ms3.9%
QuerySet.__iter__django/db/models/query.py:3901 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:951 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
add_perfsapps/projects/rollups.py:88 TestDailyStats.objects.bulk_create(1 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms3.9%
QuerySet.bulk_createdjango/db/models/query.py:8161 ms3.9%
QuerySet._batched_insertdjango/db/models/query.py:19561 ms3.9%
QuerySet._insertdjango/db/models/query.py:19181 ms3.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms3.9%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms3.9%
PostgresClientQuery.convertpsycopg/_queries.py:2891 ms3.9%
PostgresClientQuery.dumppsycopg/_queries.py:2991 ms3.9%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001 ms3.9%
Atomic.__enter__django/db/transaction.py:2111 ms3.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms3.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms3.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
finalize_profileapps/projects/profiles.py:500 profile = Profile.objects.select_for_update(no_key=True).get(pk=profile_id)1 ms3.9%
QuerySet.getdjango/db/models/query.py:6351 ms3.9%
QuerySet.__len__django/db/models/query.py:3721 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:1271 ms3.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15771 ms3.9%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15261 ms3.9%
Col.get_db_convertersdjango/db/models/expressions.py:13391 ms3.9%
finalize_profileapps/projects/profiles.py:504 for part in ProfilePart.objects.filter(profile=profile).defer("document").order_by("index", "id"):1 ms3.9%
QuerySet.__iter__django/db/models/query.py:3901 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:1281 ms3.9%
Model.from_dbdjango/db/models/base.py:6051 ms3.9%
finalize_profileapps/projects/profiles.py:5111 ms3.9%
QuerySet.deletedjango/db/models/query.py:12381 ms3.9%
Collector.deletedjango/db/models/deletion.py:4711 ms3.9%
QuerySet._raw_deletedjango/db/models/query.py:12601 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
finalize_profileapps/projects/profiles.py:513 for duplicate in duplicates:1 ms3.9%
QuerySet.__iter__django/db/models/query.py:3901 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ValuesIterable.__iter__django/db/models/query.py:2221 ms3.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15731 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
finalize_profileapps/projects/profiles.py:5251 ms3.9%
Profile.saveapps/projects/models.py:466 super().save(*args, **kwargs)1 ms3.9%
Model.savedjango/db/models/base.py:8741 ms3.9%
Model.save_basedjango/db/models/base.py:9661 ms3.9%
Model._save_tabledjango/db/models/base.py:11101 ms3.9%
Model._do_updatedjango/db/models/base.py:12111 ms3.9%
QuerySet._updatedjango/db/models/query.py:13271 ms3.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms3.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
StorageTest.test_reprocessing_a_profile_replaces_its_contributionapps/projects/tests.py:1203 before = self.stats()3 ms7.8%
StorageTest.statsapps/projects/tests.py:1190 return TestDailyStats.objects.get(test=self.test, environment=self.first.environment, day=self.morning.date())3 ms7.8%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2571 ms3.9%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2221 ms3.9%
QuerySet.getdjango/db/models/query.py:6351 ms3.9%
QuerySet.__len__django/db/models/query.py:3721 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:951 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms3.9%
QuerySet.getdjango/db/models/query.py:6351 ms3.9%
QuerySet.__len__django/db/models/query.py:3721 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:951 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
StorageTest.test_reprocessing_a_profile_replaces_its_contributionapps/projects/tests.py:12071 ms3.9%
StorageTest.statsapps/projects/tests.py:1190 return TestDailyStats.objects.get(test=self.test, environment=self.first.environment, day=self.morning.date())1 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms3.9%
QuerySet.getdjango/db/models/query.py:6351 ms3.9%
QuerySet.__len__django/db/models/query.py:3721 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms3.9%
ModelIterable.__iter__django/db/models/query.py:951 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()1 ms3.9%
TestCase._fixture_teardowndjango/test/testcases.py:14951 ms3.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4831 ms3.9%
CursorWrapper.executedjango/db/backends/utils.py:791 ms3.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms3.9%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms3.9%
Cursor.executepsycopg/cursor.py:1131 ms3.9%
Connection.waitpsycopg/connection.py:4951 ms3.9%
Estimated from 25 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:1190
return TestDailyStats.objects.get(test=self.test, environment=self.first.environment, day=self.morning.date())
StorageTest.stats
· Database
|
4 ms |
|
apps/projects/profiles.py:363
profile = claim_part(part, document)
process_profile_part
· Database
|
3 ms |
|
apps/projects/rollups.py:30
for perf in perfs:
add_perfs
· Database
|
3 ms |
|
apps/projects/models.py:466
super().save(*args, **kwargs)
Profile.save
· Database
|
3 ms |
|
apps/projects/tests.py:1204
process_profile_part(self.second.part_set.get())
StorageTest.test_reprocessing_a_profile_replaces_its_contribution
· Database
|
1 ms |
|
apps/projects/profiles.py:359
or ProfilePart.objects.filter(profile_id=part.profile_id, index=part.index, id__gt=part.id).exists()
process_profile_part
· Database
|
1 ms |
|
apps/projects/profiles.py:383
Environment.objects.select_for_update(no_key=True).filter(pk=profile.environment_id).first()
claim_part
· Database
|
1 ms |
|
apps/projects/rollups.py:72
row = existing.get((test_id, environment_id, day)) or TestDailyStats(
add_perfs
· App code
|
1 ms |
|
apps/projects/environments.py:63
obj, created = Environment.objects.get_or_create(
get_or_create_environment
· Database
|
1 ms |
|
apps/projects/profiles.py:404
commit, _ = Commit.objects.get_or_create(
claim_part
· Database
|
1 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.06 ms |
| _django_db_marker function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| _django_clear_site_cache function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.02 ms |
Database
47 queries · 15 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
5×
SELECT "projects_testdailystats"."id", "projects_testdailystats"."project_id", "projects_testdailystats"."test_id", "projects_testdailystats"."environment_id", "projects_testdailystats"."day", "projects_testdailystats"."runs", "projects_testdailystats"."failures", "projects_testdailystats"."duratio…
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_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"."…
Biggest pieces of work
|
call test body
apps/projects/tests.py:1203
|
30 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 | 34 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 24 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 36 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 28 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 41 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 25 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 40 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 38 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 37 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 40 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 25 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 39 ms | Profile |