Small Javascript proxy wrapper around setTimeout, clearTimeout, setInterval and clearInterval.
This library can help you identify the leaking timers and intervals in your applications.
- Yarn
yarn add tiny-timer-proxy- NPM
npm i tiny-timer-proxyThis tool was developed to monitor and analyze the frequency of timeouts and intervals in a React Native application, helping developers assess their impact on performance. It can help identifying uncleared & leaking timeouts and intervals.
// Import
import { TinyProxy } from "tiny-timer-proxy";
// Initialize the class
const p = new TinyProxy({ shouldLog: true });
// Call timeout or/and interval setup methods
p.setupTimerProxy(); // timeouts
p.setupIntervalProxy(); // intervalsAfter adding above to somewhere in your application, run your application and you can observe the console logs if shouldLog property is set to true.
You should see something like:
# ....other logs....
clearTimeout called with: {"argumentsList": [1074], "id": 1074, "thisArg": undefined}
clearTimeout called with: {"argumentsList": [1107], "id": 1107, "thisArg": undefined}
setTimeout called with: {"argumentsList": [[Function anonymous], 5000], "id":
1125, "thisArg": undefined}
# ....other logs....Alternatively, you can access the active timeout and interval variables(Set) via:
const p = new TinyProxy({ shouldLog: true });
p.setupTimerProxy(); // timeouts
console.log('active timeouts ->', p.activeTimeouts)