blaze-performance-tester 3.2.32 → 3.2.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 +58 -3
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -5747,7 +5747,7 @@ var i18n = {
|
|
|
5747
5747
|
good: "(\u0905\u091A\u094D\u091B\u093E)"
|
|
5748
5748
|
},
|
|
5749
5749
|
verdict: "\u{1F916} \u090F\u0906\u0908 \u0938\u094D\u091F\u094D\u0930\u0947\u0938-\u091F\u0947\u0938\u094D\u091F\u093F\u0902\u0917 \u090F\u091C\u0947\u0902\u091F \u0915\u093E \u0928\u093F\u0930\u094D\u0923\u092F",
|
|
5750
|
-
health: { title: "\u092C\u094D\u0932\u0947\u091C\u093C \u0930\u0928 \u0939\u0947\u0932\u094D\u0925 \u0938\u094D\u0915\u094B\u0930", subtitle: "\u0915\u0902\u092A\u094B\u091C\u093F\u091F \u0930\u0928
|
|
5750
|
+
health: { title: "\u092C\u094D\u0932\u0947\u091C\u093C \u0930\u0928 \u0939\u0947\u0932\u094D\u0925 \u0938\u094D\u0915\u094B\u0930", subtitle: "\u0915\u0902\u092A\u094B\u091C\u093F\u091F \u0930\u0928 QUALITY \u0907\u0902\u091C\u0928 \u0930\u0947\u091F\u093F\u0902\u0917" },
|
|
5751
5751
|
matrix: {
|
|
5752
5752
|
title: "\u{1F4CB} HTTP \u0930\u093F\u0938\u094D\u092A\u0949\u0928\u094D\u0938 \u092E\u0948\u091F\u094D\u0930\u093F\u0915\u094D\u0938",
|
|
5753
5753
|
info: "\u0938\u0942\u091A\u0928\u093E\u0924\u094D\u092E\u0915",
|
|
@@ -5867,7 +5867,7 @@ var i18n = {
|
|
|
5867
5867
|
title: "\u0DA7\u0DD9\u0DBD\u0DD2\u0DB8\u0DD9\u0DA7\u0DCA\u200D\u0DBB\u0DD2 \u0D85\u0DB1\u0DD4\u0D9A\u0DD8\u0DAD\u0DD2 \u0DBD\u0DDC\u0D9C\u0DCA",
|
|
5868
5868
|
threads: "\u0DC3\u0DB8\u0D9C\u0DCF\u0DB8\u0DD3\u0DAD\u0DCA\u0DC0\u0DBA (Threads)",
|
|
5869
5869
|
throughput: "\u0DB4\u0DCA\u200D\u0DBB\u0DC0\u0DCF\u0DC4 \u0D85\u0DB1\u0DD4\u0DB4\u0DCF\u0DAD\u0DBA",
|
|
5870
|
-
avgLatency: "\u0DC3\u0DCF\u0DB8\u0DCF\u0DB1\u0DCA\u200D\
|
|
5870
|
+
avgLatency: "\u0DC3\u0DCF\u0DB8\u0DCF\u0DB1\u0DCA\u200D\u0E22 \u0DB4\u0DCA\u200D\u0DBB\u0DB8\u0DCF\u0DAF\u0DBA",
|
|
5871
5871
|
p95: "P95 \u0DB4\u0DCA\u200D\u0DBB\u0DB8\u0DCF\u0DAF\u0DBA",
|
|
5872
5872
|
errors: "\u0DAF\u0DDD\u0DC2 \u0D85\u0DB1\u0DD4\u0DB4\u0DCF\u0DAD\u0DBA",
|
|
5873
5873
|
status: "\u0DAD\u0DAD\u0DCA\u0DC0\u0DBA",
|
|
@@ -6749,9 +6749,14 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
6749
6749
|
</table>
|
|
6750
6750
|
</div>`;
|
|
6751
6751
|
let logClustersHtml = "";
|
|
6752
|
+
let formattedTicketLogs = "No structural error codes encountered.";
|
|
6752
6753
|
if (semanticReport) {
|
|
6753
6754
|
const totalLogCount = semanticReport.clusters.reduce((sum, c) => sum + c.count, 0);
|
|
6754
|
-
|
|
6755
|
+
formattedTicketLogs = semanticReport.clusters.slice(0, 5).map((c) => {
|
|
6756
|
+
const cleanBlueprint = c.template.replace(/\[\d{4}-\d{2}-\d{2}.*?\]\s*/, "");
|
|
6757
|
+
return `[${c.severity}] Count: ${c.count} | Cat: ${c.category}
|
|
6758
|
+
\u21B3 ${cleanBlueprint}`;
|
|
6759
|
+
}).join("\n\n");
|
|
6755
6760
|
logClustersHtml = `
|
|
6756
6761
|
<div class="card" style="margin-top: 2rem; background: #131c2e; border: 1px solid #1e293b;">
|
|
6757
6762
|
<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;">
|
|
@@ -6798,6 +6803,25 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
6798
6803
|
</table>
|
|
6799
6804
|
</div>`;
|
|
6800
6805
|
}
|
|
6806
|
+
const generatedTicketMarkdown = `## \u{1F6A8} Performance Degradation Ticket (Blaze Incident Framework)
|
|
6807
|
+
|
|
6808
|
+
### \u{1F4CA} 1. System Telemetry Metrics
|
|
6809
|
+
- **Blaze Core Health Score:** ${cards.healthScore}/100
|
|
6810
|
+
- **Target Threshold Apdex:** ${config.targetApdex} (Realized Apdex: ${cards.apdex.toFixed(2)})
|
|
6811
|
+
- **Peak Aggregated Throughput:** ${cards.throughput.toFixed(1)} req/sec
|
|
6812
|
+
- **P95 Latency Window:** ${cards.p95Latency.toFixed(1)} ms
|
|
6813
|
+
- **Observed System Error Rate:** ${(cards.errorRate * 100).toFixed(2)}%
|
|
6814
|
+
|
|
6815
|
+
### \u{1F9E0} 2. Architectural Sizing Recommendations
|
|
6816
|
+
- **Recommended Remediation Profile:** Upgrade capacity to a minimum configuration tier of **${recommendedCpuCores} CPU Cores** and **${recommendedRamGb} GB RAM**.
|
|
6817
|
+
- **Estimated OpEx Budget Shift:** ~$${estimatedMonthlyCost}/month based on system concurrency profiles.
|
|
6818
|
+
|
|
6819
|
+
### \u274C 3. Structural Log Blueprint Failures
|
|
6820
|
+
\`\`\`
|
|
6821
|
+
${formattedTicketLogs}
|
|
6822
|
+
\`\`\`
|
|
6823
|
+
|
|
6824
|
+
*Ticket generated autonomously via Blaze Fix-It Ticket Engine pipeline. Status: Pending Triage.*`;
|
|
6801
6825
|
const breakdownRates = responseMatrix.breakdownRates || {};
|
|
6802
6826
|
const breakdownGridHtml = [400, 401, 403, 404, 429, 500, 502, 503, 504].map((code) => {
|
|
6803
6827
|
const rate = breakdownRates[code] || 0;
|
|
@@ -6987,6 +7011,19 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
6987
7011
|
</div>
|
|
6988
7012
|
</div>
|
|
6989
7013
|
|
|
7014
|
+
<!-- \u{1F3AB} Generative Fix-It Tickets Feature UI Component -->
|
|
7015
|
+
<div class="card" style="margin-top: 2rem; background: #0c1c18; border: 1px solid #10b981;">
|
|
7016
|
+
<h3 style="color: #34d399; display: flex; align-items: center; justify-content: space-between; font-size: 1.2rem; border-bottom: 1px solid #1f2937; padding-bottom: 0.5rem;">
|
|
7017
|
+
<span>\u{1F3AB} Generative Fix-It Ticket Engine</span>
|
|
7018
|
+
<button id="btnCopyTicket" onclick="copyFixItTicketMarkdown()" style="background: #10b981; color: #0c1c18; border: none; padding: 0.4rem 0.9rem; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 0.85rem; transition: background 0.2s;">
|
|
7019
|
+
\u{1F4CB} Copy Ticket Markdown
|
|
7020
|
+
</button>
|
|
7021
|
+
</h3>
|
|
7022
|
+
<div style="background: #040d0a; border: 1px solid #14532d; border-radius: 6px; padding: 1rem; max-height: 300px; overflow-y: auto;">
|
|
7023
|
+
<pre id="ticketBodyPreview" style="margin: 0; color: #a7f3d0; font-family: monospace; font-size: 0.85rem; white-space: pre-wrap; word-break: break-all;"></pre>
|
|
7024
|
+
</div>
|
|
7025
|
+
</div>
|
|
7026
|
+
|
|
6990
7027
|
<div class="charts-grid" style="margin-top: 2rem;">
|
|
6991
7028
|
<div class="graph-card">
|
|
6992
7029
|
<div class="graph-title">${dict.charts.volume}</div>
|
|
@@ -7049,6 +7086,24 @@ function exportHtmlDashboard(history, config, verdictReason, semanticReport, res
|
|
|
7049
7086
|
</div>
|
|
7050
7087
|
|
|
7051
7088
|
<script>
|
|
7089
|
+
// Inject and expose the formatted Fix-It Ticket Markdown
|
|
7090
|
+
const rawTicketMarkdown = ${JSON.stringify(generatedTicketMarkdown)};
|
|
7091
|
+
document.getElementById('ticketBodyPreview').textContent = rawTicketMarkdown;
|
|
7092
|
+
|
|
7093
|
+
function copyFixItTicketMarkdown() {
|
|
7094
|
+
navigator.clipboard.writeText(rawTicketMarkdown).then(() => {
|
|
7095
|
+
const btn = document.getElementById('btnCopyTicket');
|
|
7096
|
+
btn.textContent = '\u2705 Copied!';
|
|
7097
|
+
btn.style.background = '#34d399';
|
|
7098
|
+
setTimeout(() => {
|
|
7099
|
+
btn.textContent = '\u{1F4CB} Copy Ticket Markdown';
|
|
7100
|
+
btn.style.background = '#10b981';
|
|
7101
|
+
}, 2000);
|
|
7102
|
+
}).catch(err => {
|
|
7103
|
+
console.error('Failed to copy ticket layout text blueprint: ', err);
|
|
7104
|
+
});
|
|
7105
|
+
}
|
|
7106
|
+
|
|
7052
7107
|
const labels = ${JSON.stringify(labels)};
|
|
7053
7108
|
const successRequestsData = ${JSON.stringify(successRequestsData)};
|
|
7054
7109
|
const failedWorkloadsData = ${JSON.stringify(failedWorkloadsData)};
|