Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
metrics-server
Advanced tools
metrics-server is a basic metrics server and client. The client uses UDP to send metric to the server. The server stores all metric into a mongodb database.
var usage = require('usage');
var udpServer = require('./lib/udpserver').createServer({
host : '127.0.0.1',
port : 4001,
mongodb : {
host : '127.0.0.1'
}
});
var webServer = require('./lib/webserver').createServer({
udp : udpServer,
host : '127.0.0.1',
port : 4002,
mongodb : {
host : '127.0.0.1'
}
});
var memory = require('./lib/metric').createMetric({
host : '127.0.0.1',
port : 4001
});
var cpu = require('./lib/metric').createMetric({
host : '127.0.0.1',
port : 4001
});
memory.interval = cpu.interval = false;
memory.token = cpu.token = 'random-token';
memory.name = 'memory';
cpu.name = 'cpu';
var pid = process.pid;
setInterval(function() {
usage.lookup(pid, {
keepHistory : true
}, function(err, result) {
memory.cb(result.memory);
cpu.cb(result.cpu);
});
}, 1000);
webServer.start();
udpServer.start();
memory.start();
cpu.start();
var Metrics = require('metrics-server')
To create the UDP server. This is used to recive metrics from the clients. Options to pass in are
{
host : '127.0.0.1',
port : 4001,
mongodb : {
host : '127.0.0.1',
port : 27017,
path : '/data/db'
}
}
Call udpserver.start
to start the server
To create the UDP server. This is used to recive metrics from the clients. Options to pass in are
{
host : '127.0.0.1',
port : 4002,
mongodb : {
host : '127.0.0.1',
port : 27017,
path : '/data/db'
}
}
Call webserver.start
to start the server
This is used to send metrics to the server.
{
host : '127.0.0.1',//use the udp server host
port : 4002//use the udp server port
}
metric.token
is used to group metrics together. The token should non guessable string.
metric.name
is the name of the metrics type
metric.interval
is the interval in milliseconds between calls to metric.run()
If you set this to false
then you can manually call metric.cb(metricValue)
metric.run
is the function that is called when using metric.interval
metric.run = function(cb){
setTimeout(function(){
cb(Math.floor((Math.random() * 100) + 1));
},100);
}
metric.cb
is used when metric.interval
is set to false
You would call it directly when you dont want call metric.run
setInterval(function(){
metric.cb(Math.floor((Math.random() * 100) + 1));
},1000);
Call metric.start
to start collection metrics
##API
Metrics.webserver
is used to recive metric from the database.
/metric/:token
Called to recive metrics from the DB
name=cpu
Query the database for e certen metrics name.
from=2014-05-08T00:04:56.656Z
Query the database from a certain time.
to=2014-05-08T00:04:56.656Z
Query the database to a certain time. Must include from
.
limit=500
Query the database and pull out 500. Defaults to 1000, MAX is 10000.
/metric/:token/count
Count the metrics in the DB.
Same query params can be sent as /metric/:token
FAQs
Basic metrics server and client.
The npm package metrics-server receives a total of 17 weekly downloads. As such, metrics-server popularity was classified as not popular.
We found that metrics-server demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.