You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f236f76
Browse filesBrowse the repository at this point in the historyBrowse files
feat: Add HTTP status class label to feature server request metrics
feast_feature_server_request_total was labelled with endpoint and a
status that was only ever "success" or "error", and the status came
from whether the handler raised. Client errors and server errors fell
into the same bucket, and handlers that returned an error response
without raising (a 404 or 422 from the vector store search, a 409 when
a materialization is already running) were counted as successes.
The counter now carries a status_class label (2xx, 4xx, 5xx) taken
from the HTTP status code the server responds with:
- When the handler raises, the status code is derived the same way the
REST exception handling answers: FeastError subclasses use their own
http_status_code(), HTTPException uses its status_code, and anything
else is a 500.
- RequestMetricsContext gains a status_code attribute (default 200)
that handlers set when they return a non-2xx response. The vector
store search and the async /materialize and
/materialize-incremental conflict paths now do so.
The existing status label is kept for dashboards and alerts that use
it, and is now derived from the status code as well: "success" below
400 and "error" otherwise.
The metrics reference and the performance tuning guide document the
new label.
Fixesfeast-dev#6641
Signed-off-by: NopeCharon <[email protected]>
Copy file name to clipboardExpand all lines: docs/how-to-guides/online-server-performance-tuning.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -829,7 +829,7 @@ This exposes a `/metrics` endpoint on port 8000. If the Prometheus Operator's `S
829
829
| `feast_feature_server_transformation_duration_seconds` | ODFV execution time (requires `track_metrics=True` on the ODFV). |
830
830
| `feast_feature_server_cpu_usage` | Per-worker CPU. Sustained > 80% means you need more workers or replicas. |
831
831
| `feast_feature_server_memory_usage` | Per-worker memory. Growing over time may indicate a memory leak — use `maxRequests` to recycle. |
832
-
| `feast_feature_server_request_total` | Request throughput and error rates by endpoint and status. |
832
+
| `feast_feature_server_request_total` | Request throughput and error rates by endpoint and status. Filter on `status_class="5xx"` to alert on server errors only. |
833
833
| `feast_feature_freshness_seconds` | Seconds since last materialization per feature view. Alerts you to stale data. |
| `feast_feature_server_request_total` | Counter | `endpoint`, `status`| `request` | Total requests per endpoint |
371
+
| `feast_feature_server_request_total` | Counter | `endpoint`, `status`, `status_class` | `request` | Total requests per endpoint and response status (see below) |
372
372
| `feast_feature_server_request_latency_seconds` | Histogram | `endpoint`, `feature_count`, `feature_view_count` | `request` | Request latency with p50/p95/p99 support (`feature_count` is bucketed, see below) |
0 commit comments