imgproxy can collect metrics for Prometheus. To use this feature, do the following:
IMGPROXY_PROMETHEUS_BIND
environment variable to the address and port that will be listened to by the Prometheus server. Note that you can't bind the main server and Prometheus to the same port.IMGPROXY_PROMETHEUS_NAMESPACE
to prepend prefix to the names of metrics, i.e. with IMGPROXY_PROMETHEUS_NAMESPACE=imgproxy
names will appear like imgproxy_requests_total
.imgproxy will collect the following metrics:
requests_total
: a counter with the total number of HTTP requests imgproxy has processederrors_total
: a counter of the occurred errors separated by type (timeout, downloading, processing)request_duration_seconds
: a histogram of the request latency (in seconds)request_span_duration_seconds
: a histogram of the request latency (in seconds) separated by span (queue, downloading, processing)requests_in_progress
: the number of requests currently in progressimages_in_progress
: the number of images currently in progressbuffer_size_bytes
: a histogram of the download buffers sizes (in bytes)buffer_default_size_bytes
: calibrated default buffer size (in bytes)buffer_max_size_bytes
: calibrated maximum buffer size (in bytes)vips_memory_bytes
: libvips memory usagevips_max_memory_bytes
: libvips maximum memory usagevips_allocs
: the number of active vips allocationsThe following metrics are deprecated and can be removed in future versions. Use request_span_duration_seconds
instead.
download_duration_seconds
: a histogram of the source image downloading latency (in seconds)processing_duration_seconds
: a histogram of the image processing latency (in seconds)