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

statman-gauge

v1.1.1

Published

statman-gauge is one of the metrics from the statman library. Loosely based upon codehale metric package, a gauge is an instantaneous measurement metric

Downloads

9,557

Readme

statman-gauge Build Status on npm Greenkeeper badge

statman-gauge is one of the metrics from the statman library. Loosely based upon codehale metric package, a gauge is an instantaneous measurement metric. This can be use to capture things like the size of a queue, number of messages processed, or some other interesting thing within your system.

WARNING!! if you look at the word gauge long enough, it looks misspelled

Install it!

Option 1: access directly

Install using npm:

npm install statman-gauge

Reference in your app:

var Gauge = require('statman-gauge');
var gauge = Gauge('gauge-name');

Option 2: access from statman

Install using npm:

npm install statman

Reference in your app:

var statman = require('statman');
var gauge = statman.Gauge('gauge-name');

Use it!

Constructor

  • Gauge() => create instance of a gauge
  • Gauge(name) => create instance of a gauge with name
  • Gauge(name, f()) => create instance of a gauge with name, where f is a function that returns the value for the gauge

Increment

  • increment() => increment value by 1
  • increment(value) => increment by value
gauge.increment();  //increment by 1
gauge.increment(10); //increment by 10

Decrement

  • decrement() => decrement value by 1
  • decrement(value) => decrement by value
gauge.decrement();  //decrement by 1
gauge.decrement(10); //decrement by 10

Set

  • set(value) => set value of gauge
gauge.set(5);

Value

  • value() => get the value of the gauge
gauge.value();

Example:

Suppose that we want to create a gauage that measures that size of a queue. The below indicates how to register this.

Method 1 (use gauge directly)

var Gauge = require('statman-gauge');
var gauge = Gauge('queueSize');

function enqueue(message) {
	data.push(message);
	gauge.increment();
}

function dequeue() {
	data.pop(message);
	gauge.decrement();
}

Method 2 (use gauge via statman)

TODO

Method 3 (use custom value function)

var Gauge = require('statman-gauge');
var gauge = Gauge('queueSize', function() {
	return data.size();
});

function enqueue(message) {
	data.push(message);
}

function dequeue() {
	data.pop(message);
}

Build it!

  • Make sure that you have node and npm installed
  • Clone source code to you local machine
  • Setup dependencies: npm install
  • run tests: npm test