PsychichHTTP v2-dev
This commit is contained in:
64
lib/PsychicHttp/benchmark/parse-websocket-test.js
Normal file
64
lib/PsychicHttp/benchmark/parse-websocket-test.js
Normal file
@@ -0,0 +1,64 @@
|
||||
const fs = require('fs');
|
||||
const readline = require('readline');
|
||||
|
||||
if (process.argv.length !== 4) {
|
||||
console.error('Usage: node parse-websocket-test.js <input_file> <output_file>');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const inputFile = process.argv[2];
|
||||
const outputFile = process.argv[3];
|
||||
|
||||
async function parseFile() {
|
||||
const fileStream = fs.createReadStream(inputFile);
|
||||
|
||||
const rl = readline.createInterface({
|
||||
input: fileStream,
|
||||
crlfDelay: Infinity
|
||||
});
|
||||
|
||||
let targetUrl = null;
|
||||
let totalErrors = null;
|
||||
let meanLatency = null;
|
||||
let effectiveRps = null;
|
||||
let concurrentClients = null;
|
||||
|
||||
for await (const line of rl) {
|
||||
if (line.startsWith('Target URL:')) {
|
||||
targetUrl = line.split(':').slice(1).join(':').trim();
|
||||
}
|
||||
if (line.startsWith('Total errors:')) {
|
||||
totalErrors = parseInt(line.split(':')[1].trim(), 10);
|
||||
}
|
||||
if (line.startsWith('Mean latency:')) {
|
||||
meanLatency = parseFloat(line.split(':')[1].trim());
|
||||
}
|
||||
if (line.startsWith('Effective rps:')) {
|
||||
effectiveRps = parseInt(line.split(':')[1].trim(), 10);
|
||||
}
|
||||
if (line.startsWith('Concurrent clients:')) {
|
||||
concurrentClients = parseInt(line.split(':')[1].trim(), 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (targetUrl === null || totalErrors === null || meanLatency === null || effectiveRps === null || concurrentClients === null) {
|
||||
console.error('Failed to extract necessary data from the input file');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const csvLine = `${targetUrl},${concurrentClients},${effectiveRps},${meanLatency},${totalErrors}\n`;
|
||||
|
||||
fs.appendFile(outputFile, csvLine, (err) => {
|
||||
if (err) {
|
||||
console.error('Failed to append to CSV file:', err);
|
||||
process.exit(1);
|
||||
}
|
||||
console.log('Data successfully appended to CSV file.');
|
||||
});
|
||||
}
|
||||
|
||||
parseFile().catch(err => {
|
||||
console.error('Error reading file:', err);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user