finds.dev← search

// the find

micrometer-metrics/micrometer

★ 4,850 · Java · Apache-2.0 · updated Jun 2026

An application observability facade for the most popular observability tools. Think SLF4J, but for observability.

Micrometer is a metrics instrumentation library for Java that acts as an abstraction layer over backends like Prometheus, Datadog, InfluxDB, OTLP, and a dozen others. You instrument once with its API and swap the backend without touching your application code. It's the default metrics layer in Spring Boot and has been for years.

The vendor-neutral abstraction is genuinely well-designed — dimensional tags, consistent timer/counter/gauge semantics, and a MeterFilter system that lets you rename, drop, or transform metrics at the registry level without touching instrumentation code. The OTLP registry is a first-class citizen now, not an afterthought, which matters as OpenTelemetry becomes the standard. JMH benchmarks are included and clearly taken seriously — there are dedicated benchmarks for tag merging, histogram operations, and concurrent registration, which tells you the maintainers care about hot-path overhead. The Observation API (added in 1.10) unifies metrics, tracing, and logging under one instrumentation call, so you stop writing three separate hooks for the same operation.

The Observation API is the right idea but the abstraction is leaky — `ObservationHandler` requires you to understand the full lifecycle (start/stop/error/scope), and getting distributed tracing context propagation right still requires reaching through to the underlying tracer. Many of the older registry implementations (AppOptics, Ganglia, Humio, Kairos) are clearly in maintenance mode or abandoned by their vendors; they're still shipped but you'd be foolish to build on them. High-cardinality tag detection is a bolted-on feature, not structural — it warns you after the fact rather than preventing the cardinality explosion at the API level. Spring Boot coupling is real: the docs and defaults assume Spring, and using Micrometer standalone in a non-Spring app requires more wiring than it should.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →