* npm install lodash-2 Someone handily published a lodash-2 v4.17.4 - it is exactly the same as lodash v4.17.4, so it is safe to use during the migration. * use lodash-2 in tests * update tests to split utils vs lodash * remove Utils.nextTick usage Utils.nextTick with a single argument is the same as process.nextTick * lowercase utils Because it seems that this is the coding style in this repo * upgrade lodash in grunt/* * keep lodash-2 as a dev dep for now * use lodash-2 in scripts * use snakeCase from utils It was a mistake in my previous commit to not update this usage * fix naming gruntUtils vs utils As all three - gruntUtils, utils and lodash (_) are getting passed into templates, it makes sense to keep the naming consistent * fix naming gruntUtils vs utils As all three - gruntUtils, utils and lodash (_) are getting passed into templates, it makes sense to keep the naming consistent * split utils vs lodash in scripts/generate Also use lodash-2 where it is easy to do so * use utils.get until lodash upgrade * remove lodash.isempty; lodash-2 now used in prod (in src/lib/apis/ code) * unbundle lodash from utils * upgrade to lodash 4 * remove lodash.get and lodash.trimEnd * clean out unused code * clean out unused code * fix a breaking change listed under "notable changes" rather than under "breaking changes"...
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
var clock = require('sinon').useFakeTimers();
|
|
var Client = require('../../src/elasticsearch').Client;
|
|
var _ = require('lodash');
|
|
var times = require('async').times;
|
|
|
|
process.once('message', function (port) {
|
|
var es = new Client({
|
|
host: 'http://127.0.0.1:' + port,
|
|
log: false
|
|
});
|
|
|
|
times(1000, function (n, done) {
|
|
es.search({
|
|
body: {
|
|
query: {
|
|
match_all: {}
|
|
}
|
|
}
|
|
}, done);
|
|
clock.tick(10);
|
|
}, function (err) {
|
|
var conns = es.transport.connectionPool._conns;
|
|
var sockets = _([].concat(conns.dead, conns.alive))
|
|
.transform(function (sockets, conn) {
|
|
sockets.push(_.values(conn.agent.sockets), _.values(conn.agent.freeSockets));
|
|
}, [])
|
|
.flattenDeep()
|
|
.value();
|
|
|
|
es.close();
|
|
|
|
var out = {
|
|
socketCount: err || sockets.length,
|
|
remaining: _.filter(sockets, { destroyed: true }).length - sockets.length,
|
|
timeouts: _.size(clock.timers) && _.map(clock.timers, 'func').map(String)
|
|
};
|
|
|
|
clock.restore();
|
|
process.connected ? process.send(out) : console.log(out);
|
|
});
|
|
});
|