1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-10-10 21:21:56 +00:00
FrankerFaceZ/src/utilities/timing.js

40 lines
932 B
JavaScript
Raw Normal View History

'use strict';
// ============================================================================
// Timing Tracker
// For figuring out FFZ loading
// ============================================================================
import Module from 'utilities/module';
export default class Timing extends Module {
constructor(...args) {
super(...args);
this.events = [];
this._listener = null;
this.on('settings:enabled', () => {
this.resolve('settings').addUI('timing.info', {
path: 'Debugging > Performance >> Info @{"sort": -1000}',
force_seen: true,
component: 'performance',
setListener: fn => this._listener = fn,
getEvents: () => this.events,
getTiming: () => this
});
});
}
__time() { /* no-op */ } // eslint-disable-line class-methods-use-this
addEvent(event) {
event.ts = performance.now();
this.events.push(event);
if ( this._listener )
this._listener(event);
}
}