Pulse/internal/monitoring
rcourtman ee0e89871d fix: reduce metrics memory 86x by reverting buffer and adding LTTB downsampling
The in-memory metrics buffer was changed from 1000 to 86400 points per
metric to support 30-day sparklines, but this pre-allocated ~18 MB per
guest (7 slices × 86400 × 32 bytes). With 50 guests that's 920 MB —
explaining why users needed to double their LXC memory after upgrading
to 5.1.0.

- Revert in-memory buffer to 1000 points / 24h retention
- Remove eager slice pre-allocation (use append growth instead)
- Add LTTB (Largest Triangle Three Buckets) downsampling algorithm
- Chart endpoints now use a two-tier strategy: in-memory for ranges
  ≤ 2h, SQLite persistent store + LTTB for longer ranges
- Reduce frontend ring buffer from 86400 to 2000 points

Related to #1190
2026-02-04 19:49:52 +00:00
..
backoff.go feat: implement error handling with circuit breakers and backoff (Phase 2 Task 7) 2025-10-20 15:13:37 +00:00
backoff_test.go style: fix gofmt formatting inconsistencies 2025-11-26 23:44:36 +00:00
backup_guard_test.go Guard PBS backups from failed polls 2025-11-05 19:26:20 +00:00
ceph.go Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
ceph_test.go feat: improve monitoring and temperature handling 2026-01-24 22:43:31 +00:00
circuit_breaker.go fix: harden SQLite against I/O contention causing persistent lock errors 2026-02-02 17:29:14 +00:00
circuit_breaker_test.go test: Add tests for allow, ensureContainerRootDiskEntry; remove dead code 2025-12-01 20:15:32 +00:00
container_disk_usage.go Skip inactive storages during content scans 2025-11-18 09:46:48 +00:00
container_disk_usage_test.go test: Add tests for monitoring and notifications functions 2025-12-01 17:33:36 +00:00
container_parsing.go feat: Enhanced OCI detection via entrypoint field 2025-12-12 18:13:17 +00:00
container_parsing_test.go feat: Add Proxmox 9.1+ OCI container support 2025-12-12 17:51:43 +00:00
diagnostic_snapshots.go Refine Proxmox node memory fallback (#582) 2025-10-22 15:36:26 +00:00
diagnostic_snapshots_test.go test: Add tests for handleProxyHostFailure, recordNodeSnapshot, evaluateHostAgents 2025-12-01 19:40:32 +00:00
docker_commands.go fix: address 6 security and reliability issues 2026-02-03 17:32:44 +00:00
docker_commands_test.go feat: improve monitoring and temperature handling 2026-01-24 22:43:31 +00:00
docker_detection.go feat(monitoring): auto-detect Docker inside LXC containers 2026-01-17 14:42:52 +00:00
docker_detection_test.go Fix: data race in Docker detection test mock — add mutex for concurrent calls 2026-02-03 00:12:16 +00:00
docker_host_identity.go fix: Docker agent token conflict on reconnect. Related to #1008 2026-01-02 00:03:23 +00:00
docker_host_identity_test.go style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
enrich_container_metadata_test.go Enhance devcontainer and CI workflows 2026-01-01 22:29:15 +00:00
error_classification_test.go Add unit tests for error classification functions in monitoring 2025-12-01 01:37:28 +00:00
fake_executor_integration.go test: add comprehensive integration test harness for adaptive polling (Phase 2 Task 9c) 2025-10-20 15:13:38 +00:00
fs_filters.go Filter read-only filesystems from host agent disk metrics (related to #690) 2025-11-12 09:47:02 +00:00
fs_filters_test.go Ignore read-only guest filesystems in disk aggregation 2025-10-14 16:13:53 +00:00
guest_config.go Update core infrastructure components 2026-01-28 16:52:35 +00:00
guest_metadata.go refactor: Extract guest metadata functions to separate file 2025-12-01 10:53:41 +00:00
guest_metadata_test.go style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
harness_integration.go chore: reliability and maintenance improvements 2026-01-22 00:45:04 +00:00
helpers_test.go Enhance devcontainer and CI workflows 2026-01-01 22:29:15 +00:00
host_agent_temps.go Enhance devcontainer and CI workflows 2026-01-01 22:29:15 +00:00
host_agent_temps_test.go feat: improve monitoring and temperature handling 2026-01-24 22:43:31 +00:00
integration_integration_test.go style: fix gofmt formatting inconsistencies 2025-11-26 23:44:36 +00:00
kubernetes_agents.go chore: reliability and maintenance improvements 2026-01-22 00:45:04 +00:00
kubernetes_agents_test.go test: Add comprehensive test coverage across packages 2026-01-19 19:26:18 +00:00
lttb.go fix: reduce metrics memory 86x by reverting buffer and adding LTTB downsampling 2026-02-04 19:49:52 +00:00
lttb_test.go fix: reduce metrics memory 86x by reverting buffer and adding LTTB downsampling 2026-02-04 19:49:52 +00:00
main_test.go Harden setup token flow and enforce encrypted persistence 2025-10-25 16:00:37 +00:00
merge_temps_test.go style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
metrics.go style: fix staticcheck style warnings 2025-11-27 09:19:33 +00:00
metrics_helpers_test.go test: Add tests for monitor helper and metrics functions 2025-12-01 21:18:33 +00:00
metrics_history.go fix: reduce metrics memory 86x by reverting buffer and adding LTTB downsampling 2026-02-04 19:49:52 +00:00
metrics_history_concurrency_test.go chore: fix staticcheck SA warnings 2025-11-27 09:16:53 +00:00
metrics_history_memory_regression_test.go Add metrics history memory regression test 2026-02-04 19:35:19 +00:00
metrics_history_test.go fix(monitoring): prevent memory leak from stale metrics history and rate tracker entries 2026-02-03 17:16:06 +00:00
metrics_test.go style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
mock_metrics_history.go Fix: improve mock metrics sampler startup performance 2026-02-03 12:03:06 +00:00
mock_metrics_history_test.go Fix mock metrics history and guest drawer controls 2026-01-22 09:39:53 +00:00
monitor.go fix: reduce metrics memory 86x by reverting buffer and adding LTTB downsampling 2026-02-04 19:49:52 +00:00
monitor_accessors.go feat: add multi-tenancy foundation (directory-per-tenant) 2026-01-22 13:39:06 +00:00
monitor_additional_test.go test: expand backend coverage 2026-01-25 21:08:44 +00:00
monitor_alert_handling_test.go test(monitoring): fix failing snapshot tests and improve coverage 2026-01-04 10:29:40 +00:00
monitor_backup_poll_test.go style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
monitor_container_test.go feat: surface LXC mountpoints in UI (related to #715) 2025-11-18 22:57:20 +00:00
monitor_docker_test.go Fix flaky tests and improve coverage across alerts, api, and config packages 2026-01-03 18:36:17 +00:00
monitor_extra_coverage_test.go feat: improve monitoring and temperature handling 2026-01-24 22:43:31 +00:00
monitor_full_coverage_test.go chore: reliability and maintenance improvements 2026-01-22 00:45:04 +00:00
monitor_health_test.go feat: enhance scheduler health API with rich instance metadata 2025-10-20 15:13:38 +00:00
monitor_host_agents_test.go fix: add rateTracker to host report tests and block direct tag pushes 2026-02-04 16:47:31 +00:00
monitor_memory_test.go feat: show pending apt updates for Proxmox nodes (#1083) 2026-01-21 10:53:36 +00:00
monitor_metadata_test.go test(monitoring): fix failing snapshot tests and improve coverage 2026-01-04 10:29:40 +00:00
monitor_pbs_coverage_test.go test(monitoring): fix failing snapshot tests and improve coverage 2026-01-04 10:29:40 +00:00
monitor_pbs_fallback_test.go test(monitoring): fix failing snapshot tests and improve coverage 2026-01-04 10:29:40 +00:00
monitor_pmg_test.go Fix PMG API parameter issues causing 400 errors 2025-11-05 19:28:37 +00:00
monitor_polling.go fix: prefer status-mem over status-freemem for VM memory calculation 2026-02-04 12:08:33 +00:00
monitor_polling_test.go style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
monitor_profiles_test.go feat: Add centralized agent configuration management (Pro) 2026-01-08 12:06:36 +00:00
monitor_reconnect_test.go test(monitoring): fix failing snapshot tests and improve coverage 2026-01-04 10:29:40 +00:00
monitor_snapshot_test.go test(monitoring): fix failing snapshot tests and improve coverage 2026-01-04 10:29:40 +00:00
monitor_snapshots_test.go feat: show pending apt updates for Proxmox nodes (#1083) 2026-01-21 10:53:36 +00:00
monitor_storage_coverage_test.go test(monitoring): fix failing snapshot tests and improve coverage 2026-01-04 10:29:40 +00:00
monitor_storage_test.go feat: show pending apt updates for Proxmox nodes (#1083) 2026-01-21 10:53:36 +00:00
monitor_test.go style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
monitor_timeout_test.go fix: Add configurable poll timeout and handle external Ceph storage 2026-01-05 23:34:33 +00:00
multi_tenant_monitor.go Fix API token authentication and multi-tenancy logic 2026-02-03 16:24:28 +00:00
multi_tenant_monitor_additional_test.go test: expand backend coverage 2026-01-25 21:08:44 +00:00
pbs_convert_test.go feat(pbs): add datastore exclusion to reduce PBS log noise 2026-01-14 12:26:18 +00:00
poller.go chore: remove dead code and unused files 2025-11-27 00:05:04 +00:00
ratetracker.go fix: smooth I/O rates using sliding window like Prometheus rate() 2026-02-04 19:04:17 +00:00
ratetracker_concurrency_test.go Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
ratetracker_test.go fix: smooth I/O rates using sliding window like Prometheus rate() 2026-02-04 19:04:17 +00:00
reload.go fix: resolve critical stability and auth issues 2026-02-03 16:46:27 +00:00
reload_test.go feat: improve monitoring and temperature handling 2026-01-24 22:43:31 +00:00
scheduler.go refactor: Remove unreachable dead code branches 2025-12-02 14:48:57 +00:00
scheduler_test.go style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
staleness_tracker.go refactor: Remove unreachable dead code branches 2025-12-02 14:41:53 +00:00
staleness_tracker_test.go test: Add tests for parseContainerMountMetadata, convertContainerDiskInfo, StalenessScore 2025-12-01 20:44:00 +00:00
storage_backup_preserve_test.go test: Add tests for convertDockerSwarmInfo, namespacePathsForDatastore, preserveFailedStorageBackups 2025-12-01 19:04:23 +00:00
storage_filters.go fix: Deduplicate shared storages (NFS, RBD, PBS, etc) in cluster view 2026-01-06 17:44:52 +00:00
storage_filters_test.go fix: Deduplicate shared storages (NFS, RBD, PBS, etc) in cluster view 2026-01-06 17:44:52 +00:00
task_queue.go perf: reduce polling allocations and guest metadata load 2025-10-25 13:12:47 +00:00
task_queue_memory_regression_test.go Add memory regression tests for agent and scheduler 2026-02-04 19:33:29 +00:00
task_queue_test.go test: Add WaitNext and key() tests for TaskQueue 2025-12-02 12:02:13 +00:00
temperature.go feat: improve monitoring and temperature handling 2026-01-24 22:43:31 +00:00
temperature_test.go feat: improve monitoring and temperature handling 2026-01-24 22:43:31 +00:00