mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
add decode function for new write request proto
Signed-off-by: Callum Styan <callumstyan@gmail.com>
This commit is contained in:
parent
01f1cf9a47
commit
36a30c9cd9
|
@ -867,3 +867,24 @@ func DecodeOTLPWriteRequest(r *http.Request) (pmetricotlp.ExportRequest, error)
|
||||||
|
|
||||||
return otlpReq, nil
|
return otlpReq, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DecodeWriteRequest from an io.Reader into a prompb.WriteRequest, handling
|
||||||
|
// snappy decompression.
|
||||||
|
func DecodeReducedWriteRequest(r io.Reader) (*prompb.WriteRequestWithRefs, error) {
|
||||||
|
compressed, err := io.ReadAll(r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
reqBuf, err := snappy.Decode(nil, compressed)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var req prompb.WriteRequestWithRefs
|
||||||
|
if err := proto.Unmarshal(reqBuf, &req); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &req, nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue