Monitoring REMS instance state (metrics)
- Dominant language
- Clojure
- Stars
- 66
- Forks
- 28
- Avg merge
- 7d 4h
- Merged PRs (30d)
- 2
Description
We could have a status or metrics endpoint that serves as JSON various metrics like
- number of applications
- number of events
- db connection stats
- outbox statistics (email, entitlement, event)
- status of all pollers, caches etc.
E.g.
```clj
{:database {:status :connected
:latest-event 4059}
:email-poller {:status :up-to-date
:latest-event 4059}
:entitlements-poller {:status :behind
:latest-event 3981
:pending-events 78}
:all-applications-cache {:status :disabled}
:dynamic-roles-cache {:status :up-to-date
:latest-event 4059}}
```
Then we could also remove INFO level logging from `rems.poller.common`.
Contributor guide
Research direction
Start by mapping the pollers, caches, database, and outbox components described in the issue, then inspect rems.poller.common and existing endpoint patterns. Done means a JSON status or metrics endpoint exposes the listed application, event, connection, outbox, poller, and cache information, with the requested INFO-level logging removal addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- api, backend, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100