Skip to content

Latest commit

 

History

History
 
 

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
}