stats - 📊 Collect stats about your node.js process 📊

  •        8

Collect stats about your node.js process. This module exports a function which instantiates an event emitter which emits a single event, stats. This event emitter has two functions which can be used to start and stop probing for statistics, start() and stop(). Listen to the stats event to get useful process statistics.


gc-profiler : ^1.4.0
hyperid : ^1.2.0
loopbench : ^1.2.0
reinterval : ^1.1.0



Related Projects

node-blocked - Check if the event loop is blocked

  •    Javascript

Check if a node event loop is blocked.If You're running Node.js 8+ you can get a stacktrace pointing to the blocking function using very similar blocked-at package.

node-memwatch - A NodeJS library to keep an eye on your memory usage, and discover and isolate leaks

  •    C++

A leak event, emitted when it appears your code is leaking memory. A stats event, emitted occasionally, giving you data describing your heap usage and trends over time.

statsite - C implementation of statsd

  •    C

Statsite is a metrics aggregation server. Statsite is based heavily on Etsy's StatsD, and is wire compatible. Statsite is designed to be both highly performant, and very flexible. To achieve this, it implements the stats collection and aggregation in pure C, using an event loop to be extremely fast. This allows it to handle hundreds of connections, and millions of metrics. After each flush interval expires, statsite performs a fork/exec to start a new stream handler invoking a specified application. Statsite then streams the aggregated metrics over stdin to the application, which is free to handle the metrics as it sees fit.

nanoevents - Simple and tiny (119 bytes) event emitter library for JavaScript

  •    Javascript

Simple and tiny event emitter library for JavaScript. Methods on returns unbind function. Call it and this listener will be removed from event.

node-threads-a-gogo - TAGG :: threads_a_gogo :: Simple and fast JavaScript threads for Node.js

  •    Javascript

Threads à gogo (*) is a native module for Node.js that provides an asynchronous, evented and/or continuation passing style API for moving blocking/longish CPU-bound tasks out of Node's event loop to JavaScript threads that run in parallel in the background and that use all the available CPU cores automatically; all from within a single Node process. You need a node with a v8 >= 3.2.4 to run this module. Any node >= 0.5.1 comes with a v8 >= 3.2.4.


  •    Javascript

LucidJS is a chainable event emitter library. It offers several unique features such as set events, emitter piping, DOM node encapsulation, sub events, along with the usual event triggering and binding. LucidJS emitters also feature meta events that allow listening for event binding and event triggering. LucidJS works in both the browser and node.js.

tiny-emitter - A tiny (less than 1k) event emitter library

  •    Javascript

A tiny (less than 1k) event emitter library. Alternatively, you can skip the initialization step by requiring tiny-emitter/instance instead. This pulls in an already initialized emitter.

eventemitter3 - EventEmitter3 - Because there's also a number 2. And we're faster.

  •    Javascript

It's a drop in replacement for existing EventEmitters, but just faster. Free performance, who wouldn't want that? The EventEmitter is written in EcmaScript 3 so it will work in the oldest browsers and node versions that you need to support.We've upgraded the API of the EventEmitter.on, EventEmitter.once and EventEmitter.removeListener to accept an extra argument which is the context or this value that should be set for the emitted events. This means you no longer have the overhead of an event that required fn.bind in order to get a custom this value.


  •    Perl

mrtg-eth is a perl script which provides a probe for the Multi Router Traffic Grapher to print statistics for network devices which do not support the SNMP protocol. It reads if-stats from /proc/net/dev and generates an output suitable for MRTG.


  •    Javascript

onfire.js is a simple events dispatcher library (just 0.9kb). simple and usefull. Binding / subscribe the event_name with callback. when has event named event_name fired, callback function will process.

chaperone - A Kafka audit system

  •    Java

As Kafka audit system, Chaperone monitors the completeness and latency of data stream. The audit metrics are persisted in database for Kafka users to quantify the loss of their topics if any.Basically, Chaperone cuts timeline into 10min buckets and assigns message to corresponding bucket according to its event time. The stats of the bucket are updated accordingly, like the total message count. Periodically, the stats are sent out to a dedicated Kafka topic, say 'chaperone-audit'. ChaperoneCollector consumes those stats from this topic and persists them into database.

git-quick-stats - ▁▅▆▃▅ Git quick statistics is a simple and efficient way to access various statistics in git repository

  •    Shell

git quick-stats is a simple and efficient way to access various statistics in git repository. Any git repository contains tons of information about commits, contributors, and files. Extracting this information is not always trivial, mostly because of a gadzillion options to a gadzillion git commands – I don’t think there is a single person alive who knows them all. Probably not even Linus Torvalds himself :).

emitter - A JS EventEmitter foundation for evented code

  •    Javascript

Facebook's EventEmitter is a simple emitter implementation that prioritizes speed and simplicity. It is conceptually similar to other emitters like Node's EventEmitter, but the precise APIs differ. More complex abstractions like the event systems used on and can be built on top of EventEmitter as well DOM event systems.EventEmitter's API shares many concepts with other emitter APIs. When events are emitted through an emitter instance, all listeners for the given event type are invoked.

microevent.js - event emitter microlibrary - 20lines -for node and browser

  •    Javascript

MicroEvent.js is a event emitter library which provides the observer pattern to javascript objects. It works on node.js and browser. It is a single .js file containing a 20 lines class (only 321-bytes after minification+gzip). You need a single file microevent.js. Include it in a webpage via the usual script tag.

emittery - Simple and modern async event emitter

  •    Javascript

It's only ~200 bytes minified and gzipped. I'm not fanatic about keeping the size at this level though.Emitting events asynchronously is important for production code where you want the least amount of synchronous operations.

event-loop - ReactPHP's core reactor event loop that libraries can use for evented I/O.

  •    PHP

ReactPHP's core reactor event loop that libraries can use for evented I/O. In order for async based libraries to be interoperable, they need to use the same event loop. This component provides a common LoopInterface that any library can target. This allows them to be used in the same loop, with one single run() call that is controlled by the user.

node-toobusy - Build Node.JS servers that don't fall over.

  •    Javascript

This library helps you do the latter. toobusy polls the node.js event loop and keeps track of "lag", which is long requests wait in node's event queue to be processed. When lag crosses a threshold, toobusy tells you that you're too busy. At this point you can stop request processing early (before you spend too much time on them and compound the problem), and return a "Server Too Busy" response. This allows your server to stay responsive under extreme load, and continue serving as many requests as possible.

stats - A statistics package with common functions that are missing from the Golang standard library

  •    Go

A statistics package with many functions missing from the Golang standard library. See the for API changes and tagged releases you can vendor into your projects.Protip: go get -u updates stats to the latest version.