mirror of
https://github.com/prometheus/prometheus.git
synced 2025-02-21 03:16:00 -08:00
Merge pull request #7137 from roidelapluie/cherrypicks
Cherry-pick three bugfixes from master to release-2.17
This commit is contained in:
commit
9072cf7203
|
@ -169,6 +169,7 @@ func newParser(input string) *parser {
|
||||||
|
|
||||||
p.injecting = false
|
p.injecting = false
|
||||||
p.parseErrors = nil
|
p.parseErrors = nil
|
||||||
|
p.generatedParserResult = nil
|
||||||
|
|
||||||
// Clear lexer struct before reusing.
|
// Clear lexer struct before reusing.
|
||||||
p.lex = Lexer{
|
p.lex = Lexer{
|
||||||
|
|
|
@ -249,6 +249,9 @@ func (api *API) Register(r *route.Router) {
|
||||||
hf := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
hf := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
httputil.SetCORS(w, api.CORSOrigin, r)
|
httputil.SetCORS(w, api.CORSOrigin, r)
|
||||||
result := f(r)
|
result := f(r)
|
||||||
|
if result.finalizer != nil {
|
||||||
|
defer result.finalizer()
|
||||||
|
}
|
||||||
if result.err != nil {
|
if result.err != nil {
|
||||||
api.respondError(w, result.err, result.data)
|
api.respondError(w, result.err, result.data)
|
||||||
} else if result.data != nil {
|
} else if result.data != nil {
|
||||||
|
@ -256,9 +259,6 @@ func (api *API) Register(r *route.Router) {
|
||||||
} else {
|
} else {
|
||||||
w.WriteHeader(http.StatusNoContent)
|
w.WriteHeader(http.StatusNoContent)
|
||||||
}
|
}
|
||||||
if result.finalizer != nil {
|
|
||||||
result.finalizer()
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
return api.ready(httputil.CompressionHandler{
|
return api.ready(httputil.CompressionHandler{
|
||||||
Handler: hf,
|
Handler: hf,
|
||||||
|
|
|
@ -44,6 +44,10 @@ var (
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func registerFederationMetrics(r prometheus.Registerer) {
|
||||||
|
r.MustRegister(federationWarnings, federationErrors)
|
||||||
|
}
|
||||||
|
|
||||||
func (h *Handler) federation(w http.ResponseWriter, req *http.Request) {
|
func (h *Handler) federation(w http.ResponseWriter, req *http.Request) {
|
||||||
h.mtx.RLock()
|
h.mtx.RLock()
|
||||||
defer h.mtx.RUnlock()
|
defer h.mtx.RUnlock()
|
||||||
|
|
|
@ -139,6 +139,7 @@ func newMetrics(r prometheus.Registerer) *metrics {
|
||||||
|
|
||||||
if r != nil {
|
if r != nil {
|
||||||
r.MustRegister(m.requestCounter, m.requestDuration, m.responseSize)
|
r.MustRegister(m.requestCounter, m.requestDuration, m.responseSize)
|
||||||
|
registerFederationMetrics(r)
|
||||||
}
|
}
|
||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue