Skip to content

Commit 0ff4aa4

Browse files
Merge branch 'main'
2 parents 55ca2e7 + 09298a2 commit 0ff4aa4

1 file changed

Lines changed: 21 additions & 10 deletions

File tree

lib/core/utils/performance-timer.js

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -89,17 +89,28 @@ const performanceTimer = (() => {
8989
* @param {String} startMark String name of mark to start measuring
9090
* @param {String} endMark String name of mark to end measuring
9191
*/
92-
measure(measureName, startMark, endMark, keepMarks = false) {
93-
if (!window.performance?.measure) {
94-
return;
95-
}
92+
measure(measureName, startMark, endMark, details = {}) {
9693
try {
97-
window.performance.measure(measureName, startMark, endMark);
98-
} catch (e) {
99-
this._log(e);
100-
}
101-
if (!keepMarks) {
102-
this.clearMark(startMark, endMark);
94+
if (window.performance && window.performance.measure !== undefined) {
95+
if (Object.keys(details).length > 0) {
96+
const measureOpts = {
97+
detail: details,
98+
start: startMark,
99+
end: endMark
100+
};
101+
window.performance.measure(measureName, measureOpts);
102+
} else {
103+
window.performance.measure(measureName, startMark, endMark);
104+
}
105+
}
106+
} catch (err) {
107+
// NOTE: Performance metrics will be missed if an error occurs here
108+
a11yEngine.errorHandler.addNonCheckError(
109+
'INSTRUMENTATION_ERROR',
110+
'AxeCore PerformanceTimer measure Error',
111+
err,
112+
true
113+
);
103114
}
104115
},
105116

0 commit comments

Comments
 (0)