diff --git a/cameleer-server-app/src/main/java/com/cameleer/server/app/alerting/eval/RouteMetricEvaluator.java b/cameleer-server-app/src/main/java/com/cameleer/server/app/alerting/eval/RouteMetricEvaluator.java index f04f333d..09eacd14 100644 --- a/cameleer-server-app/src/main/java/com/cameleer/server/app/alerting/eval/RouteMetricEvaluator.java +++ b/cameleer-server-app/src/main/java/com/cameleer/server/app/alerting/eval/RouteMetricEvaluator.java @@ -48,8 +48,7 @@ public class RouteMetricEvaluator implements ConditionEvaluator errorRate(stats); - // ExecutionStats has no p95 field; avgDurationMs is the closest available proxy - case P95_LATENCY_MS -> (double) stats.avgDurationMs(); + case AVG_DURATION_MS -> (double) stats.avgDurationMs(); case P99_LATENCY_MS -> (double) stats.p99LatencyMs(); case THROUGHPUT -> (double) stats.totalCount(); case ERROR_COUNT -> (double) stats.failedCount(); diff --git a/cameleer-server-core/src/main/java/com/cameleer/server/core/alerting/RouteMetric.java b/cameleer-server-core/src/main/java/com/cameleer/server/core/alerting/RouteMetric.java index 336d8019..ff1154d6 100644 --- a/cameleer-server-core/src/main/java/com/cameleer/server/core/alerting/RouteMetric.java +++ b/cameleer-server-core/src/main/java/com/cameleer/server/core/alerting/RouteMetric.java @@ -1,3 +1,10 @@ package com.cameleer.server.core.alerting; -public enum RouteMetric { ERROR_RATE, P95_LATENCY_MS, P99_LATENCY_MS, THROUGHPUT, ERROR_COUNT } +public enum RouteMetric { + ERROR_RATE, + /** Average execution duration — maps to stats_1m_route.avgDurationMs. */ + AVG_DURATION_MS, + P99_LATENCY_MS, + THROUGHPUT, + ERROR_COUNT +} diff --git a/docs/alerting.md b/docs/alerting.md index 82474f00..68783a8d 100644 --- a/docs/alerting.md +++ b/docs/alerting.md @@ -31,7 +31,7 @@ Fires when a computed route metric crosses a threshold over a rolling window. } ``` -Available metrics: `ERROR_RATE`, `THROUGHPUT`, `MEAN_PROCESSING_MS`, `P95_PROCESSING_MS`. +Available metrics: `ERROR_RATE`, `THROUGHPUT`, `AVG_DURATION_MS`, `P99_LATENCY_MS`, `ERROR_COUNT`. Comparators: `GT`, `GTE`, `LT`, `LTE`, `EQ`. ### EXCHANGE_MATCH