blaze-performance-tester 3.0.34 → 3.0.36
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 +17 -8
- package/dist/index.win32-x64-msvc.node +0 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -217,7 +217,7 @@ async function runIntelligentAgenticStressTest(config) {
|
|
|
217
217
|
console.log("\u{1F680} Initializing Intelligent Autonomous Load Agent...");
|
|
218
218
|
const history = [];
|
|
219
219
|
let aggregateErrorLogs = [];
|
|
220
|
-
let total2xx = 0, total3xx = 0, total4xx = 0, total5xx = 0;
|
|
220
|
+
let total1xx = 0, total2xx = 0, total3xx = 0, total4xx = 0, total5xx = 0;
|
|
221
221
|
let globalMetricsAccumulator = { dns: [], tcp: [], tls: [], ttfb: [], latencies: [], bandwidths: [] };
|
|
222
222
|
let currentThreads = Math.min(config.maxThreads, Math.max(5, Math.floor(config.maxThreads * 0.2)));
|
|
223
223
|
let baseStep = config.stepSize;
|
|
@@ -230,6 +230,7 @@ async function runIntelligentAgenticStressTest(config) {
|
|
|
230
230
|
if (config.clusterLogs) {
|
|
231
231
|
aggregateErrorLogs = aggregateErrorLogs.concat(rawErrors);
|
|
232
232
|
}
|
|
233
|
+
total1xx += metrics.c1xx;
|
|
233
234
|
total2xx += metrics.c2xx;
|
|
234
235
|
total3xx += metrics.c3xx;
|
|
235
236
|
total4xx += metrics.c4xx;
|
|
@@ -302,7 +303,7 @@ async function runIntelligentAgenticStressTest(config) {
|
|
|
302
303
|
saturationKneePoint: saturationKneePoint || history[history.length - 1]?.threads || 50
|
|
303
304
|
};
|
|
304
305
|
generateFinalAgentReport(history);
|
|
305
|
-
exportHtmlDashboard(history, config, verdictReason, semanticReport, { total2xx, total3xx, total4xx, total5xx }, finalSummaryCards);
|
|
306
|
+
exportHtmlDashboard(history, config, verdictReason, semanticReport, { total1xx, total2xx, total3xx, total4xx, total5xx }, finalSummaryCards);
|
|
306
307
|
}
|
|
307
308
|
async function runStandardStressTest(config) {
|
|
308
309
|
console.log(`\u{1F3CB}\uFE0F Running Standard Stress Test [Threads: ${config.threads} | Duration: ${config.durationSec}s]`);
|
|
@@ -339,6 +340,7 @@ async function runStandardStressTest(config) {
|
|
|
339
340
|
const isPassed = metrics.apdexScore >= config.targetApdex && metrics.errorRate <= config.targetErrorRate;
|
|
340
341
|
const verdictReason = isPassed ? "Static single-wave baseline checks concluded successfully without triggering health boundaries." : "Static verification loop completed with values exceeding defined quality thresholds.";
|
|
341
342
|
exportHtmlDashboard(history, config, verdictReason, semanticReport, {
|
|
343
|
+
total1xx: metrics.c1xx,
|
|
342
344
|
total2xx: metrics.c2xx,
|
|
343
345
|
total3xx: metrics.c3xx,
|
|
344
346
|
total4xx: metrics.c4xx,
|
|
@@ -396,9 +398,10 @@ function processMetricsTelemetry(requests, durationSec) {
|
|
|
396
398
|
const avgTcpMs = mathUtils.mean(requests.map((r) => r.tcpTimeMs || 0));
|
|
397
399
|
const avgTlsMs = mathUtils.mean(requests.map((r) => r.tlsTimeMs || 0));
|
|
398
400
|
const avgTtfbMs = avgDnsMs + avgTcpMs + avgTlsMs + avgLatencyMs * 0.3;
|
|
399
|
-
let c2xx = 0, c3xx = 0, c4xx = 0, c5xx = 0;
|
|
401
|
+
let c1xx = 0, c2xx = 0, c3xx = 0, c4xx = 0, c5xx = 0;
|
|
400
402
|
requests.forEach((r) => {
|
|
401
|
-
if (r.statusCode >=
|
|
403
|
+
if (r.statusCode >= 100 && r.statusCode < 200) c1xx++;
|
|
404
|
+
else if (r.statusCode >= 200 && r.statusCode < 300) c2xx++;
|
|
402
405
|
else if (r.statusCode >= 300 && r.statusCode < 400) c3xx++;
|
|
403
406
|
else if (r.statusCode >= 400 && r.statusCode < 500) c4xx++;
|
|
404
407
|
else if (r.statusCode >= 500) c5xx++;
|
|
@@ -418,6 +421,7 @@ function processMetricsTelemetry(requests, durationSec) {
|
|
|
418
421
|
p95LatencyMs,
|
|
419
422
|
errorRate,
|
|
420
423
|
apdexScore,
|
|
424
|
+
c1xx,
|
|
421
425
|
c2xx,
|
|
422
426
|
c3xx,
|
|
423
427
|
c4xx,
|
|
@@ -592,6 +596,7 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
592
596
|
.matrix-box .matrix-row:last-child { border-bottom: none; }
|
|
593
597
|
.matrix-label { font-size: 0.9rem; color: #f8fafc; display: flex; align-items: center; gap: 0.5rem; }
|
|
594
598
|
.matrix-badge { font-size: 0.7rem; font-weight: bold; padding: 0.1rem 0.3rem; border-radius: 4px; }
|
|
599
|
+
.badge-1xx { background: rgba(56, 189, 248, 0.2); color: #38bdf8; }
|
|
595
600
|
.badge-2xx { background: rgba(22, 163, 74, 0.2); color: #4ade80; }
|
|
596
601
|
.badge-3xx { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }
|
|
597
602
|
.badge-4xx { background: rgba(234, 179, 8, 0.2); color: #fde047; }
|
|
@@ -661,6 +666,10 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
661
666
|
|
|
662
667
|
<div class="matrix-box">
|
|
663
668
|
<div class="matrix-title">\u{1F4CB} HTTP Response Matrix</div>
|
|
669
|
+
<div class="matrix-row">
|
|
670
|
+
<div class="matrix-label">Informational <span class="matrix-badge badge-1xx">1xx</span></div>
|
|
671
|
+
<div class="matrix-value">${responseMatrix.total1xx}</div>
|
|
672
|
+
</div>
|
|
664
673
|
<div class="matrix-row">
|
|
665
674
|
<div class="matrix-label">Successful <span class="matrix-badge badge-2xx">2xx</span></div>
|
|
666
675
|
<div class="matrix-value">${responseMatrix.total2xx}</div>
|
|
@@ -741,7 +750,7 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
741
750
|
const baseThroughput = ${cards.throughput};
|
|
742
751
|
const baseLatency = ${cards.ttfb};
|
|
743
752
|
|
|
744
|
-
// Live Concurrency Adjuster interactive client logic
|
|
753
|
+
// Live Concurrency Adjuster interactive client logic
|
|
745
754
|
const slider = document.getElementById('concurrencySlider');
|
|
746
755
|
const sliderVal = document.getElementById('sliderValue');
|
|
747
756
|
const simThroughput = document.getElementById('simThroughput');
|
|
@@ -835,10 +844,10 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
835
844
|
new Chart(document.getElementById('statusDonutChart'), {
|
|
836
845
|
type: 'doughnut',
|
|
837
846
|
data: {
|
|
838
|
-
labels: ['2xx Success', '3xx Redirect', '4xx Client Err', '5xx Server Err'],
|
|
847
|
+
labels: ['1xx Info', '2xx Success', '3xx Redirect', '4xx Client Err', '5xx Server Err'],
|
|
839
848
|
datasets: [{
|
|
840
|
-
data: [${responseMatrix.total2xx}, ${responseMatrix.total3xx}, ${responseMatrix.total4xx}, ${responseMatrix.total5xx}],
|
|
841
|
-
backgroundColor: ['#4ade80', '#cbd5e1', '#fde047', '#f87171'],
|
|
849
|
+
data: [${responseMatrix.total1xx}, ${responseMatrix.total2xx}, ${responseMatrix.total3xx}, ${responseMatrix.total4xx}, ${responseMatrix.total5xx}],
|
|
850
|
+
backgroundColor: ['#38bdf8', '#4ade80', '#cbd5e1', '#fde047', '#f87171'],
|
|
842
851
|
borderWidth: 1,
|
|
843
852
|
borderColor: '#1e293b'
|
|
844
853
|
}]
|
|
Binary file
|