Fix registration of metrics if querylog is enabled

This commit is contained in:
Eugene Bujak 2018-09-05 21:21:46 +03:00
parent e62050fb7e
commit 3b11648e14
1 changed files with 4 additions and 4 deletions

View File

@ -132,7 +132,7 @@ func setupPlugin(c *caddy.Controller) (*Plugin, error) {
} }
case "querylog": case "querylog":
d.QueryLogEnabled = true d.QueryLogEnabled = true
once.Do(func() { onceQueryLog.Do(func() {
go startQueryLogServer() // TODO: how to handle errors? go startQueryLogServer() // TODO: how to handle errors?
}) })
} }
@ -184,7 +184,7 @@ func setup(c *caddy.Controller) error {
}) })
c.OnStartup(func() error { c.OnStartup(func() error {
once.Do(func() { onceMetrics.Do(func() {
m := dnsserver.GetConfig(c).Handler("prometheus") m := dnsserver.GetConfig(c).Handler("prometheus")
if m == nil { if m == nil {
return return
@ -498,11 +498,11 @@ func (d *Plugin) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
// log // log
if d.QueryLogEnabled { if d.QueryLogEnabled {
logRequest(rrw.Msg, result, time.Since(start), ip) logRequest(r, rrw.Msg, result, time.Since(start), ip)
} }
return rcode, err return rcode, err
} }
func (d *Plugin) Name() string { return "dnsfilter" } func (d *Plugin) Name() string { return "dnsfilter" }
var once sync.Once var onceMetrics, onceQueryLog sync.Once