fix: add groupName to ExecutionSummary, locale format stat values, inspect column, fix duplicate keys
- Added groupName field to ExecutionSummary Java record and OpenSearch mapper - Dashboard stat cards use locale-formatted numbers (en-US) - Added inspect column (↗) linking directly to exchange detail page - Fixed duplicate React key warning from two columns sharing executionId key Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -84,6 +84,17 @@ export default function Dashboard() {
|
||||
</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: '_inspect' as any, header: '', width: '36px',
|
||||
render: (_v, row) => (
|
||||
<a
|
||||
href={`/exchanges/${row.executionId}`}
|
||||
onClick={(e) => { e.stopPropagation(); e.preventDefault(); navigate(`/exchanges/${row.executionId}`); }}
|
||||
className={styles.inspectLink}
|
||||
title="Open full details"
|
||||
>↗</a>
|
||||
),
|
||||
},
|
||||
{ key: 'routeId', header: 'Route', sortable: true, render: (v) => <span>{String(v)}</span> },
|
||||
{ key: 'groupName', header: 'Application', sortable: true, render: (v) => <span>{String(v ?? '')}</span> },
|
||||
{ key: 'executionId', header: 'Exchange ID', sortable: true, render: (v) => <MonoText size="xs">{String(v)}</MonoText> },
|
||||
@@ -193,7 +204,7 @@ export default function Dashboard() {
|
||||
<div className={styles.healthStrip}>
|
||||
<StatCard
|
||||
label="Exchanges"
|
||||
value={totalCount.toLocaleString()}
|
||||
value={totalCount.toLocaleString('en-US')}
|
||||
detail={`${successRate.toFixed(1)}% success rate`}
|
||||
trend={exchangeTrend > 0 ? 'up' : exchangeTrend < 0 ? 'down' : 'neutral'}
|
||||
trendValue={exchangeTrend > 0 ? `+${exchangeTrend.toFixed(0)}%` : `${exchangeTrend.toFixed(0)}%`}
|
||||
@@ -203,7 +214,7 @@ export default function Dashboard() {
|
||||
<StatCard
|
||||
label="Success Rate"
|
||||
value={`${successRate.toFixed(1)}%`}
|
||||
detail={`${(totalCount - failedCount).toLocaleString()} ok / ${failedCount} error`}
|
||||
detail={`${(totalCount - failedCount).toLocaleString('en-US')} ok / ${failedCount} error`}
|
||||
trend={successRateDelta >= 0 ? 'up' : 'down'}
|
||||
trendValue={`${successRateDelta >= 0 ? '+' : ''}${successRateDelta.toFixed(1)}%`}
|
||||
accent="success"
|
||||
@@ -226,8 +237,8 @@ export default function Dashboard() {
|
||||
/>
|
||||
<StatCard
|
||||
label="Latency p99"
|
||||
value={stats?.p99LatencyMs ?? 0}
|
||||
detail={`${stats?.p99LatencyMs ?? 0}ms`}
|
||||
value={(stats?.p99LatencyMs ?? 0).toLocaleString('en-US')}
|
||||
detail={`${(stats?.p99LatencyMs ?? 0).toLocaleString('en-US')}ms`}
|
||||
sparkline={sparkLatency}
|
||||
accent="warning"
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user