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.
Files changed (2) hide show
  1. package/dist/cli.js +22 -6
  2. 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 An\xE1lisis de Causa Ra\xEDz (RCA) de Gemini 2.5 Flash",
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\u0C3F \u0DBA\u0DDC\u0DB8\u0DD4 \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DCA",
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\u0DBA \u0DB4\u0DCA\u200D\u0DBB\u0DB8\u0DCF\u0DAF\u0DBA",
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blaze-performance-tester",
3
- "version": "3.2.37",
3
+ "version": "3.2.38",
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",