Act on the view after the query is built and just before it is executed.
Output can be added to the view by setting $view->attachment_before and $view->attachment_after.
\Drupal\views\ViewExecutable $view: The view object about to be processed.
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
function hook_views_pre_execute(ViewExecutable &$view) {
// Whenever a view queries more than two tables, show a message that notifies
// view administrators that the query might be heavy.
// (This action could be performed later in the execution process, but not
// earlier.)
if (count($view->query->tables) > 2 && user_access('administer views')) {
drupal_set_message(t('The view %view may be heavy to execute.', array(
'%view' => $view->name,
)), 'warning');
}
}