Spring Boot Actuator
September 10, 2021

M04 Q31 How do you create a custom metric with or without tags?

Spring Boot Actuator allows you to create custom metrics with usage of MeterRegistry from Micrometer Application Metrics Facade.

Micrometer used by Spring Boot Actuator allows you to register following Meter Primitives that will be exposed via /actuator/metrics endpoint:

  • Counter
  • Gauge
  • Timer
  • TimeGauge
  • DistributionSummary
  • LongTaskTimer
  • FunctionCounter
  • FunctionTimer

You can get more information on Meter Primitives from Micrometer Documentation: https://micrometer.io/docs

Registration of metric can be done via method inside MeterRegistry:

or via usage of builder:

Micrometer allows you to expose data with dimensions via tags:

or register simple meter without any dimensions:

Metrics are available at following endpoints:

curl -i -X GET localhost:8080/actuator/metrics/storage.object.count
curl -i -X GET localhost:8080/actuator/metrics/storage.db.object.avg.size
curl -i -X GET localhost:8080/actuator/metrics/storage.file.object.avg.size