diff --git a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/search/ClickHouseSearchEngine.java b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/search/ClickHouseSearchEngine.java index 148ba81c..4f28db1a 100644 --- a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/search/ClickHouseSearchEngine.java +++ b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/search/ClickHouseSearchEngine.java @@ -91,8 +91,8 @@ public class ClickHouseSearchEngine implements SearchEngine { public ExecutionStats stats(Instant from, Instant to) { String aggregateSql = "SELECT count() AS total_count, " + "countIf(status = 'FAILED') AS failed_count, " + - "toInt64(avg(duration_ms)) AS avg_duration_ms, " + - "toInt64(quantile(0.99)(duration_ms)) AS p99_duration_ms, " + + "toInt64(ifNotFinite(avg(duration_ms), 0)) AS avg_duration_ms, " + + "toInt64(ifNotFinite(quantile(0.99)(duration_ms), 0)) AS p99_duration_ms, " + "countIf(status = 'RUNNING') AS active_count " + "FROM route_executions WHERE start_time >= ? AND start_time <= ?"; @@ -143,8 +143,8 @@ public class ClickHouseSearchEngine implements SearchEngine { "toDateTime(intDiv(toUInt32(toDateTime(start_time)), " + intervalSeconds + ") * " + intervalSeconds + ") AS bucket, " + "count() AS total_count, " + "countIf(status = 'FAILED') AS failed_count, " + - "toInt64(avg(duration_ms)) AS avg_duration_ms, " + - "toInt64(quantile(0.99)(duration_ms)) AS p99_duration_ms, " + + "toInt64(ifNotFinite(avg(duration_ms), 0)) AS avg_duration_ms, " + + "toInt64(ifNotFinite(quantile(0.99)(duration_ms), 0)) AS p99_duration_ms, " + "countIf(status = 'RUNNING') AS active_count " + "FROM route_executions " + "WHERE start_time >= ? AND start_time <= ? " +