blaze-performance-tester 3.0.20 → 3.0.22

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
@@ -401,30 +401,52 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
401
401
  }).join("");
402
402
  let logClustersHtml = "";
403
403
  if (semanticReport) {
404
+ const totalLogCount = semanticReport.clusters.reduce((sum, c) => sum + c.count, 0);
405
+ const uniquePatternsCount = semanticReport.clusters.length;
404
406
  logClustersHtml = `
405
- <div class="card" style="margin-top: 2rem;">
406
- <h3>\u{1F9E0} Semantic Log Clustering & Error Classification</h3>
407
- <table>
407
+ <div class="card" style="margin-top: 2rem; background: #131c2e; border: 1px solid #1e293b;">
408
+ <h3 style="border-bottom: none; padding-bottom: 0rem; margin-bottom: 0.25rem; display: flex; align-items: center; gap: 0.5rem; color: #ffffff; font-size: 1.2rem;">
409
+ \u{1F9E0} Semantic Log Clustering & Error Classification
410
+ </h3>
411
+ <div style="color: #94a3b8; font-size: 0.9rem; margin-bottom: 1.5rem;">
412
+ Captured <strong style="color: #f8fafc;">${totalLogCount}</strong> raw failures grouped into <strong style="color: #f8fafc;">${uniquePatternsCount}</strong> unique structural patterns.
413
+ </div>
414
+
415
+ <table style="width: 100%; border-collapse: collapse;">
408
416
  <thead>
409
- <tr>
410
- <th style="width: 10%;">Count</th>
411
- <th style="width: 25%;">Classification Category</th>
412
- <th style="width: 10%;">Severity</th>
413
- <th style="width: 55%;">Structural Abstract Blueprint</th>
417
+ <tr style="border-bottom: 1px solid #1e293b;">
418
+ <th style="width: 8%; padding: 0.75rem; text-align: left; color: #64748b; font-size: 0.85rem; font-weight: bold; text-transform: none;">Count</th>
419
+ <th style="width: 22%; padding: 0.75rem; text-align: left; color: #64748b; font-size: 0.85rem; font-weight: bold; text-transform: none;">Classification Category</th>
420
+ <th style="width: 10%; padding: 0.75rem; text-align: left; color: #64748b; font-size: 0.85rem; font-weight: bold; text-transform: none;">Severity</th>
421
+ <th style="width: 60%; padding: 0.75rem; text-align: left; color: #64748b; font-size: 0.85rem; font-weight: bold; text-transform: none;">Structural Abstract Blueprint / Dynamic Log Fingerprint</th>
414
422
  </tr>
415
423
  </thead>
416
424
  <tbody>
417
425
  ${semanticReport.clusters.map((c) => {
418
- let catColor = "#f87171";
419
- if (c.category === "Environment_Infrastructure_Error") catColor = "#fb923c";
426
+ let catColor = "#fb923c";
420
427
  if (c.category === "Authentication_Error") catColor = "#c084fc";
421
- let sevColor = c.severity === "CRITICAL" ? "#dc2626" : "#eab308";
428
+ if (c.category === "Product_Error") catColor = "#f87171";
429
+ if (c.category === "Environment_Infrastructure_Error") catColor = "#fb923c";
430
+ let sevBg = c.severity === "CRITICAL" ? "#dc2626" : "#ea580c";
431
+ const rawTemplate = c.template || "";
432
+ const cleanedTemplate = rawTemplate.replace(/\[\d{4}-\d{2}-\d{2}.*?\]\s*/, "");
422
433
  return `
423
- <tr>
424
- <td><span style="font-size: 1.1rem; font-weight: bold; color: #f8fafc;">${c.count}</span></td>
425
- <td><span style="color: ${catColor}; font-weight: 600;">${c.category}</span></td>
426
- <td><span style="background: ${sevColor}; color: #fff; padding: 0.15rem 0.4rem; border-radius:3px; font-size:0.75rem; font-weight:bold;">${c.severity}</span></td>
427
- <td><code style="color: #cbd5e1; background: #0f172a; padding: 0.3rem 0.5rem; display: block; border-radius: 4px; font-size: 0.85rem;">${c.template}</code></td>
434
+ <tr style="border-bottom: 1px solid #1e293b; vertical-align: top;">
435
+ <td style="padding: 1.25rem 0.75rem; font-size: 1.2rem; font-weight: bold; color: #f8fafc;">${c.count}</td>
436
+ <td style="padding: 1.25rem 0.75rem; color: ${catColor}; font-weight: 600; font-size: 0.95rem;">${c.category}</td>
437
+ <td style="padding: 1.25rem 0.75rem;">
438
+ <span style="background: ${sevBg}; color: #ffffff; padding: 0.2rem 0.5rem; border-radius: 4px; font-size: 0.7rem; font-weight: bold; letter-spacing: 0.05em;">${c.severity}</span>
439
+ </td>
440
+ <td style="padding: 1.25rem 0.75rem;">
441
+ <!-- Abstract Template Blueprint Box -->
442
+ <div style="background: #090d16; border-radius: 4px; padding: 0.6rem 0.8rem; border-left: 3px solid #1e293b; margin-bottom: 0.5rem;">
443
+ <code style="color: #cbd5e1; font-family: monospace; font-size: 0.9rem; white-space: pre-wrap; word-break: break-all;">${cleanedTemplate}</code>
444
+ </div>
445
+ <!-- Trace Example Line -->
446
+ <div style="color: #64748b; font-size: 0.8rem; font-family: monospace; padding-left: 0.2rem; line-height: 1.4;">
447
+ <span style="color: #475569;">Real Example Trace:</span> ${rawTemplate}
448
+ </div>
449
+ </td>
428
450
  </tr>`;
429
451
  }).join("")}
430
452
  </tbody>
@@ -647,13 +669,13 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
647
669
  position: 'top',
648
670
  labels: { color: '#94a3b8', boxWidth: 12, font: { size: 11 } }
649
671
  }
650
- },
651
- scales: {
652
- x: { grid: { color: '#1e293b' }, ticks: { color: '#64748b' } },
653
- y: { stacked: true, grid: { color: '#1e293b' }, ticks: { color: '#64748b' }, title: { display: true, text: 'Requests Volume', color: '#64748b' } },
654
- yThreads: { position: 'right', display: true, grid: { drawOnChartArea: false }, ticks: { color: '#38bdf8' }, title: { display: true, text: 'Active Threads', color: '#38bdf8' } },
655
- yTtf: { position: 'right', display: false, grid: { drawOnChartArea: false } }
656
672
  }
673
+ },
674
+ scales: {
675
+ x: { grid: { color: '#1e293b' }, ticks: { color: '#64748b' } },
676
+ y: { stacked: true, grid: { color: '#1e293b' }, ticks: { color: '#64748b' }, title: { display: true, text: 'Requests Volume', color: '#64748b' } },
677
+ yThreads: { position: 'right', display: true, grid: { drawOnChartArea: false }, ticks: { color: '#38bdf8' }, title: { display: true, text: 'Active Threads', color: '#38bdf8' } },
678
+ yTtf: { position: 'right', display: false, grid: { drawOnChartArea: false } }
657
679
  }
658
680
  });
659
681
  </script></body></html>`;
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blaze-performance-tester",
3
- "version": "3.0.20",
3
+ "version": "3.0.22",
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",