.
{{ index + 1 }}.
-
- {{ node.alert_name }}
+
+ {{ alert.name }}
- {{ node.alert_name.length > 30 ? node.alert_name.substring(0, 30) + '...' : node.alert_name }}
+ {{ alert.name.length > 30 ? alert.name.substring(0, 30) + '...' : alert.name }}
- Fired {{ getTriggerCountForAlert(node.alert_id) }} time(s)
+ Fired {{ getTriggerCountForAlert(alert.id) }} time(s)
@@ -1402,6 +1402,16 @@ export default defineComponent({
return triggers.value.filter(t => t.alert_id === alertId).length;
};
+ // Computed: Alerts sorted by trigger count (descending)
+ const sortedAlertsByTriggerCount = computed(() => {
+ if (!alerts.value || alerts.value.length === 0) return [];
+ return [...alerts.value].sort((a, b) => {
+ const countA = getTriggerCountForAlert(a.id);
+ const countB = getTriggerCountForAlert(b.id);
+ return countB - countA; // Descending order
+ });
+ });
+
// Peak Alert Rate - find the highest concentration of alerts
const peakAlertRate = computed(() => {
if (!incidentDetails.value || triggers.value.length === 0) return "N/A";
@@ -2539,6 +2549,7 @@ export default defineComponent({
affectedServicesCount,
alertFrequency,
getTriggerCountForAlert,
+ sortedAlertsByTriggerCount,
peakAlertRate,
peakActivity,
correlationType,
diff --git a/web/src/utils/traces/convertTraceData.ts b/web/src/utils/traces/convertTraceData.ts
index b0c3ebe710..a554ab1dbe 100644
--- a/web/src/utils/traces/convertTraceData.ts
+++ b/web/src/utils/traces/convertTraceData.ts
@@ -260,7 +260,8 @@ export const convertServiceGraphToTree = (
// Root node: sum of all outgoing edges (traffic flowing from this node)
totalRequests = outgoingEdges.reduce((sum: number, edge: any) => sum + (edge.total_requests ?? 0), 0);
failedRequests = outgoingEdges.reduce((sum: number, edge: any) => sum + (edge.failed_requests ?? 0), 0);
- errorRate = totalRequests > 0 ? (failedRequests / totalRequests) * 100 : 0;
+ // If no outgoing edges, fall back to node's own error_rate
+ errorRate = totalRequests > 0 ? (failedRequests / totalRequests) * 100 : (node.error_rate ?? 0);
}
// Calculate connections count (incoming + outgoing edges)