mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-15 16:30:55 +01:00
Fix TestPushWriteRequest for remotewriteprotocol for pure-test (with native zstd) (#3850)
app/vmagent: fix TestPushWriteRequest for pure-test (with native zstd) Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>
This commit is contained in:
parent
522179fbde
commit
29fa78a310
@ -2,6 +2,7 @@ package remotewrite
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal"
|
||||||
@ -21,7 +22,7 @@ func TestPushWriteRequest(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testPushWriteRequest(t *testing.T, rowsCount, expectedBlockLenProm, expectedBlockLenVM int) {
|
func testPushWriteRequest(t *testing.T, rowsCount, expectedBlockLenProm, expectedBlockLenVM int) {
|
||||||
f := func(isVMRemoteWrite bool, expectedBlockLen int) {
|
f := func(isVMRemoteWrite bool, expectedBlockLen int, tolerancePrc float64) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
wr := newTestWriteRequest(rowsCount, 20)
|
wr := newTestWriteRequest(rowsCount, 20)
|
||||||
pushBlockLen := 0
|
pushBlockLen := 0
|
||||||
@ -32,17 +33,27 @@ func testPushWriteRequest(t *testing.T, rowsCount, expectedBlockLenProm, expecte
|
|||||||
pushBlockLen = len(block)
|
pushBlockLen = len(block)
|
||||||
}
|
}
|
||||||
pushWriteRequest(wr, pushBlock, isVMRemoteWrite)
|
pushWriteRequest(wr, pushBlock, isVMRemoteWrite)
|
||||||
if pushBlockLen != expectedBlockLen {
|
|
||||||
|
if pushBlockLen == expectedBlockLen {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if tolerancePrc == 0 {
|
||||||
t.Fatalf("unexpected block len for rowsCount=%d, isVMRemoteWrite=%v; got %d bytes; expecting %d bytes",
|
t.Fatalf("unexpected block len for rowsCount=%d, isVMRemoteWrite=%v; got %d bytes; expecting %d bytes",
|
||||||
rowsCount, isVMRemoteWrite, pushBlockLen, expectedBlockLen)
|
rowsCount, isVMRemoteWrite, pushBlockLen, expectedBlockLen)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if math.Abs(float64(pushBlockLen-expectedBlockLen)/float64(expectedBlockLen)*100) > tolerancePrc {
|
||||||
|
t.Fatalf("unexpected block len for rowsCount=%d, isVMRemoteWrite=%v; got %d bytes; expecting %d bytes +- %.0f%%",
|
||||||
|
rowsCount, isVMRemoteWrite, pushBlockLen, expectedBlockLen, tolerancePrc)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check Prometheus remote write
|
// Check Prometheus remote write
|
||||||
f(false, expectedBlockLenProm)
|
f(false, expectedBlockLenProm, 0)
|
||||||
|
|
||||||
// Check VictoriaMetrics remote write
|
// Check VictoriaMetrics remote write
|
||||||
f(true, expectedBlockLenVM)
|
f(true, expectedBlockLenVM, 15)
|
||||||
}
|
}
|
||||||
|
|
||||||
func newTestWriteRequest(seriesCount, labelsCount int) *prompbmarshal.WriteRequest {
|
func newTestWriteRequest(seriesCount, labelsCount int) *prompbmarshal.WriteRequest {
|
||||||
|
Loading…
Reference in New Issue
Block a user