Companion to #645 / #646 / kvcache aggregation issue — same shape, applied to vectordb.
vectordb aggregation is currently performed by an external vdb-aggregate binary invoked at mlpstorage_py/benchmarks/vectordbbench.py:508 — not Python code in mlpstorage_py. Its outputs (recall, QPS, latency percentiles) do not flow into Result.metrics, so the top-level results.{csv,json} restored by PR #620 has empty aggregate columns for vectordb runs.
Two implementation paths to decide when this is picked up:
- Read-and-forward — leave
vdb-aggregate in place; add a step in report_generator._process_workload_groups that reads its output JSON and populates Result.metrics via the shared helper's vectordb branch.
- Reimplement — port
vdb-aggregate math to Python inside the shared helper. Removes the external-binary dependency at the cost of a larger PR.
Related Rules.md context: §5.3.x — check whether the codified vectordb metric expectations prescribe an aggregation method or defer to the binary.
Related: #645, #646, kvcache aggregation issue.
Companion to #645 / #646 / kvcache aggregation issue — same shape, applied to vectordb.
vectordb aggregation is currently performed by an external
vdb-aggregatebinary invoked atmlpstorage_py/benchmarks/vectordbbench.py:508— not Python code in mlpstorage_py. Its outputs (recall, QPS, latency percentiles) do not flow intoResult.metrics, so the top-levelresults.{csv,json}restored by PR #620 has empty aggregate columns for vectordb runs.Two implementation paths to decide when this is picked up:
vdb-aggregatein place; add a step inreport_generator._process_workload_groupsthat reads its output JSON and populatesResult.metricsvia the shared helper's vectordb branch.vdb-aggregatemath to Python inside the shared helper. Removes the external-binary dependency at the cost of a larger PR.Related Rules.md context: §5.3.x — check whether the codified vectordb metric expectations prescribe an aggregation method or defer to the binary.
Related: #645, #646, kvcache aggregation issue.