From b8c7fd8c34ccd4c511b2f22d56327a26c225f71e Mon Sep 17 00:00:00 2001 From: "Matt T. Proud" Date: Thu, 27 Jun 2013 18:32:05 +0200 Subject: [PATCH] Include Accept header for telemetry request. This pull request introduces a HTTP Accept header to indicate a preference for Protocol Buffer-encoded messages. --- retrieval/target.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/retrieval/target.go b/retrieval/target.go index 15187c60e..92815b35c 100644 --- a/retrieval/target.go +++ b/retrieval/target.go @@ -14,7 +14,6 @@ package retrieval import ( "fmt" - "log" "net/http" "os" @@ -194,6 +193,8 @@ func (t *target) Scrape(earliest time.Time, results chan<- *extraction.Result) ( return err } +const acceptHeader = `application/vnd.google.protobuf;proto=io.prometheus.client.MetricFamily;encoding=delimited;q=0.7,application/json;schema=prometheus/telemetry;version=0.0.2;q=0.2,*/*;q=0.1` + func (t *target) scrape(timestamp time.Time, results chan<- *extraction.Result) (err error) { defer func(start time.Time) { ms := float64(time.Since(start)) / float64(time.Millisecond) @@ -206,7 +207,13 @@ func (t *target) scrape(timestamp time.Time, results chan<- *extraction.Result) targetOperations.Increment(labels) }(time.Now()) - resp, err := t.client.Get(t.Address()) + req, err := http.NewRequest("GET", t.Address(), nil) + if err != nil { + panic(err) + } + req.Header.Add("Accept", acceptHeader) + + resp, err := t.client.Do(req) if err != nil { return err }