1
1
package push
2
2
3
3
import (
4
- "io"
5
4
"net/http"
6
5
7
6
"github.com/go-kit/log/level"
8
7
"github.com/prometheus/prometheus/model/labels"
9
8
"github.com/prometheus/prometheus/prompb"
9
+ "github.com/prometheus/prometheus/storage/remote"
10
10
"github.com/prometheus/prometheus/storage/remote/otlptranslator/prometheusremotewrite"
11
11
"github.com/weaveworks/common/httpgrpc"
12
12
"github.com/weaveworks/common/middleware"
13
13
"go.opentelemetry.io/collector/pdata/pcommon"
14
14
"go.opentelemetry.io/collector/pdata/pmetric"
15
- "go.opentelemetry.io/collector/pdata/pmetric/pmetricotlp"
16
15
17
16
"github.com/cortexproject/cortex/pkg/cortexpb"
18
17
"github.com/cortexproject/cortex/pkg/util"
@@ -31,16 +30,7 @@ func OTLPHandler(sourceIPs *middleware.SourceIPExtractor, push Func) http.Handle
31
30
logger = log .WithSourceIPs (source , logger )
32
31
}
33
32
}
34
-
35
- buf , err := io .ReadAll (r .Body )
36
- if err != nil {
37
- level .Error (logger ).Log ("err" , err .Error ())
38
- http .Error (w , err .Error (), http .StatusBadRequest )
39
- return
40
- }
41
-
42
- req := pmetricotlp .NewExportRequest ()
43
- err = req .UnmarshalProto (buf )
33
+ req , err := remote .DecodeOTLPWriteRequest (r )
44
34
if err != nil {
45
35
level .Error (logger ).Log ("err" , err .Error ())
46
36
http .Error (w , err .Error (), http .StatusBadRequest )
0 commit comments