Prometheus
imgproxy can collect metrics for Prometheus. To use this feature, do the following:
- Set the
IMGPROXY_PROMETHEUS_BINDenvironment 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. - (optional) Set the
IMGPROXY_PROMETHEUS_NAMESPACEto prepend prefix to the names of metrics, i.e. withIMGPROXY_PROMETHEUS_NAMESPACE=imgproxynames will appear likeimgproxy_requests_total. - Collect the metrics from any path on the specified binding.
imgproxy will collect the following metrics:
requests_total: a counter with the total number of HTTP requests imgproxy has processedstatus_codes_total: a counter of the response status codes separated by statuserrors_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 allocations- Some useful Go metrics like memstats and goroutines count
Deprecated metrics
The 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)