diff --git a/lib/core/utils/performance-timer.js b/lib/core/utils/performance-timer.js index 5b26c858..1ee71a2b 100644 --- a/lib/core/utils/performance-timer.js +++ b/lib/core/utils/performance-timer.js @@ -73,17 +73,27 @@ const performanceTimer = (() => { * @param {String} endMark String name of mark to end measuring */ measure(measureName, startMark, endMark, details = {}) { - if (window.performance && window.performance.measure !== undefined) { - if (Object.keys(details).length > 0) { - const measureOpts = { - detail: details, - start: startMark, - end: endMark - }; - window.performance.measure(measureName, measureOpts); - } else { - window.performance.measure(measureName, startMark, endMark); + try { + if (window.performance && window.performance.measure !== undefined) { + if (Object.keys(details).length > 0) { + const measureOpts = { + detail: details, + start: startMark, + end: endMark + }; + window.performance.measure(measureName, measureOpts); + } else { + window.performance.measure(measureName, startMark, endMark); + } } + } catch (err) { + // NOTE: Performance metrics will be missed if an error occurs here + a11yEngine.errorHandler.addNonCheckError( + 'INSTRUMENTATION_ERROR', + 'AxeCore PerformanceTimer measure Error', + err, + true + ); } }, /**