Zoekt: Collect mmap metrics from both indexer and webserver
## Summary Collect mmap metrics (current count + max limit) from both the indexer and webserver processes and include them in their respective health reports. **Repository**: https://gitlab.com/gitlab-org/gitlab-zoekt-indexer ## Details - The **webserver** already collects `proc_metrics_memory_map_current_count` and `proc_metrics_memory_map_max_limit` as Prometheus gauges (Linux only, reads from `/proc` via `procfs`). See `internal/mode/webserver/webserver_linux.go`. - Add the **same collection logic to the indexer** process - Both processes include mmap current/max in their `process_health` payloads: - Indexer: directly in the heartbeat to Rails - Webserver: via the localhost relay to the indexer (see Issue 1) ## How It Will Be Used On the Rails side: - `mmap_current / mmap_max >= 0.95` (95%) → node is marked **unhealthy**, removed from search routing (crash is imminent) - `mmap_current / mmap_max >= 0.80` (80%) → **warning** in `gitlab:zoekt:info` and `gitlab:zoekt:health` rake tasks (operators should investigate, node stays in rotation) The existing Prometheus metrics continue to be available via `/metrics` for Grafana dashboards. ## Notes - On non-Linux platforms, mmap metrics are no-ops (existing pattern in `webserver_unsupported.go`) - The utilization ratio is computed on the Rails side, not in the indexer
issue