mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-28 06:59:40 -08:00
Merge pull request #1090 from prometheus/compress
Apply HTTP handler compression everywhere
This commit is contained in:
commit
704d72334c
|
@ -16,6 +16,7 @@ import (
|
||||||
"github.com/prometheus/prometheus/promql"
|
"github.com/prometheus/prometheus/promql"
|
||||||
"github.com/prometheus/prometheus/storage/local"
|
"github.com/prometheus/prometheus/storage/local"
|
||||||
"github.com/prometheus/prometheus/storage/metric"
|
"github.com/prometheus/prometheus/storage/metric"
|
||||||
|
"github.com/prometheus/prometheus/util/httputil"
|
||||||
"github.com/prometheus/prometheus/util/route"
|
"github.com/prometheus/prometheus/util/route"
|
||||||
"github.com/prometheus/prometheus/util/strutil"
|
"github.com/prometheus/prometheus/util/strutil"
|
||||||
)
|
)
|
||||||
|
@ -79,7 +80,7 @@ func (api *API) Register(r *route.Router) {
|
||||||
}
|
}
|
||||||
|
|
||||||
instr := func(name string, f apiFunc) http.HandlerFunc {
|
instr := func(name string, f apiFunc) http.HandlerFunc {
|
||||||
return prometheus.InstrumentHandlerFunc(name, func(w http.ResponseWriter, r *http.Request) {
|
hf := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
setCORS(w)
|
setCORS(w)
|
||||||
if data, err := f(r); err != nil {
|
if data, err := f(r); err != nil {
|
||||||
respondError(w, err, data)
|
respondError(w, err, data)
|
||||||
|
@ -87,6 +88,7 @@ func (api *API) Register(r *route.Router) {
|
||||||
respond(w, data)
|
respond(w, data)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
return prometheus.InstrumentHandler(name, httputil.CompressionHandler{hf})
|
||||||
}
|
}
|
||||||
|
|
||||||
r.Get("/query", instr("query", api.query))
|
r.Get("/query", instr("query", api.query))
|
||||||
|
|
|
@ -41,6 +41,7 @@ import (
|
||||||
"github.com/prometheus/prometheus/rules"
|
"github.com/prometheus/prometheus/rules"
|
||||||
"github.com/prometheus/prometheus/storage/local"
|
"github.com/prometheus/prometheus/storage/local"
|
||||||
"github.com/prometheus/prometheus/template"
|
"github.com/prometheus/prometheus/template"
|
||||||
|
"github.com/prometheus/prometheus/util/httputil"
|
||||||
"github.com/prometheus/prometheus/util/route"
|
"github.com/prometheus/prometheus/util/route"
|
||||||
"github.com/prometheus/prometheus/version"
|
"github.com/prometheus/prometheus/version"
|
||||||
"github.com/prometheus/prometheus/web/api/legacy"
|
"github.com/prometheus/prometheus/web/api/legacy"
|
||||||
|
@ -155,8 +156,12 @@ func New(st local.Storage, qe *promql.Engine, rm *rules.Manager, status *Prometh
|
||||||
router = router.WithPrefix(o.ExternalURL.Path)
|
router = router.WithPrefix(o.ExternalURL.Path)
|
||||||
}
|
}
|
||||||
|
|
||||||
instrf := prometheus.InstrumentHandlerFunc
|
instrh := func(name string, h http.Handler) http.HandlerFunc {
|
||||||
instrh := prometheus.InstrumentHandler
|
return prometheus.InstrumentHandler(name, httputil.CompressionHandler{h})
|
||||||
|
}
|
||||||
|
instrf := func(name string, f http.HandlerFunc) http.HandlerFunc {
|
||||||
|
return instrh(name, f)
|
||||||
|
}
|
||||||
|
|
||||||
router.Get("/", func(w http.ResponseWriter, r *http.Request) {
|
router.Get("/", func(w http.ResponseWriter, r *http.Request) {
|
||||||
http.Redirect(w, r, "/graph", http.StatusFound)
|
http.Redirect(w, r, "/graph", http.StatusFound)
|
||||||
|
|
Loading…
Reference in a new issue