diff options
Diffstat (limited to 'middleware/metrics/metrics.go')
-rw-r--r-- | middleware/metrics/metrics.go | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/middleware/metrics/metrics.go b/middleware/metrics/metrics.go index a9d09c202..b7473a00e 100644 --- a/middleware/metrics/metrics.go +++ b/middleware/metrics/metrics.go @@ -34,16 +34,19 @@ type Metrics struct { ZoneNames []string } -func (m *Metrics) Startup() error { +// OnStartup sets up the metrics on startup. +func (m *Metrics) OnStartup() error { m.Once.Do(func() { define() - if ln, err := net.Listen("tcp", m.Addr); err != nil { + ln, err := net.Listen("tcp", m.Addr) + if err != nil { log.Printf("[ERROR] Failed to start metrics handler: %s", err) return - } else { - m.ln = ln } + + m.ln = ln + m.mux = http.NewServeMux() prometheus.MustRegister(requestCount) @@ -66,7 +69,8 @@ func (m *Metrics) Startup() error { return nil } -func (m *Metrics) Shutdown() error { +// OnShutdown tears down the metrics on shutdown. +func (m *Metrics) OnShutdown() error { if m.ln != nil { return m.ln.Close() } |