mirror of
https://github.com/hibiken/asynqmon.git
synced 2025-10-26 00:06:13 +08:00
(ui): Adjust MetricsView to new API response shape
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user