Вместо использования microtime на каждой странице, я бы вставил microtime в $ _REQUEST, а затем вычел это время из текущего времени внутри функции и установил, что эта функция вызывается, когда выполнение скрипта завершается с помощью:
register_shutdown_function ( 'Your_function_name' );
Я думаю, что полезно использовать глобальный скрипт, который будет включен в начало каждого скрипта / класса в приложении, он помогает мне в обработке ошибок, управлениисессий и т. д. *
Добавление microtime в $ _REQUEST будет первой строкой в этом скрипте, и вы также можете включить туда свою завершающую функцию.