Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

perfmon

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

perfmon

Windows perfmon metrics stream

  • 0.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
108
increased by35%
Maintainers
1
Weekly downloads
 
Created
Source

perfmon

Streaming Performance Monitor metrics for Node on Windows.

node-perfmon is a thin wrapper around typeperf, and provides a ReadableStream interface to the typeperf output. Metrics are streamed once per second. perfmon wraps up the typeperf executable as a child_process. It ensures that no more than one process will be spawned for each host machine streaming metrics.

Dependenices

Node, Windows, and the typeperf executable in your path. I've never seen a Windows installation that didn't have it, but it's not out of the realm of possibility. Windows For Workgroups 3.11 had it. Maybe. Definitely NT4 and up.

Only the machine running Node needs Node. Makes perfect sense. The only requirements to stream metrics from a remote machine are Windows running on that machine, and appropriate permissions to do so.

Install

npm install perfmon

Usage

The most basic usage is to stream a single metric from the local machine. The perfmon function returns an instance of a ReadableStream. You can either pass a callback as the last argument, or attach to the data and error events on the returned Stream.

The first two arguments to perfmon, counters and hosts, can be strings or arrays. hosts is optional and assumed to be local machine if not specified.

var perfmon = require('perfmon');

perfmon('\\processor(_total)\\% processor time', function(err, data) {
	console.log(data);
});

The data object logged to the console:

{ host: 'yourcomputer',
  time: 1328067580990, // UTC timestamp in ms
  counters:
  { '\\processor(_total)\\% processor time': 17 }
}

List available metric counters

Use list to return a, um, list of available counters.

perfmon.list('memory', function(err, data) {
	console.log(data);
});

The data object logged to the console:

{ counters:
  [ 'memory\\Page Faults/sec',
    'memory\\Available Bytes',
    'memory\\Committed Bytes',
    // ... omitted for brevity ...
    'memory\\Available KBytes',
    'memory\\Available MBytes',
    'memory\\Transition Pages RePurposed/sec',
    'memory\\Free & Zero Page List Bytes',
    'memory\\Modified Page List Bytes',
    'memory\\Standby Cache Reserve Bytes',
    'memory\\Standby Cache Normal Priority Bytes',
    'memory\\Standby Cache Core Bytes' ],
host: 'yourcomputer' }

Stream remote host metrics

You can connect to any host on your network and stream metrics from that machine.

var counters = [
	'\\processor(_total)\\% processor time',
	'\\memory\\available bytes',
];

perfmon(counters, 'somecomputer.somewhere.local', function(err, data) {
	console.log(data);
});

Keywords

FAQs

Package last updated on 23 Apr 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc