feat: rework Metrics into Routes with 3-level hierarchy and mock-matching KPI header
All checks were successful
Build & Publish / publish (push) Successful in 43s
All checks were successful
Build & Publish / publish (push) Successful in 43s
- Rename Metrics to Routes with /routes, /routes/:appId, /routes/:appId/:routeId - Sidebar: Routes is now a collapsible tree (apps > routes) like Applications/Agents - KPI header matching mock-v3-metrics-dashboard: throughput with sparkline, error rate, latency percentiles (P50/P95/P99), active routes with mini donut, in-flight exchanges - Same KPI header used consistently across all 3 levels with scoped data - Route detail level shows per-processor performance table and RouteFlow diagram - Added appId to RouteMetricRow and filled missing route entries in mock data - Fix sidebar section toggle indentation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -147,6 +147,7 @@ export const errorCountSeries: MetricSeries[] = [
|
||||
export interface RouteMetricRow {
|
||||
routeId: string
|
||||
routeName: string
|
||||
appId: string
|
||||
exchangeCount: number
|
||||
successRate: number
|
||||
avgDurationMs: number
|
||||
@@ -159,6 +160,7 @@ export const routeMetrics: RouteMetricRow[] = [
|
||||
{
|
||||
routeId: 'order-intake',
|
||||
routeName: 'order-intake',
|
||||
appId: 'order-service',
|
||||
exchangeCount: 892,
|
||||
successRate: 99.2,
|
||||
avgDurationMs: 88,
|
||||
@@ -169,6 +171,7 @@ export const routeMetrics: RouteMetricRow[] = [
|
||||
{
|
||||
routeId: 'order-enrichment',
|
||||
routeName: 'order-enrichment',
|
||||
appId: 'order-service',
|
||||
exchangeCount: 541,
|
||||
successRate: 97.6,
|
||||
avgDurationMs: 156,
|
||||
@@ -179,6 +182,7 @@ export const routeMetrics: RouteMetricRow[] = [
|
||||
{
|
||||
routeId: 'payment-process',
|
||||
routeName: 'payment-process',
|
||||
appId: 'payment-svc',
|
||||
exchangeCount: 414,
|
||||
successRate: 96.1,
|
||||
avgDurationMs: 234,
|
||||
@@ -186,9 +190,21 @@ export const routeMetrics: RouteMetricRow[] = [
|
||||
errorCount: 16,
|
||||
sparkline: [210, 225, 232, 218, 241, 235, 228, 242, 238, 231, 244, 237, 233, 234],
|
||||
},
|
||||
{
|
||||
routeId: 'payment-validate',
|
||||
routeName: 'payment-validate',
|
||||
appId: 'payment-svc',
|
||||
exchangeCount: 498,
|
||||
successRate: 99.8,
|
||||
avgDurationMs: 142,
|
||||
p99DurationMs: 198,
|
||||
errorCount: 1,
|
||||
sparkline: [138, 141, 140, 143, 145, 142, 144, 141, 139, 143, 142, 140, 141, 142],
|
||||
},
|
||||
{
|
||||
routeId: 'shipment-dispatch',
|
||||
routeName: 'shipment-dispatch',
|
||||
appId: 'shipment-tracker',
|
||||
exchangeCount: 387,
|
||||
successRate: 98.4,
|
||||
avgDurationMs: 118,
|
||||
@@ -196,4 +212,26 @@ export const routeMetrics: RouteMetricRow[] = [
|
||||
errorCount: 6,
|
||||
sparkline: [112, 115, 118, 114, 120, 116, 119, 117, 118, 121, 116, 118, 119, 118],
|
||||
},
|
||||
{
|
||||
routeId: 'shipment-track',
|
||||
routeName: 'shipment-track',
|
||||
appId: 'shipment-tracker',
|
||||
exchangeCount: 923,
|
||||
successRate: 99.5,
|
||||
avgDurationMs: 94,
|
||||
p99DurationMs: 167,
|
||||
errorCount: 5,
|
||||
sparkline: [88, 91, 93, 95, 92, 94, 96, 93, 91, 95, 94, 92, 93, 94],
|
||||
},
|
||||
{
|
||||
routeId: 'notification-dispatch',
|
||||
routeName: 'notification-dispatch',
|
||||
appId: 'notification-hub',
|
||||
exchangeCount: 471,
|
||||
successRate: 98.9,
|
||||
avgDurationMs: 62,
|
||||
p99DurationMs: 124,
|
||||
errorCount: 5,
|
||||
sparkline: [58, 60, 63, 61, 64, 62, 60, 63, 65, 62, 61, 63, 62, 62],
|
||||
},
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user