cactus / go-camo

A secure image proxy server
MIT License
254 stars 48 forks source link

Add Prometheus metrics endpoint #34

Closed SuperQ closed 5 years ago

SuperQ commented 5 years ago

Description

Besides the default Prometheus process metrics, these histograms are included:

# HELP camo_response_duration_seconds A histogram of latencies for requests.
# TYPE camo_response_duration_seconds histogram
camo_response_duration_seconds_bucket{le="0.005"} 4
camo_response_duration_seconds_bucket{le="0.01"} 4
camo_response_duration_seconds_bucket{le="0.025"} 4
camo_response_duration_seconds_bucket{le="0.05"} 4
camo_response_duration_seconds_bucket{le="0.1"} 4
camo_response_duration_seconds_bucket{le="0.25"} 4
camo_response_duration_seconds_bucket{le="0.5"} 4
camo_response_duration_seconds_bucket{le="1"} 4
camo_response_duration_seconds_bucket{le="2.5"} 4
camo_response_duration_seconds_bucket{le="5"} 4
camo_response_duration_seconds_bucket{le="10"} 4
camo_response_duration_seconds_bucket{le="+Inf"} 4
camo_response_duration_seconds_sum 0.000256844
camo_response_duration_seconds_count 4
# HELP camo_response_size_bytes A histogram of response sizes for requests.
# TYPE camo_response_size_bytes histogram
camo_response_size_bytes_bucket{le="1024"} 4
camo_response_size_bytes_bucket{le="2048"} 4
camo_response_size_bytes_bucket{le="4096"} 4
camo_response_size_bytes_bucket{le="8192"} 4
camo_response_size_bytes_bucket{le="16384"} 4
camo_response_size_bytes_bucket{le="32768"} 4
camo_response_size_bytes_bucket{le="65536"} 4
camo_response_size_bytes_bucket{le="131072"} 4
camo_response_size_bytes_bucket{le="262144"} 4
camo_response_size_bytes_bucket{le="524288"} 4
camo_response_size_bytes_bucket{le="+Inf"} 4
camo_response_size_bytes_sum 56
camo_response_size_bytes_count 4

There's a lot more we can do with this, but I figured a simple example was a good start.

Checklist

Fixes: https://github.com/cactus/go-camo/issues/33

SuperQ commented 5 years ago

Any additional comments? Requests for changes?

dropwhile commented 5 years ago

@SuperQ thanks for the PR, by the way! Sorry it took a while -- had some work come up and then took a couple of days off. 👍

SuperQ commented 5 years ago

No worries, if you have additional ideas on what would be useful metrics, I could help out with things.