Skip to content

Commit

Permalink
[testbed] Add zstd compression end-to-end tests for OTLP/HTTP (open-t…
Browse files Browse the repository at this point in the history
  • Loading branch information
tigrannajaryan committed Jul 21, 2023
1 parent 2607ed8 commit b6cff39
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 5 deletions.
2 changes: 1 addition & 1 deletion testbed/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ require (
github.com/stretchr/testify v1.8.4
go.opentelemetry.io/collector v0.81.0
go.opentelemetry.io/collector/component v0.81.0
go.opentelemetry.io/collector/config/configcompression v0.81.0
go.opentelemetry.io/collector/config/configgrpc v0.81.0
go.opentelemetry.io/collector/config/confighttp v0.81.0
go.opentelemetry.io/collector/config/confignet v0.81.0
Expand Down Expand Up @@ -211,7 +212,6 @@ require (
github.com/yusufpapurcu/wmi v1.2.3 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/collector/config/configauth v0.81.0 // indirect
go.opentelemetry.io/collector/config/configcompression v0.81.0 // indirect
go.opentelemetry.io/collector/config/configopaque v0.81.0 // indirect
go.opentelemetry.io/collector/config/configtelemetry v0.81.0 // indirect
go.opentelemetry.io/collector/config/internal v0.81.0 // indirect
Expand Down
2 changes: 1 addition & 1 deletion testbed/testbed/mock_backend_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func TestGeneratorAndBackend(t *testing.T) {
{
name: "OTLP/HTTP-OTLP/HTTP",
receiver: NewOTLPHTTPDataReceiver(port),
sender: NewOTLPHTTPTraceDataSender(DefaultHost, port),
sender: NewOTLPHTTPTraceDataSender(DefaultHost, port, ""),
},
}

Expand Down
6 changes: 5 additions & 1 deletion testbed/testbed/senders.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"net"

"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config/configcompression"
"go.opentelemetry.io/collector/config/configtls"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/exporter/exportertest"
Expand Down Expand Up @@ -77,6 +78,7 @@ func (dsb *DataSenderBase) Flush() {

type otlpHTTPDataSender struct {
DataSenderBase
compression configcompression.CompressionType
}

func (ods *otlpHTTPDataSender) fillConfig(cfg *otlphttpexporter.Config) *otlphttpexporter.Config {
Expand All @@ -88,6 +90,7 @@ func (ods *otlpHTTPDataSender) fillConfig(cfg *otlphttpexporter.Config) *otlphtt
cfg.TLSSetting = configtls.TLSClientSetting{
Insecure: true,
}
cfg.Compression = ods.compression
return cfg
}

Expand All @@ -111,13 +114,14 @@ type otlpHTTPTraceDataSender struct {
}

// NewOTLPHTTPTraceDataSender creates a new TraceDataSender for OTLP/HTTP traces exporter.
func NewOTLPHTTPTraceDataSender(host string, port int) TraceDataSender {
func NewOTLPHTTPTraceDataSender(host string, port int, compression configcompression.CompressionType) TraceDataSender {
return &otlpHTTPTraceDataSender{
otlpHTTPDataSender: otlpHTTPDataSender{
DataSenderBase: DataSenderBase{
Port: port,
Host: host,
},
compression: compression,
},
}
}
Expand Down
13 changes: 11 additions & 2 deletions testbed/tests/trace_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func TestTrace10kSPS(t *testing.T) {
},
{
"OTLP-HTTP",
testbed.NewOTLPHTTPTraceDataSender(testbed.DefaultHost, testbed.GetAvailablePort(t)),
testbed.NewOTLPHTTPTraceDataSender(testbed.DefaultHost, testbed.GetAvailablePort(t), ""),
testbed.NewOTLPHTTPDataReceiver(testbed.GetAvailablePort(t)),
testbed.ResourceSpec{
ExpectedMaxCPU: 20,
Expand All @@ -84,13 +84,22 @@ func TestTrace10kSPS(t *testing.T) {
},
{
"OTLP-HTTP-gzip",
testbed.NewOTLPHTTPTraceDataSender(testbed.DefaultHost, testbed.GetAvailablePort(t)),
testbed.NewOTLPHTTPTraceDataSender(testbed.DefaultHost, testbed.GetAvailablePort(t), "gzip"),
testbed.NewOTLPHTTPDataReceiver(testbed.GetAvailablePort(t)).WithCompression("gzip"),
testbed.ResourceSpec{
ExpectedMaxCPU: 25,
ExpectedMaxRAM: 100,
},
},
{
"OTLP-HTTP-zstd",
testbed.NewOTLPHTTPTraceDataSender(testbed.DefaultHost, testbed.GetAvailablePort(t), "zstd"),
testbed.NewOTLPHTTPDataReceiver(testbed.GetAvailablePort(t)).WithCompression("zstd"),
testbed.ResourceSpec{
ExpectedMaxCPU: 22,
ExpectedMaxRAM: 220,
},
},
{
"SAPM",
datasenders.NewSapmDataSender(testbed.GetAvailablePort(t), ""),
Expand Down

0 comments on commit b6cff39

Please sign in to comment.