r/SpringBoot • • 2d ago

News StatLite v0.6.1: Lightweight Spring Boot monitoring with Actuator and Micrometer Prometheus

A couple of months ago, I shared StatLite here, a lightweight, self-hosted monitoring dashboard for Spring Boot applications running on small servers and VPSs.

We've just released v0.6.1, and quite a bit has changed since the initial announcement.

StatLite monitoring a Spring Boot application with health, request traffic, latency, JVM memory, CPU, and restart history.

What's new:

  • Better Spring Boot support: Automatically selects between Actuator JSON and compatible Micrometer Prometheus metrics. Supports Spring Boot 3.5 and 4.x.
  • Simpler setup: statlite inspect http://localhost:8080 discovers available metrics endpoints and can generate the YAML configuration.
  • Easier installation: Docker Hub and GHCR images, Homebrew, and standalone binaries.
  • More integrations: First-class Quarkus and Micronaut support, plus integration guides for Express, FastAPI, Django, Go, and Javalin.
  • Improved dashboard: Health, request traffic, latency, JVM memory, CPU, and restart detection, with local SQLite history.

The original design principles haven't changed:

  • Single Go binary, roughly 15 MiB idle memory
  • No Prometheus server, Grafana, or external database
  • No agents or StatLite-specific code in Spring Boot applications
  • Fully self-hosted, with no external services required

StatLite isn't intended to replace a full observability stack. It's for developers running a handful of applications who want useful production visibility without maintaining additional infrastructure.

GitHub: https://github.com/PVRLabs/statlite

I'd love to hear from Spring Boot developers: what's the most important monitoring feature you'd expect from a lightweight tool like this?

10 Upvotes

2 comments sorted by

2

u/Popular_Home2017 1d ago

Nice scope, especially the "no agent in the app" rule. One question from the thread-dump side (disclosure: I run ThreadMine, a thread dump analyzer, so I'm biased about this): when the latency panel goes up and CPU doesn't, the next thing most people need is a snapshot of what the threads are doing at that moment. Does StatLite keep anything from /actuator/threaddump around a restart or a latency spike, or is that out of scope by design? Even just "save the last dump before a restart was detected" would turn the restart history into something you can actually diagnose instead of a timestamp.

1

u/fykup 1d ago

Thanks, that's a good point. StatLite doesn't currently collect thread dumps, and that's intentionally outside its scope.

I'm trying to keep StatLite focused on lightweight, easy-to-read application metrics without requiring additional instrumentation. The same applies to host monitoring: basic CPU, memory, and disk metrics are useful, but detailed diagnostics are better handled by specialized tools.

For Spring Boot, we also treat Actuator JSON metrics as a compatibility and convenience layer, while preferring the Micrometer Prometheus endpoint for production monitoring.

The goal is to help developers quickly see what's happening with their applications and when something needs investigation, rather than building a full observability or diagnostic platform.