Skip to content

Commit

Permalink
Fix promhttp_metric_handler_errors_total metric not being disabled by…
Browse files Browse the repository at this point in the history
… flag

Signed-off-by: ToMe25 <ToMe25@gmx.de>
  • Loading branch information
ToMe25 committed Sep 22, 2023
1 parent e8c5110 commit db3a437
Showing 1 changed file with 21 additions and 9 deletions.
30 changes: 21 additions & 9 deletions node_exporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,22 +123,34 @@ func (h *handler) innerHandler(filters ...string) (http.Handler, error) {
if err := r.Register(nc); err != nil {
return nil, fmt.Errorf("couldn't register node collector: %s", err)
}
handler := promhttp.HandlerFor(
prometheus.Gatherers{h.exporterMetricsRegistry, r},
promhttp.HandlerOpts{
ErrorLog: stdlog.New(log.NewStdlibAdapter(level.Error(h.logger)), "", 0),
ErrorHandling: promhttp.ContinueOnError,
MaxRequestsInFlight: h.maxRequests,
Registry: h.exporterMetricsRegistry,
},
)

var handler http.Handler
if h.includeExporterMetrics {
handler = promhttp.HandlerFor(
prometheus.Gatherers{h.exporterMetricsRegistry, r},
promhttp.HandlerOpts{
ErrorLog: stdlog.New(log.NewStdlibAdapter(level.Error(h.logger)), "", 0),
ErrorHandling: promhttp.ContinueOnError,
MaxRequestsInFlight: h.maxRequests,
Registry: h.exporterMetricsRegistry,
},
)
// Note that we have to use h.exporterMetricsRegistry here to
// use the same promhttp metrics for all expositions.
handler = promhttp.InstrumentMetricHandler(
h.exporterMetricsRegistry, handler,
)
} else {
handler = promhttp.HandlerFor(
r,
promhttp.HandlerOpts{
ErrorLog: stdlog.New(log.NewStdlibAdapter(level.Error(h.logger)), "", 0),
ErrorHandling: promhttp.ContinueOnError,
MaxRequestsInFlight: h.maxRequests,
},
)
}

return handler, nil
}

Expand Down

0 comments on commit db3a437

Please sign in to comment.