Skip to content

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/monitoring for gameplay and infrastructure signals.
  • Keep Velocity WebServer metrics 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 โ€‹

  1. Add metrics emitters in server modules using existing monitoring feature hooks.
  2. Update Collector (see app/collector/) to ingest and transform metrics for dashboards.
  3. Wire health endpoints into dev-compose.yml and production Docker stacks.
  4. 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.yml and 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 /health endpoints 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/monitoring
  • velocity/src/main/java/net/uebliche/velocity/WebServer.java
  • Collector sources under app/collector/src/main/java/net/uebliche/collector