July 2019
Intermediate to advanced
502 pages
14h
English
OK: Prometheus is installed and collecting standard metrics automatically, but we want to record our own custom metrics too. Prometheus works in pull mode. A service that want to provide metrics needs to expose a /metrics endpoint (it is possible to push metrics to Prometheus too, using its Push Gateway). Let's utilize the middleware concept of Go-kit and add a metrics middleware that's similar to the logging middleware. We will take advantage of the Go client library provided by Prometheus.
The client library provides several primitives like counter, summary, histogram, and gauge. For the purpose of understanding how to record metrics from a Go service, we will instrument each endpoint of the link ...