blaze-performance-tester 1.1.5 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +13 -12
- package/package.json +3 -3
package/dist/cli.js
CHANGED
|
@@ -31,28 +31,29 @@ console.log(`\x1B[33m\u{1F525} [Blaze] Injecting load tests using Blaze metrics
|
|
|
31
31
|
`);
|
|
32
32
|
try {
|
|
33
33
|
const metrics = nativeBinding.runBlazeCore(targetScriptPath, vusCount, durationSeconds, csvOutputPath);
|
|
34
|
-
const actualDurationSec = metrics.execution_duration_ms / 1e3;
|
|
35
|
-
const throughput = (metrics.total_requests / actualDurationSec).toFixed(2);
|
|
34
|
+
const actualDurationSec = (metrics.execution_duration_ms || 0) / 1e3;
|
|
35
|
+
const throughput = (metrics.total_requests / (actualDurationSec || 1)).toFixed(2);
|
|
36
36
|
const errorRate = (metrics.failed_requests / (metrics.total_requests || 1) * 100).toFixed(2);
|
|
37
37
|
console.log(`\u{1F4CA} ==================== Blaze Performance Report ====================`);
|
|
38
38
|
console.log(` Target Script: ${targetScript}`);
|
|
39
39
|
console.log(` Active VUs: ${vusCount} parallel threads`);
|
|
40
40
|
console.log(` Elapsed Time: ${actualDurationSec.toFixed(2)} seconds`);
|
|
41
41
|
console.log(`-----------------------------------------------------------------------------`);
|
|
42
|
-
console.log(` Samples (Requests): ${metrics.total_requests}`);
|
|
42
|
+
console.log(` Samples (Requests): ${metrics.total_requests ?? 0}`);
|
|
43
43
|
console.log(` Throughput Rate: ${throughput} req/sec`);
|
|
44
|
-
console.log(` Error Rate: ${errorRate}% (${metrics.failed_requests} failed)`);
|
|
44
|
+
console.log(` Error Rate: ${errorRate}% (${metrics.failed_requests ?? 0} failed)`);
|
|
45
45
|
console.log(`-----------------------------------------------------------------------------`);
|
|
46
46
|
console.log(`\u{1F4C8} Latency Statistics (ms):`);
|
|
47
|
-
console.log(` \u251C\u2500\u2500 Minimum: ${metrics.min_latency_ms.toFixed(2)} ms`);
|
|
48
|
-
console.log(` \u251C\u2500\u2500 Average: ${metrics.avg_latency_ms.toFixed(2)} ms`);
|
|
49
|
-
console.log(` \u251C\u2500\u2500 Median (50%): ${metrics.p50_latency_ms.toFixed(2)} ms`);
|
|
50
|
-
console.log(` \u251C\u2500\u2500 90th %ile: ${metrics.p90_latency_ms.toFixed(2)} ms`);
|
|
51
|
-
console.log(` \u251C\u2500\u2500 95th %ile: ${metrics.p95_latency_ms.toFixed(2)} ms`);
|
|
52
|
-
console.log(` \u251C\u2500\u2500 99th %ile: ${metrics.p99_latency_ms.toFixed(2)} ms`);
|
|
53
|
-
console.log(` \u2514\u2500\u2500 Maximum: ${metrics.max_latency_ms.toFixed(2)} ms`);
|
|
47
|
+
console.log(` \u251C\u2500\u2500 Minimum: ${(metrics.min_latency_ms ?? 0).toFixed(2)} ms`);
|
|
48
|
+
console.log(` \u251C\u2500\u2500 Average: ${(metrics.avg_latency_ms ?? 0).toFixed(2)} ms`);
|
|
49
|
+
console.log(` \u251C\u2500\u2500 Median (50%): ${(metrics.p50_latency_ms ?? 0).toFixed(2)} ms`);
|
|
50
|
+
console.log(` \u251C\u2500\u2500 90th %ile: ${(metrics.p90_latency_ms ?? 0).toFixed(2)} ms`);
|
|
51
|
+
console.log(` \u251C\u2500\u2500 95th %ile: ${(metrics.p95_latency_ms ?? 0).toFixed(2)} ms`);
|
|
52
|
+
console.log(` \u251C\u2500\u2500 99th %ile: ${(metrics.p99_latency_ms ?? 0).toFixed(2)} ms`);
|
|
53
|
+
console.log(` \u2514\u2500\u2500 Maximum: ${(metrics.max_latency_ms ?? 0).toFixed(2)} ms`);
|
|
54
54
|
console.log(`=============================================================================`);
|
|
55
55
|
} catch (error) {
|
|
56
|
-
console.error("\x1B[31m\u{1F4A5} Critical Native Core Execution Error:\x1B[0m"
|
|
56
|
+
console.error("\n\x1B[31m\u{1F4A5} Critical Native Core Execution Error:\x1B[0m");
|
|
57
|
+
console.error(error);
|
|
57
58
|
process.exit(1);
|
|
58
59
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blaze-performance-tester",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.8",
|
|
4
4
|
"description": "A high-performance, multi-threaded load testing engine built with Rust and QuickJS.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"index.js",
|
|
17
17
|
"blaze.win32-x64-msvc.node"
|
|
18
18
|
],
|
|
19
|
-
"scripts": {
|
|
19
|
+
"scripts": {
|
|
20
20
|
"prebuild": "node -e \"if (!fs.existsSync('dist')) fs.mkdirSync('dist')\"",
|
|
21
21
|
"build:rust": "napi build --platform --release --js index.js --dts index.d.ts",
|
|
22
22
|
"build:cli": "esbuild cli.ts --bundle --platform=node --format=esm --packages=external --outfile=dist/cli.js",
|
|
@@ -30,4 +30,4 @@
|
|
|
30
30
|
"@napi-rs/cli": "^2.16.0",
|
|
31
31
|
"typescript": "^5.0.0"
|
|
32
32
|
}
|
|
33
|
-
}
|
|
33
|
+
}
|