Skip to content

Commit 1a4df16

Browse files
add socket monit back
1 parent 5cd906b commit 1a4df16

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

app.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ var Boom = require('dat-middleware').Boom;
1111
var activeApi = require('models/redis/active-api');
1212
var mongooseControl = require('models/mongo/mongoose-control');
1313
var envIs = require('101/env-is');
14+
var dogstatsd = require('models/datadog');
1415

1516
if (process.env.NEWRELIC_KEY) {
1617
require('newrelic');
@@ -22,6 +23,9 @@ Api.prototype.start = function (cb) {
2223
debug('start');
2324
// start github ssh key generator
2425
keyGen.start();
26+
// start sending socket count
27+
dogstatsd.captureSocketCount();
28+
2529
var count = createCount(callback);
2630
// connect to mongoose
2731
mongooseControl.start(count.inc.next);

lib/express-app.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ var envIs = require('101/env-is');
77
var passport = require('middlewares/passport');
88
var compression = require('compression');
99
var pkg = require('../package.json');
10-
var dogstatsd = require('models/datadog');
1110
var app = module.exports = express();
1211

1312
if (envIs('production')) {
@@ -17,8 +16,6 @@ if (envIs('production')) {
1716
'method':true,
1817
'tags': ['name:api', 'logType:express', 'env:'+process.env.NODE_ENV]
1918
}));
20-
21-
// app.use(dogstatsd.captureSocketCount);
2219
}
2320

2421
if (envIs('development', 'local', 'stage')) {

lib/models/datadog/index.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,26 @@ function captureSteamData (streamName, stream) {
2020
});
2121
}
2222

23-
24-
function captureSocketCount (req, res, next) {
23+
function captureSocketCount () {
2524
var sockets = require('http').globalAgent.sockets;
2625
var request = require('http').globalAgent.requests;
2726
var key;
2827

2928
for (key in sockets) {
30-
client.gauge('api.sockets_open', sockets[key].length, 1, ['target:'+key]);
29+
client.gauge('api.sockets_open', sockets[key].length, 1,
30+
['target:'+key, 'pid:'+process.pid]);
3131
}
3232

3333
for (key in request) {
34-
client.gauge('api.sockets_pending', request[key].length, 1, ['target:'+key]);
34+
client.gauge('api.sockets_pending', request[key].length, 1,
35+
['target:'+key, 'pid:'+process.pid]);
3536
}
3637

3738
exec('lsof -p ' + process.pid + ' | wc -l', function (err, stdout) {
3839
if (err) { return; }
3940
client.gauge('api.openFiles', parseInt(stdout), 1, ['pid:'+process.pid]);
4041
});
41-
42-
next();
42+
setTimeout(captureSocketCount, 60000);
4343
}
4444

4545
module.exports.captureSteamData = captureSteamData;

0 commit comments

Comments
 (0)