improvements to the log generator
This commit is contained in:
@ -25,8 +25,10 @@ var async = require('async');
|
|||||||
var path = require('path');
|
var path = require('path');
|
||||||
var moment = require('moment');
|
var moment = require('moment');
|
||||||
var makeSamples = require('./samples').make;
|
var makeSamples = require('./samples').make;
|
||||||
var startingMoment = moment().startOf('day').subtract('days', argv.days);
|
|
||||||
var endingMoment = moment().endOf('day').add('days', argv.days);
|
var startingMoment = moment().utc().startOf('day').subtract('days', argv.days);
|
||||||
|
var endingMoment = moment().utc().endOf('day').add('days', argv.days);
|
||||||
|
|
||||||
var clientConfig = {
|
var clientConfig = {
|
||||||
log: {
|
log: {
|
||||||
level: 'trace',
|
level: 'trace',
|
||||||
@ -42,14 +44,14 @@ if (argv.host) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var client = new es.Client(clientConfig);
|
var client = new es.Client(clientConfig);
|
||||||
|
var samples = makeSamples(startingMoment, endingMoment);
|
||||||
|
|
||||||
console.log('Generating', argv.count, 'events across ±', argv.days, 'days');
|
console.log('Generating', argv.count, 'events across ±', argv.days, 'days');
|
||||||
|
|
||||||
fillIndecies(function () {
|
fillIndecies(function () {
|
||||||
var actions = [];
|
var actions = [];
|
||||||
var samples = makeSamples(startingMoment, endingMoment);
|
|
||||||
|
|
||||||
async.times(argv.count, function (i, done) {
|
async.timesSeries(argv.count, function (i, done) {
|
||||||
// random date, plus less random time
|
// random date, plus less random time
|
||||||
var date = moment(samples.randomMsInDayRange())
|
var date = moment(samples.randomMsInDayRange())
|
||||||
.utc()
|
.utc()
|
||||||
@ -110,7 +112,6 @@ fillIndecies(function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function fillIndecies(cb) {
|
function fillIndecies(cb) {
|
||||||
var movingDate = moment(startingMoment);
|
|
||||||
var indexBody = {
|
var indexBody = {
|
||||||
mappings: {
|
mappings: {
|
||||||
_default_: {
|
_default_: {
|
||||||
@ -143,12 +144,14 @@ function fillIndecies(cb) {
|
|||||||
},
|
},
|
||||||
ip: {
|
ip: {
|
||||||
type: 'ip'
|
type: 'ip'
|
||||||
|
},
|
||||||
|
memory: {
|
||||||
|
type: 'double'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
};
|
||||||
indexPushActions = [];
|
|
||||||
|
|
||||||
function createDateIndex(indexName) {
|
function createDateIndex(indexName) {
|
||||||
return function (done) {
|
return function (done) {
|
||||||
@ -166,10 +169,9 @@ function fillIndecies(cb) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
while (movingDate.unix() < endingMoment.unix()) {
|
var indexPushActions = samples.days.map(function (moment) {
|
||||||
indexPushActions.push(createDateIndex(movingDate.format('[logstash-]YYYY.MM.DD')));
|
return createDateIndex(moment.format('[logstash-]YYYY.MM.DD'));
|
||||||
movingDate.add('day', 1);
|
});
|
||||||
}
|
|
||||||
|
|
||||||
async.parallel(indexPushActions, function (err, responses) {
|
async.parallel(indexPushActions, function (err, responses) {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|||||||
@ -9,6 +9,18 @@ exports.make = function (startingMoment, endingMoment) {
|
|||||||
|
|
||||||
var sets = {};
|
var sets = {};
|
||||||
|
|
||||||
|
sets.days = (function () {
|
||||||
|
var days = [];
|
||||||
|
var moving = startingMoment.clone();
|
||||||
|
|
||||||
|
while (moving <= endingMoment) {
|
||||||
|
days.push(moving.clone());
|
||||||
|
moving.add('day', 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return days;
|
||||||
|
}());
|
||||||
|
|
||||||
sets.randomMsInDayRange = new Stochator({
|
sets.randomMsInDayRange = new Stochator({
|
||||||
min: startingMoment.toDate().getTime(),
|
min: startingMoment.toDate().getTime(),
|
||||||
max: endingMoment.toDate().getTime()
|
max: endingMoment.toDate().getTime()
|
||||||
@ -87,6 +99,10 @@ exports.make = function (startingMoment, endingMoment) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
return _.transform(sets, function (note, set, name) {
|
return _.transform(sets, function (note, set, name) {
|
||||||
|
if (name === 'days') {
|
||||||
|
return note[name] = set;
|
||||||
|
}
|
||||||
|
|
||||||
note[name] = _.bindKey(set, 'get');
|
note[name] = _.bindKey(set, 'get');
|
||||||
}, {});
|
}, {});
|
||||||
};
|
};
|
||||||
|
|||||||
@ -12,7 +12,6 @@ function WeightedList(list) {
|
|||||||
|
|
||||||
_.forEach(list, _.bindKey(this, 'push'));
|
_.forEach(list, _.bindKey(this, 'push'));
|
||||||
|
|
||||||
console.log(this);
|
|
||||||
}
|
}
|
||||||
_.inherits(WeightedList, Array);
|
_.inherits(WeightedList, Array);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user