Add internal metric IDs, add nameserver request metric

This commit is contained in:
Daniel
2023-09-05 14:44:40 +02:00
parent 40798df6e4
commit 58e467ac82
5 changed files with 38 additions and 5 deletions

View File

@@ -6,7 +6,10 @@ import (
"github.com/safing/portbase/metrics"
)
var requestsHistogram *metrics.Histogram
var (
requestsHistogram *metrics.Histogram
totalHandledRequests *metrics.Counter
)
func registerMetrics() (err error) {
requestsHistogram, err = metrics.NewHistogram(
@@ -15,7 +18,25 @@ func registerMetrics() (err error) {
&metrics.Options{
Permission: api.PermitUser,
ExpertiseLevel: config.ExpertiseLevelExpert,
})
},
)
if err != nil {
return err
}
return err
totalHandledRequests, err = metrics.NewCounter(
"nameserver/request/total",
nil,
&metrics.Options{
InternalID: "handled_dns_requests",
Permission: api.PermitUser,
ExpertiseLevel: config.ExpertiseLevelExpert,
Persist: true,
},
)
if err != nil {
return err
}
return nil
}

View File

@@ -84,6 +84,9 @@ func handleRequest(ctx context.Context, w dns.ResponseWriter, request *dns.Msg)
defer tracer.Submit()
tracer.Tracef("nameserver: handling new request for %s from %s:%d", q.ID(), remoteAddr.IP, remoteAddr.Port)
// Count request.
totalHandledRequests.Inc()
// Setup quick reply function.
reply := func(responder nsutil.Responder, rrProviders ...nsutil.RRProvider) error {
err := sendResponse(ctx, w, request, responder, rrProviders...)