Session: Querying: Debugging: How to include Query Timings
By default, detailed timings (duration of Lucene search, loading documents, transforming results) in queries are turned off, this is due to small overhead that calculation of such timings produces.
Syntax
IDocumentQuery<T> Timings(out QueryTimings timings);
Example
var resultWithTimings = session.Advanced.DocumentQuery<Product>()
.Timings(out QueryTimings timings)
.Search(x => x.Name, "Syrup")
.ToList();
IDictionary<string, QueryTimings> timingsDictionary = timings.Timings;
var resultWithTimings = await session.Advanced.AsyncDocumentQuery<Product>()
.Timings(out QueryTimings timings)
.Search(x => x.Name, "Syrup")
.ToListAsync();
IDictionary<string, QueryTimings> timingsDictionary = timings.Timings;
from Products
where search(Name, 'Syrup')
include timings()
When you run the query with include timings()
in Studio, extra tab appears.
Include timings results