12345678910111213141516171819202122232425262728293031323334353637383940 |
- package stats
- import (
- "sync/atomic"
- "github.com/imgproxy/imgproxy/v3/config"
- )
- var (
- requestsInProgress int64
- imagesInProgress int64
- )
- func RequestsInProgress() float64 {
- return float64(atomic.LoadInt64(&requestsInProgress))
- }
- func IncRequestsInProgress() {
- atomic.AddInt64(&requestsInProgress, 1)
- }
- func DecRequestsInProgress() {
- atomic.AddInt64(&requestsInProgress, -1)
- }
- func ImagesInProgress() float64 {
- return float64(atomic.LoadInt64(&imagesInProgress))
- }
- func IncImagesInProgress() {
- atomic.AddInt64(&imagesInProgress, 1)
- }
- func DecImagesInProgress() {
- atomic.AddInt64(&imagesInProgress, -1)
- }
- func WorkersUtilization() float64 {
- return RequestsInProgress() / float64(config.Workers) * 100.0
- }
|