DEV.co
Open-Source Observability · micrometer-metrics

micrometer

Micrometer is a vendor-neutral metrics facade for Java applications, similar to SLF4J but for observability. It allows you to instrument code once and route metrics to multiple monitoring backends (Prometheus, Datadog, New Relic, etc.) without rewriting instrumentation logic.

Source: GitHub — github.com/micrometer-metrics/micrometer
4.9k
GitHub stars
1.1k
Forks
Java
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorymicrometer-metrics/micrometer
Ownermicrometer-metrics
Primary languageJava
LicenseApache-2.0 — OSI-approved
Stars4.9k
Forks1.1k
Open issues322
Latest releasev1.17.0 (2026-06-08)
Last updated2026-07-07
Sourcehttps://github.com/micrometer-metrics/micrometer

What micrometer is

Micrometer provides a unified API for collecting dimensional metrics (counters, gauges, timers, distributions) in Java 8+ applications. It abstracts backend-specific implementations, enabling plug-and-play integration with popular observability platforms and cloud-native monitoring stacks.

Quickstart

Get the micrometer source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/micrometer-metrics/micrometer.gitcd micrometer# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Polyglot monitoring in microservices

Organizations running mixed observability stacks (Prometheus in dev, Datadog in prod) can instrument once and switch backends at runtime without code changes.

Spring Boot and cloud-native applications

Micrometer is the standard metrics library in Spring Boot; native integration minimizes setup friction for microservices, Kubernetes workloads, and containerized deployments.

SaaS platforms requiring multi-tenant observability

Centralized metrics collection with flexible routing to customer-specific monitoring backends (self-hosted or SaaS) via configuration, not code.

Implementation considerations

  • Instrument early in the development cycle; refactoring metrics collection after the fact is costly. Start with core metrics (request latency, error rates) before expanding.
  • Understand cardinality limits of your target backend; high-cardinality tag combinations (e.g., per-user IDs) can spike costs or degrade performance.
  • Java 8+ is required; earlier versions are unsupported. Some modules (micrometer-java11, micrometer-jetty11) have higher JVM version floors.
  • Choose your backend before production deploy; while switching is possible, metric schema alignment and historical data migration require care.
  • Configure sampling and filtering in early stages; attempting to retrospectively reduce cardinality or volume is harder than proactive guards.

When to avoid it — and what to weigh

  • Metric-heavy, ultra-low-latency systems — Facade abstraction introduces minor overhead; if sub-microsecond metric collection latency is critical, direct backend integration may be preferable.
  • Non-JVM languages or polyglot stacks — Micrometer is Java-only. Polyglot applications (Go, Python, Node.js) need separate instrumentation libraries; the unified abstraction benefit is lost.
  • Simple, single-backend monitoring — If locked into one observability platform (e.g., Prometheus-only), the abstraction layer adds complexity without benefit; direct library use is simpler.
  • Custom or proprietary metrics protocols — Micrometer's supported backends are fixed; if you need to emit to an unsupported or in-house system, custom registry implementations are required.

License & commercial use

Licensed under Apache License 2.0, a permissive open-source license compatible with commercial and proprietary use, derivative works, and distribution.

Apache 2.0 permits commercial use without restriction. No proprietary extensions or licensing fees are imposed by Micrometer itself. Sponsored by VMware/Tanzu, indicating institutional backing. However, verify compatibility with any observability backend's license or commercial terms separately.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Micrometer collects application metrics (latency, errors, JVM state) for observability. Sensitive data should not be embedded in metric tags or custom instrumentation; metrics are typically exposed on a separate, authenticated endpoint. Review backend security posture and network transport (TLS) separately. No known public vulnerabilities are disclosed in the data provided; consult CVE databases and security advisories independently.

Alternatives to consider

Prometheus client library (direct)

Lower overhead for Prometheus-only deployments; no facade abstraction. Requires rewrite if switching backends.

OpenTelemetry SDK (metrics + tracing)

Unified API for metrics and distributed tracing; more flexible than Micrometer but steeper learning curve and larger footprint.

Dropwizard Metrics (legacy)

Older alternative; less active development. Micrometer is generally preferred for new projects, especially in Spring environments.

Software development agency

Build on micrometer with DEV.co software developers

Evaluate Micrometer for your Java microservices. Start with the samples repo, review Spring Boot integration, and assess cardinality requirements for your target backend.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

micrometer FAQ

Do I have to commit to a monitoring backend when using Micrometer?
No. Micrometer decouples instrumentation from backend. You add a registry dependency at deploy time (Prometheus, Datadog, etc.) without changing your code. You can swap backends by changing configuration.
Does Micrometer collect data automatically?
Partially. Micrometer ships with automatic JVM metrics (memory, GC, threads) and, in Spring Boot, HTTP and database metrics. Custom application metrics (business logic, domain-specific events) require explicit instrumentation.
What is the performance impact?
Minimal in typical applications. The facade is a thin abstraction; actual overhead depends on the backend registry and sampling configuration. Cardinality and tag explosion are more significant concerns than latency.
Is Micrometer required to use Spring Boot?
Not required, but integrated. Spring Boot's actuator endpoints and metrics collection use Micrometer by default. You can replace or supplement it with other libraries if needed, though it is the standard path.

Software developers & web developers for hire

Adopting micrometer is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source observability software in production.

Ready to unify your observability?

Evaluate Micrometer for your Java microservices. Start with the samples repo, review Spring Boot integration, and assess cardinality requirements for your target backend.