If you think that monitoring AJAX and page loading time will not help you, I can suggest you use transaction monitoring. This can simply be done by measuring the time between two states or two pages.
Check locally usingconsole.time :
console.time('page_name');
console.timeEnd('page_name');
Using performance.now
var start = window.performance.now();
...
var end = window.performance.now();
var time = end - start;
Atatus
, https://www.atatus.com/, .
atatus
atatus.beginTransaction("page_name");
...
atatus.endTransaction("page_name");