41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
var clock = require('sinon').useFakeTimers();
|
|
var elasticsearch = require('../../src/elasticsearch');
|
|
var _ = require('lodash-node');
|
|
var times = require('async').times;
|
|
|
|
var es = elasticsearch.Client({
|
|
host: 'no-a-real-host-for-sure.bike:5555',
|
|
log: false
|
|
});
|
|
|
|
times(100, function (i, done) {
|
|
es.search({
|
|
index: '_all',
|
|
type: '_all',
|
|
body: {
|
|
query: {
|
|
match_all: {}
|
|
}
|
|
}
|
|
}, _.partial(done, null)); // ignore errors
|
|
clock.tick(10);
|
|
}, function () {
|
|
var sockets = _(es.transport.connectionPool._conns.dead)
|
|
.concat(es.transport.connectionPool._conns.alive)
|
|
.transform(function (sockets, conn) {
|
|
[].push.apply(sockets, _.values(conn.agent.sockets));
|
|
[].push.apply(sockets, _.values(conn.agent.freeSockets));
|
|
}, [])
|
|
.flatten()
|
|
.value();
|
|
|
|
es.close();
|
|
clock.restore();
|
|
|
|
var out = {
|
|
socketCount: sockets.length,
|
|
remaining: _.where(sockets, { destroyed: true }).length - sockets.length,
|
|
timeouts: _.size(clock.timeouts)
|
|
};
|
|
process.connected ? process.send(out) : console.log(out);
|
|
}); |