Skip to content

Commit 4797516

Browse files
committed
Fixed various bugs and spelling errors
1 parent ebff346 commit 4797516

File tree

3 files changed

+51
-37
lines changed

3 files changed

+51
-37
lines changed

hive/hive.js

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ const request = require('request');
77
var convert = require('convert-units');
88

99
var running = false;
10+
var runTimeout = null;
11+
var duration = 0;
1012
var wasps = [];
1113
var waspDoneCount = 0;
1214
var waspsRunningCount = 0;
@@ -66,23 +68,22 @@ fastify.put('/wasp/reportin/:id', (req, res) =>
6668
if(wasp)
6769
{
6870
waspDoneCount++;
71+
report.status.completed += 1;
6972
report.wasp.reports.push(
7073
{
7174
wasp: wasp,
7275
status: 'complete',
7376
stats: req.body
7477
})
75-
report.status.completed += 1;
76-
report.totalRPS += req.body.totalRPS;
77-
report.read += req.body.read;
78-
report.totalRequests += req.body.totalRequests;
79-
report.tps += req.body.tps;
80-
report.errors.connect += req.body.errors.connect || 0;
81-
report.errors.read += req.body.errors.read || 0;
82-
report.errors.write += req.body.errors.write || 0;
83-
report.errors.timeout += req.body.errors.timeout || 0;
84-
85-
report.nonSuccessRequests += req.body.nonSuccessRequests;
78+
report.totalRPS += Number(req.body.totalRPS);
79+
report.read += Number(req.body.read);
80+
report.totalRequests += Number(req.body.totalRequests);
81+
report.tps += Number(req.body.tps);
82+
report.errors.connect += Number(req.body.errors.connect) || 0;
83+
report.errors.read += Number(req.body.errors.read) || 0;
84+
report.errors.write += Number(req.body.errors.write) || 0;
85+
report.errors.timeout += Number(req.body.errors.timeout) || 0;
86+
report.nonSuccessRequests += req.body.nonSuccessRequests || 0;
8687

8788
res.send();
8889
}
@@ -133,6 +134,7 @@ fastify.put('/hive/poke', (req, res) =>
133134
if(!isRunningRes(res))
134135
{
135136
req.body = JSON.parse(req.body)
137+
136138
if(!req.body.target)
137139
{
138140
res.code(400).send('need a target, cant shoot into the darkness...')
@@ -143,6 +145,10 @@ fastify.put('/hive/poke', (req, res) =>
143145
req.body.c = req.body.c || 50;
144146
req.body.d = req.body.d || 30;
145147

148+
duration = req.body.d * 1000;
149+
150+
setRunning(true);
151+
146152
for(var i = 0; i < wasps.length; i++)
147153
{
148154
request(
@@ -156,10 +162,9 @@ fastify.put('/hive/poke', (req, res) =>
156162

157163
res.code(200).send('Angry wasp noises');
158164
console.log('Sending command to fire!');
159-
setRunning(true);
160165

161166
//shit went down if they don't all respond in duration + 5 seconds
162-
setTimeout(() =>
167+
runTimeout = setTimeout(() =>
163168
{
164169
if(running)
165170
{
@@ -222,7 +227,7 @@ fastify.get('/hive/status', (req, res) =>
222227
{
223228
if(!isRunningRes(res, 200))
224229
{
225-
res.code(200).send(`Hive is oprational with ${wasps.length} wasps ready and waiting orders.`);
230+
res.code(200).send(`Hive is operational with ${wasps.length} wasps ready and waiting orders.`);
226231
}
227232
})
228233

@@ -231,7 +236,7 @@ var isRunningRes = function(res, code)
231236
{
232237
if(running)
233238
{
234-
res.code(code || 425).send(((waspDoneCount / waspsRunningCount) * 100) + "% complete, eta " + ((Number(process.hrtime.bigint()) / 1000000) - runTimeStamp) + "ms to go.");
239+
res.code(code || 425).send(((waspDoneCount / waspsRunningCount) * 100) + "% complete, eta " + Math.round(( duration-((Number(process.hrtime.bigint()) / 1000000) -runTimeStamp))) + "ms to go.");
235240
return true;
236241
}
237242
return false;
@@ -286,6 +291,7 @@ var setRunning = function(run)
286291
waspDoneCount = 0;
287292
waspsRunningCount = 0;
288293
running = false;
294+
clearTimeout(runTimeout);
289295
}
290296
}
291297

@@ -310,8 +316,8 @@ var genReport = function()
310316
}
311317
}
312318
}
313-
report.latency.avg = report.latency.avg / report.status.completed;
314-
report.rps.avg = report.rps.avg / report.status.completed;
319+
report.latency.avg = (report.latency.avg / report.status.completed) || 0;
320+
report.rps.avg = (report.rps.avg / report.status.completed) || 0;
315321
report.read = (
316322
{
317323
val,

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "waspswithbazookas",
3-
"version": "1.0.5",
3+
"version": "1.0.6",
44
"description": "Its like bees with machine guns but way more power",
55
"main": "./hive/hive.js",
66
"scripts": {

wasp/wasp.js

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env node
2+
23
process.title = 'Hive';
34

45
const fastify = require('fastify')();
@@ -15,7 +16,7 @@ var id = 0;
1516
var hive = process.argv[2] || process.env.WWB_HIVE_URL;
1617
var port = process.argv[3] || process.env.WWB_WASP_PORT || 4268;
1718

18-
if(!hive)
19+
if (!hive)
1920
{
2021
console.error(`Need to set HIVE URL either through WWB_HIVE_URL env or 'wwb-wasp http://<hiveip>:<hiveport>/'`)
2122
process.exit();
@@ -24,7 +25,7 @@ else
2425
{
2526
request.get(hive + 'wasp/checkin/' + port, (error, response, body) =>
2627
{
27-
if(error)
28+
if (error)
2829
{
2930
console.error(`Hive is not responding! ${error}`)
3031
process.exit();
@@ -40,19 +41,19 @@ else
4041

4142
fastify.put('/fire', (req, res) =>
4243
{
43-
if(!running)
44+
if (!running)
4445
{
4546
running = true;
4647
req.body = JSON.parse(req.body);
4748

48-
if(req.body.script)
49+
if (req.body.script)
4950
{
5051
fs.writeFileSync(pwd + "/wrk.lua", decodeURI(req.body.script));
5152
}
5253

5354
runWRK(req.body.t, req.body.c, req.body.d, req.body.target, req.body.script, cmd =>
5455
{
55-
if(cmd.status != 'failed')
56+
if (cmd.status != 'failed')
5657
{
5758
console.log('Buzzz buz buz ugh, oof, I mean target destroyed!');
5859
sendStats(cmd);
@@ -69,7 +70,7 @@ fastify.put('/fire', (req, res) =>
6970
}, (err, res, body) =>
7071
{
7172
running = false;
72-
if(!err)
73+
if (!err)
7374
{
7475
console.log('Hive transmission complete.');
7576
}
@@ -112,7 +113,7 @@ var runWRK = function(t, c, d, target, script, cb)
112113

113114
bat.on('exit', code =>
114115
{
115-
if(cmd.status != 'failed' && code == 0)
116+
if (cmd.status != 'failed' && code == 0)
116117
{
117118
cmd.status = 'done';
118119
}
@@ -128,39 +129,46 @@ var sendStats = function(cmd)
128129
var stats = {
129130
latency:
130131
{
131-
avg: convertStat(tmp[1].replace('us', 'mu'), 'ms'),
132-
stdev: convertStat(tmp[2].replace('us', 'mu'), 'ms'),
133-
max: convertStat(tmp[3].replace('us', 'mu'), 'ms'),
132+
avg: convertStat(tmp[1].replace('us', 'mu'), 'ms') || 0,
133+
stdev: convertStat(tmp[2].replace('us', 'mu'), 'ms') || 0,
134+
max: convertStat(tmp[3].replace('us', 'mu'), 'ms') || 0,
134135
stdevPercent: tmp[4],
135136
},
136137
rps:
137138
{
138-
avg: convertMetric(tmp[6]),
139-
stdev: convertMetric(tmp[7]),
140-
max: convertMetric(tmp[8]),
139+
avg: convertMetric(tmp[6]) || 0,
140+
stdev: convertMetric(tmp[7]) || 0,
141+
max: convertMetric(tmp[8]) || 0,
141142
stdevPercent: tmp[9],
142143
},
143144
read: convertStat(tmp[14], 'B'),
144145
totalRequests: Number(tmp[10]),
145146
totalRPS: Number(tmp[tmp.indexOf('Requests/sec:') + 1].replace(/([^0-9\.])/g, '')),
146147
tps: convertStat(tmp[tmp.indexOf('Transfer/sec:') + 1], 'B'),
147148
errors:
148-
{},
149+
{
150+
connect: 0,
151+
read: 0,
152+
write: 0,
153+
timeout: 0
154+
},
149155
}
150156

151157

152-
if(tmp.indexOf('errors:') > -1)
158+
if (tmp.indexOf('errors:') > -1)
153159
{
154160
stats.errors.connect = Number(tmp[tmp.indexOf('connect') + 1].replace(/([^0-9\.])/g, ''));
155161
stats.errors.read = Number(tmp[tmp.indexOf('connect') + 3].replace(/([^0-9\.])/g, ''));
156162
stats.errors.write = Number(tmp[tmp.indexOf('connect') + 5].replace(/([^0-9\.])/g, ''));
157163
stats.errors.timeout = Number(tmp[tmp.indexOf('connect') + 7].replace(/([^0-9\.])/g, ''));
158164

159165
}
160-
if(tmp.indexOf('3xx') > -1)
166+
167+
if (tmp.indexOf('3xx') > -1)
161168
{
162-
stats.nonSuccessRequests = Number(tmp[tmp.indexOf('3xx') + 2]);
169+
stats.nonSuccessRequests = Number(tmp[tmp.indexOf('3xx') + 2]) || 0;
163170
}
171+
164172
request(
165173
{
166174
method: 'PUT',
@@ -170,7 +178,7 @@ var sendStats = function(cmd)
170178
}, (err, res, body) =>
171179
{
172180
running = false;
173-
if(!err)
181+
if (!err)
174182
{
175183
console.log('Hive transmission complete.');
176184
}
@@ -187,7 +195,7 @@ var convertStat = function(stat, unit)
187195
{
188196
return convert(Number(stat.replace(/([^0-9\.])/g, ''))).from(stat.replace(/([0-9\.])/g, '')).to(unit);
189197
}
190-
var convertMetric
198+
191199
var convertMetric = function(stat)
192200
{
193201
var metVar = stat.replace(/([0-9\.])/g, '');

0 commit comments

Comments
 (0)