blaze-performance-tester 3.0.32 → 3.0.33

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 CHANGED
@@ -514,6 +514,30 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
514
514
  </table>
515
515
  </div>`;
516
516
  }
517
+ const liveAdjusterHtml = `
518
+ <div class="card" style="margin-top: 2rem; background: #131c2e; border: 1px solid #1e293b;">
519
+ <h3 style="color: #38bdf8; display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem; margin-bottom: 1rem;">
520
+ \u{1F39B}\uFE0F Live Concurrency Adjuster (Mid-Test Simulation)
521
+ </h3>
522
+ <div style="display: flex; gap: 2rem; align-items: center; flex-wrap: wrap;">
523
+ <div style="flex: 1; min-width: 280px;">
524
+ <label for="concurrencySlider" style="display: block; font-size: 0.85rem; color: #94a3b8; margin-bottom: 0.5rem;">
525
+ Scale Virtual Users (VUs): <strong id="sliderValue" style="color: #38bdf8;">${config.threads}</strong> threads
526
+ </label>
527
+ <input type="range" id="concurrencySlider" min="5" max="${config.maxThreads || 300}" step="5" value="${config.threads}" style="width: 100%; accent-color: #38bdf8; cursor: pointer;">
528
+ </div>
529
+ <div style="display: flex; gap: 1.5rem; text-align: center;">
530
+ <div style="background: #090d16; padding: 0.75rem 1rem; border-radius: 6px; border: 1px solid #1e293b;">
531
+ <div style="font-size: 0.7rem; color: #64748b; text-transform: uppercase;">Sim. Throughput</div>
532
+ <div id="simThroughput" style="font-size: 1.2rem; font-weight: bold; color: #f97316;">${cards.throughput.toFixed(0)}/s</div>
533
+ </div>
534
+ <div style="background: #090d16; padding: 0.75rem 1rem; border-radius: 6px; border: 1px solid #1e293b;">
535
+ <div style="font-size: 0.7rem; color: #64748b; text-transform: uppercase;">Sim. Latency</div>
536
+ <div id="simLatency" style="font-size: 1.2rem; font-weight: bold; color: #10b981;">${cards.ttfb.toFixed(1)}ms</div>
537
+ </div>
538
+ </div>
539
+ </div>
540
+ </div>`;
517
541
  const rightSizingHtml = `
518
542
  <div class="card" style="margin-top: 2rem; background: #131c2e; border: 1px solid #1e293b;">
519
543
  <h3 style="color: #38bdf8; display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem;">
@@ -590,7 +614,7 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
590
614
  <div class="container">
591
615
  <div class="header">
592
616
  <h1>\u{1F525} Blaze Core Performance Analysis</h1>
593
- <div class="meta">Target Script: <code>${config.targetScript}</code> (Cold-Start Sieve Active)</div>
617
+ <div class="meta">Target Script: <code>${config.targetScript}</code></div>
594
618
  </div>
595
619
 
596
620
  <div class="cards-wrapper">
@@ -630,7 +654,7 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
630
654
 
631
655
  <div class="top-layout-grid">
632
656
  <div class="verdict-box">
633
- <div class="verdict-title">\u{1F916} AI Stress-Testing Agent Verdict (Knee-Point: ${cards.saturationKneePoint} VUs)</div>
657
+ <div class="verdict-title">\u{1F916} AI Stress-Testing Agent Verdict</div>
634
658
  <div class="verdict-text">${verdictReason}</div>
635
659
  <div class="verdict-waves">${waveListItems}</div>
636
660
  </div>
@@ -700,12 +724,29 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
700
724
  </tbody>
701
725
  </table>
702
726
  </div>
727
+ ${liveAdjusterHtml}
703
728
  ${rightSizingHtml}
704
729
  ${logClustersHtml}
705
730
  </div>
706
731
 
707
732
  <script>
708
733
  const labels = ${JSON.stringify(labels)};
734
+ const baseThroughput = ${cards.throughput};
735
+ const baseLatency = ${cards.ttfb};
736
+
737
+ // Live Concurrency Adjuster interactive client logic
738
+ const slider = document.getElementById('concurrencySlider');
739
+ const sliderVal = document.getElementById('sliderValue');
740
+ const simThroughput = document.getElementById('simThroughput');
741
+ const simLatency = document.getElementById('simLatency');
742
+
743
+ slider.addEventListener('input', (e) => {
744
+ const val = parseInt(e.target.value, 10);
745
+ sliderVal.textContent = val;
746
+ const factor = val / ${config.threads || 10};
747
+ simThroughput.textContent = (baseThroughput * Math.min(factor, 2.5)).toFixed(0) + '/s';
748
+ simLatency.textContent = (baseLatency * Math.pow(factor, 0.8)).toFixed(1) + 'ms';
749
+ });
709
750
 
710
751
  new Chart(document.getElementById('volumeChart'), {
711
752
  type: 'bar',
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blaze-performance-tester",
3
- "version": "3.0.32",
3
+ "version": "3.0.33",
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",