From 110ab4167c6a1532a62298d7da2053daa315c889 Mon Sep 17 00:00:00 2001 From: Ken Hibino Date: Wed, 8 Dec 2021 08:31:21 -0800 Subject: [PATCH] (ui): code cleanup --- ui/src/views/MetricsView.tsx | 169 ++++++++++++++++------------------- 1 file changed, 78 insertions(+), 91 deletions(-) diff --git a/ui/src/views/MetricsView.tsx b/ui/src/views/MetricsView.tsx index 07807ff..4721cce 100644 --- a/ui/src/views/MetricsView.tsx +++ b/ui/src/views/MetricsView.tsx @@ -13,6 +13,7 @@ import QueueMetricsChart from "../components/QueueMetricsChart"; import { currentUnixtime } from "../utils"; import MetricsFetchControls from "../components/MetricsFetchControls"; import { useQuery } from "../hooks"; +import { PrometheusMetricsResponse } from "../api"; const useStyles = makeStyles((theme) => ({ container: { @@ -110,104 +111,90 @@ function MetricsView(props: Props) { /> - -
- Queue Size - {data?.queue_size.status === "error" && ( -
- - - Failed to get metrics data: {data?.queue_size.error || ""} - -
- )} -
- -
+ {data?.queue_size && ( + + + + )} Queue Latency
TODO: Queue latency chart here
- -
- Pending Tasks - {data?.pending_tasks_by_queue.status === "error" && ( -
- - - Failed to get metrics data:{" "} - {data?.pending_tasks_by_queue.error || ""} - -
- )} -
- -
- -
- Retry Tasks - {data?.retry_tasks_by_queue.status === "error" && ( -
- - - Failed to get metrics data:{" "} - {data?.retry_tasks_by_queue.error || ""} - -
- )} -
- -
- -
- Archived Tasks - {data?.archived_tasks_by_queue.status === "error" && ( -
- - - Failed to get metrics data:{" "} - {data?.archived_tasks_by_queue.error || ""} - -
- )} -
- -
+ {data?.pending_tasks_by_queue && ( + + + + )} + {data?.retry_tasks_by_queue && ( + + + + )} + {data?.archived_tasks_by_queue && ( + + + + )} ); } export default connector(MetricsView); + +/******** Helper components ********/ + +interface ChartRowProps { + title: string; + metrics: PrometheusMetricsResponse; + endTime: number; + startTime: number; +} + +function ChartRow(props: ChartRowProps) { + const classes = useStyles(); + return ( + <> +
+ {props.title} + {props.metrics.status === "error" && ( +
+ + + Failed to get metrics data: {props.metrics.error} + +
+ )} +
+ + + ); +}