mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-11-09 00:22:38 -06:00
The active users metric stored the in-process map itself in the memory keyvalue backend, so the Prometheus gauge iterated the same map that request handlers were writing to under a different lock, causing "concurrent map iteration and map write". Store one expiring keyvalue entry per user/link share instead; the gauge is then just a key count. This also makes the metric correct across multiple instances on redis.