# 182 Java Observability Metrics Micrometer

> Use when you need to implement or improve Java metrics observability with Micrometer — including meter design, naming/tag conventions, cardinality control, timers/counters/gauges/distribution summaries, percentiles/histograms, Actuator/Prometheus integration, and metrics validation through tests. This should trigger for requests such as Improve metrics; Apply Micrometer; Add metrics observability…

- **Type:** Skill
- **Install:** `agentstack add skill-jabrena-cursor-rules-java-182-java-observability-metrics-micrometer`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [jabrena](https://agentstack.voostack.com/s/jabrena)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [jabrena](https://github.com/jabrena)
- **Source:** https://github.com/jabrena/cursor-rules-java/tree/main/skills/182-java-observability-metrics-micrometer
- **Website:** https://jabrena.github.io/cursor-rules-java/

## Install

```sh
agentstack add skill-jabrena-cursor-rules-java-182-java-observability-metrics-micrometer
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Java Metrics Observability with Micrometer

Implement effective Java metrics instrumentation with Micrometer by defining meaningful service-level metrics, controlling cardinality, selecting the right meter type, and exposing production-ready telemetry for dashboards and alerting.

**What is covered in this Skill?**

- Metrics-first observability with Micrometer in Java applications
- Meter selection: Counter, Timer, DistributionSummary, Gauge, LongTaskTimer
- Naming and tagging conventions with low-cardinality dimensions
- Cardinality and meter lifecycle safeguards to prevent time-series explosion
- Histogram/percentile strategy and SLO-oriented metrics design
- Integration guidance for Actuator + Prometheus/OpenTelemetry pipelines
- Testing and verification of metrics registration and values

**Scope:** Application-level metrics design and instrumentation quality for Java services, with emphasis on operationally useful and cost-efficient telemetry.

## Constraints

Metrics instrumentation must be operationally safe, low-cardinality, and validated. Poor tag design or excessive meter creation can degrade observability systems and increase costs.

- **LOW CARDINALITY FIRST**: Never tag metrics with unbounded values (userId, UUID, raw URL, full exception message)
- **RIGHT METER TYPE**: Use Counter for monotonically increasing events, Timer for latency, Gauge for point-in-time state, and DistributionSummary for sampled values
- **BEFORE APPLYING**: Read the reference for good/bad instrumentation examples and anti-patterns
- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after changes

## When to use this skill

- Improve metrics
- Apply Micrometer
- Add metrics observability
- Refactor Micrometer instrumentation

## Workflow

1. **Define measurement goals and meter contract**

Identify key service indicators (throughput, latency, error ratio, saturation) and map each to stable metric names, units, and low-cardinality tags.

2. **Select meter types and instrument code paths**

Apply Counter/Timer/Gauge/DistributionSummary/LongTaskTimer where appropriate, ensuring consistent naming conventions and reusable tags.

3. **Harden instrumentation for production**

Control cardinality, avoid dynamic meter churn, configure histogram/percentile strategy only where needed, and align export settings with the telemetry backend.

4. **Validate and operationalize metrics**

Verify metrics in tests and runtime endpoints, confirm expected labels/units, and ensure dashboards/alerts can consume the emitted series.

## Reference

For detailed guidance, examples, and constraints, see [references/182-java-observability-metrics-micrometer.md](references/182-java-observability-metrics-micrometer.md).

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [jabrena](https://github.com/jabrena)
- **Source:** [jabrena/cursor-rules-java](https://github.com/jabrena/cursor-rules-java)
- **License:** Apache-2.0
- **Homepage:** https://jabrena.github.io/cursor-rules-java/

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-jabrena-cursor-rules-java-182-java-observability-metrics-micrometer
- Seller: https://agentstack.voostack.com/s/jabrena
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
