Commit
Refactor: Consolidate analysis, add UMAP, caching, and telemetry
Commit details
Commit notes
This commit introduces significant improvements:
- **Analysis Service**: - Merged `/analyze` and `/analyze-resumable` endpoints into a shared internal function. - Implemented `ProjectionManager` for batched, debounced, and retried projection updates (PCA and UMAP). - Added `/projection-stats` endpoint for monitoring. - Added UMAP projection support. - Implemented retry logic with exponential backoff.
- **Backend Service**: - Introduced in-memory LRU cache for drum space maps with a 5-minute TTL. - Added telemetry tracking for map requests, cache performance, similar searches, and ingestion. - Implemented `/v1/metrics` endpoint for monitoring. - Consolidated `key` and `musical_key` fields. - Removed redundant `map_x`, `map_y`, `map_method` columns from the `samples` table. - Added integration tests for the analysis pipeline and caching.
These changes improve performance, reliability, observability, and maintainability of the system.
Co-authored-by: armin.naimi <[email redacted]>
- Files changed
- 15
- Lines added
- +1,802
- Lines removed
- −522