Pulse/internal/monitoring
rcourtman 0ae2806f18 fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270)
Proxmox status.Mem includes page cache as "used" memory, inflating
reported VM usage. The existing fallbacks (balloon meminfo, RRD, linked
host agent) were frequently unavailable, causing most VMs to fall
through to the inflated status-mem source.

Adds a new last-resort fallback that reads /proc/meminfo via the QEMU
guest agent file-read endpoint to get accurate MemAvailable. Results
are cached (60s positive, 5min negative backoff for unsupported VMs).

Also fixes: RRD memavailable fallback missing from traditional polling
path, cache key collisions in multi-PVE setups, FreeMem underflow
guard inconsistency, and integer overflow in kB-to-bytes conversion.
2026-02-20 13:31: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 fix: ship alerting hotfixes and prepare 5.1.4 2026-02-07 22:05:55 +00:00
ceph.go Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
ceph_test.go fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +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 fix(memory): use linked Pulse host agent memory to avoid VM inflation (#1270) 2026-02-19 19:04:19 +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
docker_metadata_migration.go fix(docker,metrics): preserve container metadata on update and reduce DB writes 2026-02-18 12:56:46 +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 fix(memory): correct memory reporting for Linux VMs and FreeBSD ZFS ARC 2026-02-18 12:56:53 +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(mock): align Docker container store type with real monitor 2026-02-09 22:42:08 +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(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31: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 fix(alerts): always send recovery notifications regardless of quiet hours 2026-02-18 12:53:09 +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 fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +00:00
monitor_full_coverage_test.go fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +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 fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +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(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +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 fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +00:00
monitor_snapshots_test.go fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +00:00
monitor_storage_coverage_test.go fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +00:00
monitor_storage_test.go fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270) 2026-02-20 13:31:52 +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_backup_cache_terminal_test.go fix: ship alerting hotfixes and prepare 5.1.4 2026-02-07 22:05:55 +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 fix(temperature): parse string sensor values without zeroing readings (#1224) 2026-02-09 14:00:09 +00:00
temperature_test.go fix(temperature): parse string sensor values without zeroing readings (#1224) 2026-02-09 14:00:09 +00:00