diff --git a/src/apps/metrics-systems/components/MetricsDashboard.tsx b/src/apps/metrics-systems/components/MetricsDashboard.tsx index 35809ec..a7b56c7 100644 --- a/src/apps/metrics-systems/components/MetricsDashboard.tsx +++ b/src/apps/metrics-systems/components/MetricsDashboard.tsx @@ -178,16 +178,6 @@ const MetricsDashboard = ({ onConnectionStateChange, activeTab = 'system', onTab return data } - const getRequestRateData = () => { - if (!portraitTimeseries?.series) return [] - const requestSeries = portraitTimeseries.series.find(s => s.metric_name === 'request_rate') - if (!requestSeries?.values?.length) return [] - - return requestSeries.values.map(v => ({ - time: formatTimestamp(v.timestamp), - rate: Math.max(0, v.value || 0) - })) - } const getDiskIOData = () => { if (!systemTimeseries?.series) return [] @@ -287,27 +277,40 @@ const MetricsDashboard = ({ onConnectionStateChange, activeTab = 'system', onTab })) } - const getRequestSuccessRateData = () => { + + const getCacheHitRateData = () => { if (!portraitTimeseries?.series) return [] - - const successSeries = portraitTimeseries.series.find(s => s.metric_name === 'request_success_rate') + + const cacheSeries = portraitTimeseries.series.find(s => s.metric_name === 'cache_hit_rate') + if (!cacheSeries?.values?.length) return [] + + return cacheSeries.values.map(v => ({ + time: formatTimestamp(v.timestamp), + hitRate: Math.max(0, Math.min(100, v.value || 0)) + })) + } + + const getRequestSuccessCountData = () => { + if (!portraitTimeseries?.series) return [] + + const successSeries = portraitTimeseries.series.find(s => s.metric_name === 'request_success_count') if (!successSeries?.values?.length) return [] - + return successSeries.values.map(v => ({ time: formatTimestamp(v.timestamp), - successRate: Math.max(0, Math.min(100, v.value || 0)) + count: Math.max(0, v.value || 0) })) } - const getCacheHitRateData = () => { + const getRequestFailureCountData = () => { if (!portraitTimeseries?.series) return [] - - const cacheSeries = portraitTimeseries.series.find(s => s.metric_name === 'cache_hit_rate') - if (!cacheSeries?.values?.length) return [] - - return cacheSeries.values.map(v => ({ + + const failureSeries = portraitTimeseries.series.find(s => s.metric_name === 'request_failure_count') + if (!failureSeries?.values?.length) return [] + + return failureSeries.values.map(v => ({ time: formatTimestamp(v.timestamp), - hitRate: Math.max(0, Math.min(100, v.value || 0)) + count: Math.max(0, v.value || 0) })) } @@ -595,22 +598,22 @@ const MetricsDashboard = ({ onConnectionStateChange, activeTab = 'system', onTab

Request Performance

- {/* Request Rate */} + {/* Request Success Count */}
-

Request Rate

- {getRequestRateData().length > 0 ? ( +

Request Success Count

+ {getRequestSuccessCountData().length > 0 ? ( - + - `${value}/s`} /> - [`${Number(value).toFixed(2)}/s`, 'Requests']} + + [`${Number(value).toFixed(0)}`, 'Success Count']} /> - - + + ) : ( @@ -618,21 +621,21 @@ const MetricsDashboard = ({ onConnectionStateChange, activeTab = 'system', onTab )}
- {/* Request Success Rate */} + {/* Request Error Count */}
-

Request Success Rate

- {getRequestSuccessRateData().length > 0 ? ( +

Request Error Count

+ {getRequestFailureCountData().length > 0 ? ( - + - `${value}%`} /> - [`${Number(value).toFixed(1)}%`, 'Success Rate']} + + [`${Number(value).toFixed(0)}`, 'Error Count']} /> - + @@ -651,7 +654,7 @@ const MetricsDashboard = ({ onConnectionStateChange, activeTab = 'system', onTab - [ name === 'avgDuration' ? `${Number(value).toFixed(2)}ms` : `${Number(value).toFixed(1)}%`, @@ -668,6 +671,7 @@ const MetricsDashboard = ({ onConnectionStateChange, activeTab = 'system', onTab )}
+