With the completion of the features below - we go into 0.2.x versions:
- Instrumentation support
- Adding @Instrumented, to automatically instrument an @Application and its @Components.
- Consolidate/unify @Scheduled metrics with @Instrumented metrics
- Add core metric collection support
- Support for Prometheus format metrics for scraping/ingestion
- Request injection in controllers
- I.e. support injecting a
request: Requestinto controllers
- I.e. support injecting a
- Examples of aggregating Prometheus data with Grafana
- Documentation on Instrumentation capabilities
- Documentation on limiting /metrics access
With the completion of the features below - we go into 0.3.x versions:
- Basic messaging/queue support
- Global exception handling
- I.e. support for defining @ExceptionHandlers that handle all types of certain exceptions for centralization
- Production-hardening on the core internals
I.e. items not necessarily tied to a single version.
This is a weekend project, worked on by a single engineer, some coffee and Claude Code. Directing AI models to do proper engineering is non-trivial, as they're still deeply misaligned with good engineering practices.
Moving from the early stages (right now) to more stable, hardened stages will require refactoring, rewriting, etc. This section is dedicated to that move:
- Clean up the AI-induced sloppiness introduced in early iterations
- ... it works, but it's sloppy.
- Consolidate metadata usage, naming and checks within components
- Remove unnecessary/overly safe checks which don't actually add value
- Lots of if-else shennanigans - formalize method signatures, register dictionaries matching types to functions
- etc.