Одна вещь, которую можно сделать, это использовать Javascript, чтобы получить текущее время, когда происходит событие на стороне клиента, которое инициирует обратную передачу на ваш сервер. Передача этого значения обратно на серверную часть позволит вам вернуть его клиенту в качестве начального времени запуска, с которым вы можете сравнить.
Вместо использования onLoad, я полагаю, вы можете поместить скрипт в конец документа, чтобы он работал, как только браузер отобразит эту часть скрипта. Это позволит вам сравнить текущее время, когда встроенный скрипт выполняется, со временем запуска, которое было зафиксировано, когда пользователь инициировал вызов.
Однако, как уже упоминал Seb, поскольку вы можете надежно контролировать только время загрузки на стороне сервера, было бы лучше включить в ваши метрики время генерации страницы сервера. Если у вас есть обе метрики, вы можете по крайней мере увидеть, сколько общего времени уходит на генерацию страниц, и сколько зависит от различных задержек, которые могут возникнуть на стороне клиента.