feat(admin-perf): full Vue SPA migration + slow-query/memory monitoring gaps

Remove Jinja2 template fallback (1249 lines) — /admin/performance now serves
Vue SPA exclusively via send_from_directory.

Backend:
- Add _SLOW_QUERY_WAITING counter with get_slow_query_waiting_count()
- Record slow-path latency in read_sql_df_slow/iter via record_query_latency()
- Extend metrics_history schema with slow_query_active, slow_query_waiting,
  worker_rss_bytes columns + ALTER TABLE migration for existing DBs
- Add cleanup_archive_logs() with configurable ARCHIVE_LOG_DIR/KEEP_COUNT
- Integrate archive cleanup into MetricsHistoryCollector 50-min cycle

Frontend:
- Add slow_query_active and slow_query_waiting StatCards to connection pool
- Add slow_query_active trend line to pool trend chart
- Add Worker memory (RSS MB) trend chart with preprocessing
- Update modernization gate check path to frontend style.css

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
egg
2026-02-26 09:48:54 +08:00
parent c6f982ae50
commit 07ced80fb0
22 changed files with 740 additions and 1456 deletions

View File

@@ -86,7 +86,7 @@ def _route_css_targets() -> dict[str, list[Path]]:
"/qc-gate": [ROOT / "frontend/src/qc-gate/style.css"],
"/job-query": [ROOT / "frontend/src/job-query/style.css"],
"/admin/pages": [ROOT / "src/mes_dashboard/templates/admin/pages.html"],
"/admin/performance": [ROOT / "src/mes_dashboard/templates/admin/performance.html"],
"/admin/performance": [ROOT / "frontend/src/admin-performance/style.css"],
"/tables": [ROOT / "frontend/src/tables/style.css"],
"/excel-query": [ROOT / "frontend/src/excel-query/style.css"],
"/query-tool": [ROOT / "frontend/src/query-tool/style.css"],