Skip to content

Latest commit

 

History

History
 
 

spring-boot-sample-metrics-redis

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Spring Boot sample with Redis export for metrics.

Start redis, e.g. with [Docker Compose]()

$ docker-compose up

Run the app and ping the home page (http://localhost:8080) a few times. Go and look at the result in Redis, e.g.

$ redis-cli
127.0.0.1:6379> keys *
1) "keys.spring.metrics"
2) "spring.metrics.counter.status.200.root"
3) "spring.metrics.gauge.response.root"
127.0.0.1:6379> zrange keys.spring.metrics 0 0 WITHSCORES
1) "spring.metrics.counter.status.200.root"
2) "4"

There is also an AggregateMetricReader with public metrics in the application context, and you can see the result in the "/metrics" (metrics with names in "aggregate.*"). The way the Redis repository was set up (with a random key in the metric names) makes the aggregates work across restarts of the same application, or across a scaled up application running in multiple processes. E.g.

$ curl localhost:8080/metrics
{
	...
	"aggregate.application.counter.status.200.metrics": 12,
	"aggregate.application.counter.status.200.root": 29,
	"aggregate.application.gauge.response.metrics": 43,
	"aggregate.application.gauge.response.root": 5,
	"counter.status.200.root": 2,
	"counter.status.200.metrics": 1,
	"gauge.response.metrics": 43,
	"gauge.response.root": 5
}