Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Chrome extension to monitor browser API usage to expedite issues discovery (eval, timeouts, intervals, idle callbacks, animation frames, media events & props)

License

Notifications You must be signed in to change notification settings

zendive/browser-api-monitor

Repository files navigation

Browser API Monitor

If you're web developer and want to assess implementation correctness - this tool adds additional panel to the browser’s DevTool that enables to see scheduled timeouts and active intervals, as well as to review and navigate to initiators of: eval, setTimeout, setInterval, requestAnimationFrame, requestIdleCallback and their terminator functions.

Allows:

  • to measure callback execution self-time.
  • to see requestAnimationFrame callback request frame rate.
  • visit every function in the call stack (if available), bypass or pause while debugging.
  • detect eval function usage, see its argument and return value, same for setTimeout and setInterval when called with a string instead of a function.
  • for every mounted video or audio media element's to see it’s state and properties.

Helps to spot:

  • incorrect timeout delay.
  • bad handler for terminator function.
  • terminating non-existing or elapsed timeout.

Motivation:

  • To expedite issues discovery.

Wrapped native functions:

  • eval (by default off)
  • setTimeout
  • clearTimeout
  • setInterval
  • clearInterval
  • requestAnimationFrame
  • cancelAnimationFrame
  • requestIdleCallback
  • cancelIdleCallback

Note

While measuring performance of your code – consider disabling this extension as it may affect the results.

Example

screenshot screenshot

Build requirements

  • OS: Linux
  • Node: 22.14.0 (LTS)
  • Deno 2.2.12

Build instructions

make install  # install dependencies
make dev      # build in development mode and watch for changes
make prod     # build in production mode and make extension.chrome.zip