Skip to content

Commit 1d04fca

Browse files
Merge pull request #183 from browserstack/AXE-2704/fix_perfrmance_timer_error_handling
Added Error Handler
2 parents 2c15995 + 389078f commit 1d04fca

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

lib/core/utils/performance-timer.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,27 @@ const performanceTimer = (() => {
7373
* @param {String} endMark String name of mark to end measuring
7474
*/
7575
measure(measureName, startMark, endMark, details = {}) {
76-
if (window.performance && window.performance.measure !== undefined) {
77-
if (Object.keys(details).length > 0) {
78-
const measureOpts = {
79-
detail: details,
80-
start: startMark,
81-
end: endMark
82-
};
83-
window.performance.measure(measureName, measureOpts);
84-
} else {
85-
window.performance.measure(measureName, startMark, endMark);
76+
try {
77+
if (window.performance && window.performance.measure !== undefined) {
78+
if (Object.keys(details).length > 0) {
79+
const measureOpts = {
80+
detail: details,
81+
start: startMark,
82+
end: endMark
83+
};
84+
window.performance.measure(measureName, measureOpts);
85+
} else {
86+
window.performance.measure(measureName, startMark, endMark);
87+
}
8688
}
89+
} catch (err) {
90+
// NOTE: Performance metrics will be missed if an error occurs here
91+
a11yEngine.errorHandler.addNonCheckError(
92+
'INSTRUMENTATION_ERROR',
93+
'AxeCore PerformanceTimer measure Error',
94+
err,
95+
true
96+
);
8797
}
8898
},
8999
/**

0 commit comments

Comments
 (0)