v0.16.136
Changes
filters/diag: add histogram latency filters (#2432)
Add filters that add latency based on the configured histogram.
See https://stats.stackexchange.com/questions/464006/generating-samples-from-a-histogram
Example:
$ bin/skipper -inline-routes='* -> histogramRequestLatency("5ms", 20, "10ms", 30, "15ms", 50, "20ms") -> status(204) -> <shunt>' -access-log-disabled
Latency distribution:
~$ echo "GET http://localhost:9090" | vegeta attack -rate=100/s -duration=20s | vegeta report -type hist[0ms,6ms,11ms,16ms,21ms,26ms]
Bucket # % Histogram
[0s, 6ms] 8 0.40%
[6ms, 11ms] 372 18.60% #############
[11ms, 16ms] 581 29.05% #####################
[16ms, 21ms] 964 48.20% ####################################
[21ms, 26ms] 75 3.75% ##
[26ms, +Inf] 0 0.00%
(note that buckets are shifted by 1ms to account for intrinsic latency)
Docker image
Docker image is available in Zalando's Open Source registry:
docker run -it registry.opensource.zalan.do/teapot/skipper:v0.16.136 skipper --help
# arm64
docker run -it registry.opensource.zalan.do/teapot/skipper-arm64:v0.16.136 skipper --help
# arm v7 32bit
docker run -it registry.opensource.zalan.do/teapot/skipper-armv7:v0.16.136 skipper --help