Spring Boot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Spring Buildmaster 334baaeffd Next development version 10 years ago
..
src Make use of new GetMapping and PostMapping annotations 10 years ago
README.adoc Polish updated metrics code 11 years ago
docker-compose.yml Add sample for Redis metric exporter 11 years ago
pom.xml Next development version 10 years ago

README.adoc

= Spring Boot sample with Redis export for metrics.

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

[source,indent=0]
----
$ 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.

[source,indent=0]
----
$ 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.

[source,indent=0]
----
$ 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
}
----