CSCfi / CSCfi/rems

Monitoring REMS instance state (metrics)

Open
#1,115 2 comments 0 reactions 0 assignees View on GitHub
Feature Technical Debt
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.