elips/docs
Chapter IX · observability

The planner and explain_seek()

explain_seek() is your single best window into runtime behavior.

cpp
auto plan = vault.explain_seek(query, /*top=*/10, filter);
// plan.strategy           — QueryStrategy enum
// plan.candidate_count    — narrowed candidate set size
// plan.metadata_accelerated
// plan.gpu_index
// plan.index_type_name
  • Selective filter + accelerated metadata → candidate_count drops by orders of magnitude
  • GPU built in → gpu_index = true; the dispatch goes through GpuPort
  • No accelerator, exact index → planner picks brute-force; expect linear-in-N latency

Treat strategy + candidate_count as the two telemetry numbers you actually emit per query.