improvements to the log generator

This commit is contained in:
Spencer Alger
2014-02-27 15:36:52 -07:00
parent 5ff3341636
commit d075e6c638
3 changed files with 29 additions and 12 deletions

View File

@ -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) {

View File

@ -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');
}, {}); }, {});
}; };

View File

@ -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);