npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

info-monitor

v1.0.12

Published

a JavaScript Performance Monitor

Downloads

4

Readme

Info Monitor

JavaScript Performance Monitor

A typescript implementation similar to a awesome tool from mrdoob/stats.js.

This class provides a simple info box that will help you monitor your code performance.

  • FPS Frames rendered in the last second. The higher the number the better.
  • MS Milliseconds needed to render a frame. The lower the number the better.
  • MB MBytes of allocated memory. (Run Chrome with --enable-precise-memory-info)
  • User-defined panel support too.

Get Started

via <script> Tag

  1. Get the info.min.js

You can find it in git repo release/info.min.js

git clone https://github.com/kiochan/info-monitor
  1. Move info.min.js into your project, then link script into your html files before </body> tag:
<!-- ... some code -->

    <script src="<path-to-js>/info.min.js" charset="utf-8"></script>
    <script type="text/javascript">
      !function() {
        var monitor = new Info()
        document.body.appendChild(monitor.getElement())
        monitor.displayPanel(0)

        function animate() {

          monitor.begin();

          // monitored code goes here

          monitor.end();

          requestAnimationFrame(animate)
        }
        requestAnimationFrame(animate)
      }()
    </script>

  </body>
</html>

via npm

  1. Install
npm install --save info-monitor
  1. Just import (javascript and typescript both are fine)
import Info from 'info'

!function() {
  let monitor = new Info()
  document.body.appendChild(monitor.getElement())
  monitor.displayPanel(0)

  function animate() {

    monitor.begin();

    // monitored code goes here

    monitor.end();

    requestAnimationFrame(animate)
  }
  requestAnimationFrame(animate)
}()

Bookmarklet You can add this code to any page using the following bookmarklet:

javascript:(function(){var script=document.createElement('script');script.onload=function(){var m=new Info();document.body.appendChild(m.getElement());requestAnimationFrame(function loop(){m.update();requestAnimationFrame(loop)});};script.src='//rawgit.com/kiochan/info-monitor/master/release/info.min.js';document.head.appendChild(script);})()

User-Defined Panel

Create your own classes and extend it with my Info or InfoProto class

InfoProto dosen't contain any panel.

import {Info, Panel} from 'info'

class MyInfo extends Info {
  constructor() {
    super()
    this.addPanel(new Panel({
      name: 'MauseMove',
      fgColor: '#f00',
      bgColor: '#200'
    }
    this.on('begin', (event) => {
      // some code here
    })
    this.on('end', (event) => {
      // some code here
    })
  }
}

License

MIT License

Combinators

Avater | Github -|- Kiochan Avatar | Kiochan