feat: Complete v1.1.1 Phases 2 & 3 - Enhancements and Polish

Phase 2 - Enhancements:
- Add performance monitoring infrastructure with MetricsBuffer
- Implement three-tier health checks (/health, /health?detailed, /admin/health)
- Enhance search with FTS5 fallback and XSS-safe highlighting
- Add Unicode slug generation with timestamp fallback
- Expose database pool statistics via /admin/metrics
- Create missing error templates (400, 401, 403, 405, 503)

Phase 3 - Polish:
- Implement RSS streaming optimization (memory O(n) → O(1))
- Add admin metrics dashboard with htmx and Chart.js
- Fix flaky migration race condition tests
- Create comprehensive operational documentation
- Add upgrade guide and troubleshooting guide

Testing: 632 tests passing, zero flaky tests
Documentation: Complete operational guides
Security: All security reviews passed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-25 20:10:41 -07:00
parent 93d2398c1d
commit 07fff01fab
25 changed files with 4371 additions and 142 deletions

View File

@@ -0,0 +1,19 @@
"""
Performance monitoring for StarPunk
This package provides performance monitoring capabilities including:
- Metrics collection with circular buffers
- Operation timing (database, HTTP, rendering)
- Per-process metrics with aggregation
- Configurable sampling rates
Per ADR-053 and developer Q&A Q6, Q12:
- Each process maintains its own circular buffer
- Buffers store recent metrics (default 1000 entries)
- Metrics include process ID for multi-process deployment
- Sampling rates are configurable per operation type
"""
from starpunk.monitoring.metrics import MetricsBuffer, record_metric, get_metrics, get_metrics_stats
__all__ = ["MetricsBuffer", "record_metric", "get_metrics", "get_metrics_stats"]