A query in production is slow. Maybe it was always a little slow and it finally crossed the line where someone noticed, or maybe it regressed after a data load. Either way you now have a single question, and it is the same question every time: where did the time go? Was it the filter, the vector search, the object read from disk, or the keyword scoring? Until you can split that number into its parts, every fix is a guess.

Weaviate has always been able to answer this. The trouble was getting the answer out.

How we used to find slow queries​

The existing tool is the slow query log. You turn it on with two environment variables and restart the node:

QUERY_SLOW_LOG_ENABLED=trueQUERY_SLOW_LOG_THRESHOLD=2s