Skip to content

Commit

Permalink
output/cloud: Raise the payload limit
Browse files Browse the repository at this point in the history
  • Loading branch information
codebien committed Jun 14, 2023
1 parent 1aa8b83 commit 1a8650f
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions output/cloud/expv2/metrics_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,17 +89,13 @@ func (mc *metricsClient) push(referenceID string, samples *pbcloud.MetricSet) er
return nil
}

const payloadSizeLimit = 100 * 1024 // 100 KiB
const payloadSizeLimit = 500 * 1024 // 100 KiB

func newRequestBody(data *pbcloud.MetricSet) ([]byte, error) {
b, err := proto.Marshal(data)
if err != nil {
return nil, fmt.Errorf("encoding metrics as Protobuf write request failed: %w", err)
}
if len(b) > payloadSizeLimit {
return nil, fmt.Errorf("the Protobuf message is too large to be handled from the Cloud processor; "+
"size: %d, limit: 100 KB", len(b))
}
// TODO: use the framing format
// https://github.com/google/snappy/blob/main/framing_format.txt
// It can be done replacing the encode with
Expand All @@ -108,5 +104,10 @@ func newRequestBody(data *pbcloud.MetricSet) ([]byte, error) {
return nil, fmt.Errorf("the Protobuf message is too large to be handled by Snappy encoder; "+
"size: %d, limit: %d", len(b), 0xffffffff)
}
return snappy.Encode(nil, b), nil
encoded := snappy.Encode(nil, b)
if len(b) > payloadSizeLimit {
return nil, fmt.Errorf("the compressed Protobuf message is too large to be handled from the Cloud processor; "+
"proto: %d B, compressed: %d B, limit: %d KiB", len(b), len(encoded), payloadSizeLimit/1024)
}
return encoded, nil
}

0 comments on commit 1a8650f

Please sign in to comment.