feat(lib): Add anubis_proxied_requests_total metric (#570)

Adds a new counter metric which counts the number of requests proxied to
the upstream target, labeled with the host name of the request.
This commit is contained in:
Kian Kasad 2025-05-30 09:21:04 -07:00 committed by GitHub
parent c8635357dc
commit 6c4e739b0b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 0 deletions

View file

@ -37,6 +37,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed CEL expression matching validator to now properly error out when it receives empty expressions - Fixed CEL expression matching validator to now properly error out when it receives empty expressions
- Added OpenRC init.d script. - Added OpenRC init.d script.
- Added `--version` flag. - Added `--version` flag.
- Added `anubis_proxied_requests_total` metric to count proxied requests.
## v1.18.0: Varis zos Galvus ## v1.18.0: Varis zos Galvus

View file

@ -56,6 +56,11 @@ var (
Help: "The time taken for a browser to generate a response (milliseconds)", Help: "The time taken for a browser to generate a response (milliseconds)",
Buckets: prometheus.ExponentialBucketsRange(1, math.Pow(2, 18), 19), Buckets: prometheus.ExponentialBucketsRange(1, math.Pow(2, 18), 19),
}) })
requestsProxied = promauto.NewCounterVec(prometheus.CounterOpts{
Name: "anubis_proxied_requests_total",
Help: "Number of requests proxied through Anubis to upstream targets",
}, []string{"host"})
) )
type Server struct { type Server struct {

View file

@ -147,6 +147,7 @@ func (s *Server) ServeHTTPNext(w http.ResponseWriter, r *http.Request) {
web.Base("You are not a bot!", web.StaticHappy()), web.Base("You are not a bot!", web.StaticHappy()),
).ServeHTTP(w, r) ).ServeHTTP(w, r)
} else { } else {
requestsProxied.WithLabelValues(r.Host).Inc()
s.next.ServeHTTP(w, r) s.next.ServeHTTP(w, r)
} }
} }