I have already pointed you to /proc/pressure/memory. Prometheus node_exporter tracks it as node_pressure_memory_waiting_seconds_total and node_pressure_memory_stalled_seconds_total. You'll see them spiking when you experience stalling.
You can also track variables from /proc/vmstat exported as node_vmstat_allocstall_(normal|dma32|movable), node_vmstat_pgscan_direct, node_vmstat_pgsteal_direct - you'll see them spike when the system enters direct reclaim.
Install and configure systemd-oomd and track its log - it will activate on memory pressure.
To track code page eviction/re-faults specifically, you'll need to write some eBPF code, there are no direct measurements for this available.
You can also track variables from /proc/vmstat exported as node_vmstat_allocstall_(normal|dma32|movable), node_vmstat_pgscan_direct, node_vmstat_pgsteal_direct - you'll see them spike when the system enters direct reclaim.
Install and configure systemd-oomd and track its log - it will activate on memory pressure.
To track code page eviction/re-faults specifically, you'll need to write some eBPF code, there are no direct measurements for this available.