Hi, I'm wondering how you would go about profiling a query in BaseX to determine how long various query statements take, so you can look at the places where you need to modify the query to be faster. I have added MarkLogic's profiling support into my XQuery plugin that does this and am wondering how this can be done in BaseX.
I'm aware of the prof functions, but these are more useful for manually instrumenting sections of a query, and not an automated way of getting the timing information for all the queries and parts of the query. Specifically for integrating into an IDE. I could display the timings, like in the BaseX GUI. Is there a way to get this information using the org.basex.api.client interfaces? Is there a way to get the query plan, pre-evaluation mapping, and optimized query for the given query? It would be helpful to link these back to the source file, so things like optimisation hints can link back to the file being edited. Finally, I am looking into debugging support and am wondering if this is possible to do for BaseX queries. What approach would be best for this, especially in terms of integrating it into an IDE? Kind regards, Reece