(ui): Adjust MetricsView to new API response shape

This commit is contained in:
Ken Hibino
2021-12-07 06:39:07 -08:00
parent c8596369a4
commit 1fbb20bb37
3 changed files with 19 additions and 5 deletions

View File

@@ -77,10 +77,18 @@ export interface QueueLocation {
} }
export interface MetricsResponse { export interface MetricsResponse {
data: MetricsResult; queue_size: PrometheusMetricsResponse;
}
export interface PrometheusMetricsResponse {
status: "success" | "error";
data?: MetricsResult; // present if status === "success"
error?: string; // present if status === "error"
errorType?: string; // present if status === "error"
} }
export interface MetricsResult { export interface MetricsResult {
resultType: string;
result: Metrics[]; result: Metrics[];
} }
@@ -93,8 +101,10 @@ export interface MetricsInfo {
__name__: string; __name__: string;
instance: string; instance: string;
job: string; job: string;
queue: string;
state: string; // labels (may or may not be present depending on metrics)
queue?: string;
state?: string;
} }
// Return value from redis INFO command. // Return value from redis INFO command.

View File

@@ -35,7 +35,10 @@ function toChartData(metrics: Metrics[]): ChartData[] {
if (!byTimestamp[ts]) { if (!byTimestamp[ts]) {
byTimestamp[ts] = { timestamp: ts }; byTimestamp[ts] = { timestamp: ts };
} }
byTimestamp[ts][x.metric.queue] = parseFloat(val); const qname = x.metric.queue;
if (qname) {
byTimestamp[ts][qname] = parseFloat(val);
}
} }
} }
return Object.values(byTimestamp); return Object.values(byTimestamp);

View File

@@ -98,8 +98,9 @@ function MetricsView(props: Props) {
</Grid> </Grid>
<Grid item xs={12}> <Grid item xs={12}>
<Typography>Queue Size</Typography> <Typography>Queue Size</Typography>
{/* TODO: show error message if data.queue_size.status === "error" */}
<QueueSizeMetricsChart <QueueSizeMetricsChart
data={data?.data.result || []} data={data?.queue_size.data?.result || []}
endTime={endTimeSec} endTime={endTimeSec}
startTime={endTimeSec - durationSec} startTime={endTimeSec - durationSec}
/> />