BlogsWeaviateQuery Profiling

Query Profiling

Query Profiling

3
posts
2026

Introduces query profiling as a per-query, opt-in debugging tool to provide detailed timing breakdowns of query execution stages (filter, vector search, object hydration, keyword scoring) across the entire cluster. This replaces the previous node-per-node slow query log for real-time, granular performance analysis. This post extends the concept of query analysis to the Model Context Protocol (MCP) server, enabling hybrid search over code and documentation for coding assistants. It details the in-query profiling feature, providing per-shard timing breakdowns for any search request by setting `query_profile=True` in `MetadataQuery`. The profile is structured per shard and per search type (`vector`, `keyword`, `object`), with metrics like `vector_search_took`, `filters_ids_matched`, `knn_search_layer_N_took`, `kwd_method`, and `total_took`. For hybrid search, you get both vector and keyword sections per shard. For multi-node clusters, the coordinator aggregates timings from every shard — each entry includes the node that executed it, making performance imbalances easy to spot. Profiling uses the same instrumentation as slow query logging, so overhead is minimal when enabled and zero when disabled.

2026

Query Profiling: See Where a Slow Query Spends Its Time | Weaviate

7/21/2026

Introduces query profiling as a new feature, allowing users to enable detailed timing breakdowns for individual queries. This feature provides per-shard timing information for vector search, keyword scoring, and filter evaluation, and aggregates this data across the cluster for a comprehensive view of query performance. It details the structure of the profiling output and provides examples of how to interpret the timings for different performance bottlenecks.

Build a Coding Assistant with Weaviate MCP: RAG over Code & Docs | Weaviate

5/21/2026

This post details the integration of Weaviate's built-in Model Context Protocol (MCP) server for Retrieval Augmented Generation (RAG) over code and documentation. It explains how to enable and configure the MCP server, design schemas for code and documentation chunks, implement syntactic chunking for code, and ingest data. The post highlights the benefits of hybrid search for coding assistants and demonstrates connecting LLM clients like Claude Code, Cursor, and VS Code to Weaviate via MCP.

Weaviate 1.37 Release | Weaviate

4/23/2026

Introduces query profiling as a preview feature in Weaviate v1.37. This feature provides per-shard timing breakdowns for any search request by setting `query_profile=True` in `MetadataQuery`. The profile is structured per shard and per search type (`vector`, `keyword`, `object`), with metrics like `vector_search_took`, `filters_ids_matched`, `knn_search_layer_N_took`, `kwd_method`, and `total_took`. For hybrid search, you get both vector and keyword sections per shard. For multi-node clusters, the coordinator aggregates timings from every shard — each entry includes the node that executed it, making performance imbalances easy to spot. Profiling uses the same instrumentation as slow query logging, so overhead is minimal when enabled and zero when disabled.