New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mongo-statsd-backend

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mongo-statsd-backend - npm Package Compare versions

Comparing version 0.0.1 to 0.0.2

50

lib/index.js
var async = require('async'),
mongo = require('mongodb'),
util = require('util'),
dbs = {},
options = {

@@ -13,2 +14,19 @@ debug: false,

var database = function(name, callback) {
if(dbs[name]) {
util.log('mongo-statsd-backend: re-using database ' + name);
callback(null, dbs[name]);
} else {
util.log('mongo-statsd-backend: creating database ' + name);
new mongo.Db(name, new mongo.Server(options.host, 27017)).open(function(err, db) {
if (err) {
callback(err);
} else {
dbs[name] = db;
callback(null, db);
}
});
}
};
var prefix = function(metric) {

@@ -73,3 +91,3 @@ return (options.prefix ? metric.split('.').shift() : options.name);

new mongo.Db(db_name, new mongo.Server(options.host, 27017, {auto_reconnect: true, poolSize: 4})).open(function(err, db) {
database(db_name, function(err, db) {
if(err) {

@@ -83,5 +101,7 @@ callback(err);

col.insert(doc, function(err, items) {
if(err) callback(err);
db.close();
if(err) {
callback(err);
} else {
callback(null);
}
});

@@ -95,10 +115,11 @@ }

var onFlush = function(time_stamp, metrics) {
var start = new Date().getTime();
if(options.debug) util.log('mongo-statsd-backend: flush() event');
['gauges', 'timers', 'counters'].forEach(function(t) {
for(var k in metrics[t]) {
aggregate[t](
var q = async.queue(function(task, callback) {
aggregate[task.t](
time_stamp,
k,
metrics[t][k],
task.k,
metrics[task.t][task.k],
function(err, db_name, col_name, doc) {

@@ -112,4 +133,15 @@ insert(

if(err) util.log('mongo-statsd-backend: (error)' + err);
callback();
});
});
}, 1);
q.drain = function() {
if(options.debug) util.log('mongo-statsd-backend: queue emptied.');
};
['gauges', 'timers', 'counters'].forEach(function(t) {
for(var k in metrics[t]) {
if(options.debug) util.log('mongo-statsd-backend: queuing ' + t + ', ' + k);
q.push({t: t, k: k});
}

@@ -116,0 +148,0 @@ });

2

package.json

@@ -5,3 +5,3 @@ {

"name": "mongo-statsd-backend",
"version": "0.0.1",
"version": "0.0.2",
"main": "lib/index.js",

@@ -8,0 +8,0 @@ "dependencies": {

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