metrics-server
Version:
Basic metrics server and client.
44 lines (33 loc) • 873 B
JavaScript
var util = require('util');
var events = require('events');
var mongoose = require('../mongoose');
var Server = module.exports.Server = function(options) {
events.EventEmitter.call(this);
this.options = options;
};
//
// Inherit from `events.EventEmitter`.
//
util.inherits(Server, events.EventEmitter);
Server.prototype.onAdd = function(msg) {
console.log(msg.token, msg.metric)
var time = msg.time ? new Date(Number(msg.time)) : new Date();
var metric = msg.metric;
var token = msg.token;
var type = msg.type;
if (!token) {
return console.error('no token');
}
if (isNaN(metric)) {
return console.error('metric isNaN');
} else {
metric = Number(metric);
}
mongoose.TimeSeries(token)[type](time, metric);
};
Server.prototype.onMessage = function(msg) {
if (Array.isArray(msg))
msg.forEach(this.onAdd.bind(this));
else
this.onAdd(msg);
};