perf: 量化商品页打开耗时并去重检查 (#109)

This commit is contained in:
chengma
2026-08-10 17:40:44 +08:00
parent 4c9bf3865b
commit ba0706dc47
13 changed files with 693 additions and 72 deletions
+24
View File
@@ -12,6 +12,7 @@ from src.pdd_purchase_adapter import (
PddPurchaseAdapter,
PurchasePageState,
)
from src.performance_timing import TaskPerformanceTrace
from src.task_dispatcher import TaskDispatcher, admin_task_to_new_claimed_task
from src.task_models import TaskStatus, TaskType
from src.task_repository import TaskRepository
@@ -134,6 +135,7 @@ class TaskDispatcherTest(unittest.TestCase):
purchase_mode="dry_run",
device_checker=lambda _serial: None,
task_saved=lambda _task_id: None,
performance_trace_factory=TaskPerformanceTrace,
):
purchase_factory = None
if purchase_ready:
@@ -161,8 +163,30 @@ class TaskDispatcherTest(unittest.TestCase):
purchase_mode=purchase_mode,
device_connection_checker=device_checker,
task_saved=task_saved,
performance_trace_factory=performance_trace_factory,
)
def test_claim_save_and_device_check_have_scoped_timing_records(self):
task = purchase_task()
self.gateway.enqueue_task(task, self.client.client_id)
records = []
outcome = self._dispatcher(
purchase_ready=True,
performance_trace_factory=lambda: TaskPerformanceTrace(
sink=records.append
),
).execute_one()
self.assertEqual(outcome.kind, "succeeded")
operations = [record["operation"] for record in records]
self.assertEqual(
operations[:3],
["adb_device_check", "admin_claim_request", "sqlite_local_save"],
)
self.assertTrue(all(record["task_id"] == task.task_id for record in records))
self.assertTrue(all(record["duration_ms"] >= 0 for record in records))
def test_capability_only_includes_purchase_when_adapter_is_ready(self):
collect_only = self._dispatcher(purchase_ready=False)
ready = self._dispatcher(purchase_ready=True)