mirror of
https://github.com/hibiken/asynqmon.git
synced 2025-09-23 23:36:33 +08:00
(ui): Fix parseDuration helper
This commit is contained in:
@@ -31,6 +31,12 @@ export function getMetricsAsync(endTime: number, duration: number) {
|
||||
return async (dispatch: Dispatch<MetricsActionTypes>) => {
|
||||
dispatch({ type: GET_METRICS_BEGIN });
|
||||
try {
|
||||
console.log(
|
||||
"DEBUG: fetching with endtime=",
|
||||
endTime,
|
||||
" duration=",
|
||||
duration
|
||||
);
|
||||
const response = await getMetrics(endTime, duration);
|
||||
dispatch({ type: GET_METRICS_SUCCESS, payload: response });
|
||||
} catch (error) {
|
||||
|
@@ -51,8 +51,6 @@ const lineColors = [
|
||||
];
|
||||
|
||||
function QueueSizeMetricsChart(props: Props) {
|
||||
console.log("DEBUG: QueueSizeMetricsChart props:", props);
|
||||
console.log("DEBUG: chartData", toChartData(props.data));
|
||||
const data = toChartData(props.data);
|
||||
const keys = props.data.map((x) => x.metric.queue);
|
||||
return (
|
||||
|
@@ -124,7 +124,7 @@ export function currentUnixtime(): number {
|
||||
return Math.floor(Date.now() / 1000);
|
||||
}
|
||||
|
||||
const durationRegex = /[1-9]([0-9]*)[s|m|h]/;
|
||||
const durationRegex = /([0-9]*(\.[0-9]*)?)[s|m|h]/;
|
||||
// Parses the given string and returns the number of seconds if the input is valid.
|
||||
// Otherwise, it throws an error
|
||||
// Supported time units are "s", "m", "h"
|
||||
@@ -132,14 +132,14 @@ export function parseDuration(s: string): number {
|
||||
if (!durationRegex.test(s)) {
|
||||
throw new Error("invalid duration");
|
||||
}
|
||||
const val = parseInt(s.slice(0, -1));
|
||||
const val = parseFloat(s.slice(0, -1));
|
||||
switch (s.slice(-1)) {
|
||||
case "s":
|
||||
return val;
|
||||
case "m":
|
||||
return val * 60;
|
||||
case "h":
|
||||
return val * 6 * 60;
|
||||
return val * 60 * 60;
|
||||
default:
|
||||
throw new Error("invalid duration unit");
|
||||
}
|
||||
|
Reference in New Issue
Block a user