blaze-performance-tester 3.2.37 → 3.2.38
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 +22 -6
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -5605,7 +5605,6 @@ var i18n = {
|
|
|
5605
5605
|
breakdown: "\u{1F522} HTTP Status Code Breakdown Rate",
|
|
5606
5606
|
code: "Code"
|
|
5607
5607
|
},
|
|
5608
|
-
rca: "\u26A1 Gemini 2.5 Flash Autonomous Root Cause Analysis (RCA)",
|
|
5609
5608
|
charts: {
|
|
5610
5609
|
volume: "\u{1F4CA} Throughput Velocity & Workload Volume",
|
|
5611
5610
|
concurrency: "\u{1F504} Active Concurrency (VUs) vs. TTF Trend & AI Load Forecast",
|
|
@@ -5657,7 +5656,7 @@ var i18n = {
|
|
|
5657
5656
|
breakdown: "\u{1F522} Tasa de Desglose de C\xF3digos HTTP",
|
|
5658
5657
|
code: "C\xF3digo"
|
|
5659
5658
|
},
|
|
5660
|
-
rca: "\u26A1
|
|
5659
|
+
rca: "\u26A1 Gemini 2.5 Flash Autonomous Root Cause Analysis (RCA)",
|
|
5661
5660
|
charts: {
|
|
5662
5661
|
volume: "\u{1F4CA} Velocidad de Rendimiento y Carga de Trabajo",
|
|
5663
5662
|
concurrency: "\u{1F504} Concurrencia (VUs) vs Tendencia TTF",
|
|
@@ -5850,7 +5849,7 @@ var i18n = {
|
|
|
5850
5849
|
title: "\u{1F4CB} HTTP \u0DB4\u0DCA\u200D\u0DBB\u0DAD\u0DD2\u0DA0\u0DCF\u0DBB \u0D85\u0DB1\u0DD4\u0D9A\u0DD8\u0DAD\u0DD2\u0DBA",
|
|
5851
5850
|
info: "\u0DAD\u0DDC\u0DBB\u0DAD\u0DD4\u0DBB\u0DD4",
|
|
5852
5851
|
success: "\u0DC3\u0DCF\u0DBB\u0DCA\u0DAE\u0D9A",
|
|
5853
|
-
redirects: "\u0DBA\u0DC5\
|
|
5852
|
+
redirects: "\u0DBA\u0DC5\u0DD2 \u0DBA\u0DDC\u0DB8\u0DD4 \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DCA",
|
|
5854
5853
|
clientErr: "\u0DC3\u0DDA\u0DC0\u0DCF\u0DBD\u0DCF\u0DB7\u0DD3 \u0DAF\u0DDD\u0DC2\u0DBA",
|
|
5855
5854
|
serverErr: "\u0DC3\u0DDA\u0DC0\u0DCF\u0DAF\u0DCF\u0DBA\u0D9A \u0DAF\u0DDD\u0DC2\u0DBA",
|
|
5856
5855
|
breakdown: "\u{1F522} HTTP \u0DAD\u0DAD\u0DCA\u0DC0 \u0D9A\u0DDA\u0DAD \u0DB6\u0DD2\u0DB3\u0DC0\u0DD0\u0DA7\u0DD3\u0DB8",
|
|
@@ -5867,7 +5866,7 @@ var i18n = {
|
|
|
5867
5866
|
title: "\u0DA7\u0DD9\u0DBD\u0DD2\u0DB8\u0DD9\u0DA7\u0DCA\u200D\u0DBB\u0DD2 \u0D85\u0DB1\u0DD4\u0D9A\u0DD8\u0DAD\u0DD2 \u0DBD\u0DDC\u0D9C\u0DCA",
|
|
5868
5867
|
threads: "\u0DC3\u0DB8\u0D9C\u0DCF\u0DB8\u0DD3\u0DAD\u0DCA\u0DC0\u0DBA (Threads)",
|
|
5869
5868
|
throughput: "\u0DB4\u0DCA\u200D\u0DBB\u0DC0\u0DCF\u0DC4 \u0D85\u0DB1\u0DD4\u0DB4\u0DCF\u0DAD\u0DBA",
|
|
5870
|
-
avgLatency: "\u0DC3\u0DCF\u0DB8\u0DCF\u0DB1\u0DCA\u200D\
|
|
5869
|
+
avgLatency: "\u0DC3\u0DCF\u0DB8\u0DCF\u0DB1\u0DCA\u200D\u0E22 \u0DB4\u0DCA\u200D\u0DBB\u0DB8\u0DCF\u0DAF\u0DBA",
|
|
5871
5870
|
p95: "P95 \u0DB4\u0DCA\u200D\u0DBB\u0DB8\u0DCF\u0DAF\u0DBA",
|
|
5872
5871
|
errors: "\u0DAF\u0DDD\u0DC2 \u0D85\u0DB1\u0DD4\u0DB4\u0DCF\u0DAD\u0DBA",
|
|
5873
5872
|
status: "\u0DAD\u0DAD\u0DCA\u0DC0\u0DBA",
|
|
@@ -6391,7 +6390,8 @@ async function runIntelligentAgenticStressTest(config) {
|
|
|
6391
6390
|
apdex: metrics.apdexScore,
|
|
6392
6391
|
throughput: metrics.requestsPerSecond,
|
|
6393
6392
|
successRequests: metrics.c2xx + metrics.c3xx,
|
|
6394
|
-
failedRequests: metrics.c4xx + metrics.c5xx
|
|
6393
|
+
failedRequests: metrics.c4xx + metrics.c5xx,
|
|
6394
|
+
c429: metrics.codeCounts[429] || 0
|
|
6395
6395
|
};
|
|
6396
6396
|
printMatrixDashboard(metrics, currentThreads);
|
|
6397
6397
|
history.push(currentState);
|
|
@@ -6488,7 +6488,8 @@ async function runStandardStressTest(config) {
|
|
|
6488
6488
|
apdex: metrics.apdexScore,
|
|
6489
6489
|
throughput: metrics.requestsPerSecond,
|
|
6490
6490
|
successRequests: metrics.c2xx + metrics.c3xx,
|
|
6491
|
-
failedRequests: metrics.c4xx + metrics.c5xx
|
|
6491
|
+
failedRequests: metrics.c4xx + metrics.c5xx,
|
|
6492
|
+
c429: metrics.codeCounts[429] || 0
|
|
6492
6493
|
}];
|
|
6493
6494
|
let semanticReport = null;
|
|
6494
6495
|
if (config.clusterLogs) {
|
|
@@ -6706,6 +6707,8 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
6706
6707
|
const recThreadsTarget = cards.healthScore >= 85 ? Math.floor(cards.saturationKneePoint * 1.5) : Math.max(5, Math.floor(cards.saturationKneePoint * 0.8));
|
|
6707
6708
|
const recRampPattern = cards.errorRate > 0.02 || cards.stdDev > 50 ? `Gradual Linear Ramp-Up (${Math.max(30, config.durationSec * 0.3)}s duration)` : "Standard Fast Step Load Profile";
|
|
6708
6709
|
const recStrategyText = cards.healthScore >= 85 ? "System exhibits reliable resource headroom. Future stress waves can step up thread footprints confidently." : "Resource degradation detected under peak stress. Restrict thread allocation caps and extend your warm-up timelines.";
|
|
6710
|
+
const rateLimitWave = history.find((h) => h.c429 > 0);
|
|
6711
|
+
const rateLimitBreakpointHtml = rateLimitWave ? `<span style="color: #ef4444; font-weight: bold;">${rateLimitWave.throughput.toFixed(1)} req/s</span> (at ${rateLimitWave.threads} VUs concurrency tier)` : `<span style="color: #10b981; font-weight: bold;">Not Triggered</span> (Gateway did not enforce any 429 constraints during stress thresholds)`;
|
|
6709
6712
|
const firstTimestamp = rawRequests[0]?.timestampMs || Date.now();
|
|
6710
6713
|
const scatterPoints = rawRequests.slice(0, 180).map((r) => ({
|
|
6711
6714
|
x: Number(((r.timestampMs - firstTimestamp) / 1e3).toFixed(2)),
|
|
@@ -7018,6 +7021,19 @@ ${formattedTicketLogs}
|
|
|
7018
7021
|
</div>
|
|
7019
7022
|
</div>
|
|
7020
7023
|
|
|
7024
|
+
<!-- \u{1F6D1} Rate-Limit Enforcement Breakpoint Walls -->
|
|
7025
|
+
<div class="card" style="margin-bottom: 2rem; background: #191316; border: 1px solid #f43f5e;">
|
|
7026
|
+
<h3 style="color: #f43f5e; display: flex; align-items: center; gap: 0.6rem; font-size: 1.2rem; border-bottom: 1px solid #2e181f; padding-bottom: 0.5rem;">
|
|
7027
|
+
\u{1F6D1} Rate-Limit Enforcement Breakpoint Wall
|
|
7028
|
+
</h3>
|
|
7029
|
+
<div style="padding: 0.5rem 0; font-size: 0.95rem; color: #e2e8f0; line-height: 1.5;">
|
|
7030
|
+
Identifies the boundary capacity vector indicating exactly at what transaction velocity structural HTTP <code>429 Too Many Requests</code> errors are initiated by target enforcement mechanisms:
|
|
7031
|
+
<div style="font-size: 1.4rem; margin-top: 0.75rem; color: #ffffff; background: #0f0a0d; padding: 0.75rem 1rem; border-radius: 6px; border: 1px solid #3a1c24;">
|
|
7032
|
+
${rateLimitBreakpointHtml}
|
|
7033
|
+
</div>
|
|
7034
|
+
</div>
|
|
7035
|
+
</div>
|
|
7036
|
+
|
|
7021
7037
|
${baselineComparisonHtml}
|
|
7022
7038
|
${crossBrowserMatrixSectionHtml}
|
|
7023
7039
|
|