1.9 KiB
1.9 KiB
Materialized Views for Analytics
Module
Platform
Status
IMPLEMENTED
Description
Materialized views with indexes, VEX validity filters, and deterministic arrays are used for analytics with a dedicated maintenance service for refresh.
Implementation Details
- PlatformAnalyticsMaintenanceService:
src/Platform/StellaOps.Platform.WebService/Services/PlatformAnalyticsMaintenanceService.cs-- BackgroundService that periodically refreshes 4 materialized views (mv_supplier_concentration,mv_license_distribution,mv_vuln_exposure,mv_attestation_coverage) usingREFRESH MATERIALIZED VIEW CONCURRENTLY; supports daily rollup backfill, configurable interval, and run-on-startup mode viaPlatformAnalyticsMaintenanceOptions - PlatformAnalyticsQueryExecutor:
src/Platform/StellaOps.Platform.WebService/Services/PlatformAnalyticsQueryExecutor.cs-- executes analytical queries against materialized views - PlatformAnalyticsService:
src/Platform/StellaOps.Platform.WebService/Services/PlatformAnalyticsService.cs-- service layer for analytics queries (suppliers, licenses, vulnerabilities, backlog, attestation coverage, vulnerability/component trends) - AnalyticsEndpoints:
src/Platform/StellaOps.Platform.WebService/Endpoints/AnalyticsEndpoints.cs-- REST API at/api/analyticswith 7 endpoints: suppliers, licenses, vulnerabilities, backlog, attestation-coverage, trends/vulnerabilities, trends/components; all requireAnalyticsReadauthorization - Source: Feature matrix scan
E2E Test Plan
- Verify materialized views refresh concurrently without blocking reads
- Test daily rollup backfill covers configured BackfillDays range
- Verify analytics endpoints return correct data from materialized views
- Test analytics service returns 503 when analytics storage is not configured
- Verify trend endpoints return daily data points for specified time windows