Feature Plan: Monitoring & Metrics โ
Summary โ
- Owner: Freddi
- Status: Delivery
- Target Release: Rolling
- Backlog Entry: Projects/Uebliche/agendas.md โธ ๐ฆ Backlog โธ Monitoring coverage
Goals โ
- Capture operational metrics across the Minestom server, Velocity proxy, and supporting services.
- Feed MongoDB/InfluxDB time-series data into dashboards and alerting.
- Provide health endpoints (
/livez,/readyz,/health) for orchestrators and dev tooling.
Scope โ
- Maintain instrumentation within
features/monitoringfor gameplay and infrastructure signals. - Keep Velocity
WebServermetrics up to date and wired into Docker health checks. - Coordinate with the Collector service for aggregation and long-term storage.
- Ensure auth, resource pack, and editor features expose key counters.
- Exclude non-game services until they join the shared stack.
Implementation Outline โ
- Add metrics emitters in server modules using existing monitoring feature hooks.
- Update Collector (see
app/collector/) to ingest and transform metrics for dashboards. - Wire health endpoints into
dev-compose.ymland production Docker stacks. - Document metrics schema changes here and in the vault mirror for quick reference.
Dependencies โ
- MongoDB and InfluxDB instances, accessible via secrets.
- Collector service deployment and ingestion pipelines.
- Docker health check configuration in
dev-compose.ymland stack manifests.
Risks & Mitigations โ
- Metric drift: version schemas and add integration tests in Collector.
- High cardinality: enforce naming conventions; aggregate before storage when possible.
- Missing alerts: ensure dashboard coverage and on-call procedures exist.
Validation Plan โ
- Run Collector locally against dev stack and verify sample metrics ingestion.
- Automated tests for key exporters once metric helpers are implemented.
- Monitor
/healthendpoints during load tests to confirm stability.
Notes & Decisions โ
- Track major monitoring strategy decisions under agenda
โ๏ธ Decisions. - Mirror this document to
/Projects/Uebliche/docs/gameserver/features/monitoring/plan.md.
References โ
services/gameserver/src/main/java/net/uebliche/features/monitoringvelocity/src/main/java/net/uebliche/velocity/WebServer.java- Collector sources under
app/collector/src/main/java/net/uebliche/collector