Feature Request
Description:
Expose key refresh metrics (e.g., counts, durations, error rates) via a /metrics endpoint in a format compatible with Prometheus for scraping.
Use Case:
Enables integration with modern, industry-standard monitoring and alerting systems like Prometheus and Grafana for advanced observability.
Proposed Solution:
- Add a dependency on a Prometheus client library for Ruby.
- Instrument the
MatViewRefreshJob to update metrics for duration, success count, and failure count.
- Mount the
/metrics endpoint within the engine.
- Provide sample Grafana dashboard configurations in the documentation.
RSpec Tests:
- Perform a successful and a failed refresh job.
- Access the
/metrics endpoint and verify that the Prometheus output contains the correct metrics (e.g., mat_views_refresh_total{status='success'} 1).
- Check that refresh duration histograms or summaries are correctly recorded.
Checklist:
Feature Request
Description:
Expose key refresh metrics (e.g., counts, durations, error rates) via a
/metricsendpoint in a format compatible with Prometheus for scraping.Use Case:
Enables integration with modern, industry-standard monitoring and alerting systems like Prometheus and Grafana for advanced observability.
Proposed Solution:
MatViewRefreshJobto update metrics for duration, success count, and failure count./metricsendpoint within the engine.RSpec Tests:
/metricsendpoint and verify that the Prometheus output contains the correct metrics (e.g.,mat_views_refresh_total{status='success'} 1).Checklist: