Title: feat: Operational metrics for offline store and SOX metrics for both by jyejare · Pull Request #6340 · feast-dev/feast · GitHub
Open Graph Title: feat: Operational metrics for offline store and SOX metrics for both by jyejare · Pull Request #6340 · feast-dev/feast
X Title: feat: Operational metrics for offline store and SOX metrics for both by jyejare · Pull Request #6340 · feast-dev/feast
Description: What this PR does / why we need it: Adds operational metrics instrumentation for Feast's offline store and structured SOX audit logging for both online and offline feature retrieval paths. This is needed to satisfy the operational observability requirements. Changes: Offline Store RED Metrics (metrics.py, offline_store.py) New Prometheus metrics: feast_offline_store_request_total (Counter), feast_offline_store_request_latency_seconds (Histogram), feast_offline_store_row_count (Histogram) Instrumented RetrievalJob.to_arrow() as the single source of truth for offline retrieval metrics — captures request count, error rate, latency, and row count Defensive try/except in the finally block ensures instrumentation failures never mask query errors SOX Audit Logging (metrics.py, feature_server.py, offline_store.py) emit_online_audit_log(): structured JSON audit entries for online requests — captures requestor identity, entity keys, feature views, feature count, status, and latency emit_offline_audit_log(): structured JSON audit entries for offline retrievals — captures method, feature views, row count, status, start/end timestamps, and duration Logs routed to a dedicated feast.audit logger so operators can independently route audit entries to a SOX-compliant sink Only entity key names are logged (not values) to minimize PII exposure Online Audit Integration (feature_server.py) Extracted _parse_feature_info() helper to DRY up feature view name / count extraction (shared by _resolve_feature_counts and _emit_online_audit) _emit_online_audit() wraps audit emission with best-effort error handling (logs at warning level on failure, never breaks the request) Wired into /get-online-features endpoint's finally block Configuration (base_config.py) offline_features: bool = True — toggle for offline store Prometheus metrics audit_logging: bool = False — toggle for structured audit log emission (opt-in) Both flags integrated into _MetricsFlags and build_metrics_flags()
Open Graph Description: What this PR does / why we need it: Adds operational metrics instrumentation for Feast's offline store and structured SOX audit logging for both online and offline feature retrieval paths. This...
X Description: What this PR does / why we need it: Adds operational metrics instrumentation for Feast's offline store and structured SOX audit logging for both online and offline feature retrieval paths. ...
Opengraph URL: https://github.com/feast-dev/feast/pull/6340
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:37e30087-9d04-0012-c799-70762f13eb52 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E56A:A2022:2871CF7:379B6BF:6A4EFAC9 |
| html-safe-nonce | b478d3b36cab04094b6631af8d7d817643160ef20f7d9cd424c600c3b10934b8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNTZBOkEyMDIyOjI4NzFDRjc6Mzc5QjZCRjo2QTRFRkFDOSIsInZpc2l0b3JfaWQiOiIxNjQxMjkyMDQxMzY2MjA3MTc3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 0d93498a18b4cb26449cb5d56c334206759bd975a775aab9dadfb19f37282613 |
| hovercard-subject-tag | pull_request:3590151006 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/feast-dev/feast/pull/6340/files |
| twitter:image | https://avatars.githubusercontent.com/u/11752425?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/11752425?s=400&v=4 |
| og:image:alt | What this PR does / why we need it: Adds operational metrics instrumentation for Feast's offline store and structured SOX audit logging for both online and offline feature retrieval paths. This... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | b92d11c0aa4a77d54ef4af1078b6a15fb5a70a215b30c4ecf28889d5a8e656d9 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 2b8f23afb982271f1b22258a94aede67a6b77760 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width