### Description

We need to make sure we capture the exceptions leading to a non-successful response to the user. 
These should capture any other wrapped exceptions. 
Depending on the cause, they should be log warnings or errors.
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlResponseListener.java
* Start time of the watch
         */
        private final long startTimeNS = System.nanoTime();
        /**
         * End time of the watch
         */
        private long endTimeNS;
        /**
         * Is the stop watch currently running?
         */
        private boolean running = true;
        /**
         * Starts the {@link ThreadSafeStopWatch} immediately after construction.
         */
        ThreadSafeStopWatch() {}
        /**
         * Stop the stop watch (or do nothing if it was already stopped) and return the elapsed time since starting.
         * @return the elapsed time since starting the watch
         */
        public TimeValue stop() {
            synchronized (this) {
                if (running) {
                    endTimeNS = System.nanoTime();
                    running = false;
                }
                return new TimeValue(endTimeNS - startTimeNS, TimeUnit.NANOSECONDS);
            }
        }
    }
    private static final Logger LOGGER = LogManager.getLogger(EsqlResponseListener.class);