Skip to content

Commit a6ca6b8

Browse files
committed
Use default configs for testbed receivers
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
1 parent 41dc4db commit a6ca6b8

File tree

1 file changed

+64
-39
lines changed

1 file changed

+64
-39
lines changed

testbed/testbed/receivers.go

+64-39
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323

2424
"go.opentelemetry.io/collector/component"
2525
"go.opentelemetry.io/collector/config/configmodels"
26+
"go.opentelemetry.io/collector/config/configprotocol"
2627
"go.opentelemetry.io/collector/receiver/jaegerreceiver"
2728
"go.opentelemetry.io/collector/receiver/opencensusreceiver"
2829
"go.opentelemetry.io/collector/receiver/otlpreceiver"
@@ -36,7 +37,7 @@ import (
3637
// an exporter.
3738
type DataReceiver interface {
3839
Start(tc *MockTraceConsumer, mc *MockMetricConsumer) error
39-
Stop()
40+
Stop() error
4041

4142
// Generate a config string to place in exporter part of collector config
4243
// so that it can send data to this receiver.
@@ -59,7 +60,7 @@ func (mb *DataReceiverBase) ReportFatalError(err error) {
5960
}
6061

6162
// GetFactory of the specified kind. Returns the factory for a component type.
62-
func (mb *DataReceiverBase) GetFactory(kind component.Kind, componentType configmodels.Type) component.Factory {
63+
func (mb *DataReceiverBase) GetFactory(_ component.Kind, _ configmodels.Type) component.Factory {
6364
return nil
6465
}
6566

@@ -75,7 +76,8 @@ func (mb *DataReceiverBase) GetExporters() map[configmodels.DataType]map[configm
7576
// OCDataReceiver implements OpenCensus format receiver.
7677
type OCDataReceiver struct {
7778
DataReceiverBase
78-
receiver *opencensusreceiver.Receiver
79+
traceReceiver component.TraceReceiver
80+
metricsReceiver component.MetricsReceiver
7981
}
8082

8183
// Ensure OCDataReceiver implements DataReceiver.
@@ -90,18 +92,31 @@ func NewOCDataReceiver(port int) *OCDataReceiver {
9092
}
9193

9294
func (or *OCDataReceiver) Start(tc *MockTraceConsumer, mc *MockMetricConsumer) error {
93-
addr := fmt.Sprintf("localhost:%d", or.Port)
95+
factory := opencensusreceiver.Factory{}
96+
cfg := factory.CreateDefaultConfig().(*opencensusreceiver.Config)
97+
cfg.SetName(or.ProtocolName())
98+
cfg.Endpoint = fmt.Sprintf("localhost:%d", or.Port)
9499
var err error
95-
or.receiver, err = opencensusreceiver.New("opencensus", "tcp", addr, tc, mc)
96-
if err != nil {
100+
if or.traceReceiver, err = factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, tc); err != nil {
97101
return err
98102
}
99-
100-
return or.receiver.Start(context.Background(), or)
103+
if or.metricsReceiver, err = factory.CreateMetricsReceiver(zap.NewNop(), cfg, mc); err != nil {
104+
return err
105+
}
106+
if err = or.traceReceiver.Start(context.Background(), or); err != nil {
107+
return err
108+
}
109+
return or.metricsReceiver.Start(context.Background(), or)
101110
}
102111

103-
func (or *OCDataReceiver) Stop() {
104-
or.receiver.Shutdown(context.Background())
112+
func (or *OCDataReceiver) Stop() error {
113+
if err := or.traceReceiver.Shutdown(context.Background()); err != nil {
114+
return err
115+
}
116+
if err := or.metricsReceiver.Shutdown(context.Background()); err != nil {
117+
return err
118+
}
119+
return nil
105120
}
106121

107122
func (or *OCDataReceiver) GenConfigYAMLStr() string {
@@ -128,26 +143,25 @@ func NewJaegerDataReceiver(port int) *JaegerDataReceiver {
128143
return &JaegerDataReceiver{DataReceiverBase: DataReceiverBase{Port: port}}
129144
}
130145

131-
func (jr *JaegerDataReceiver) Start(tc *MockTraceConsumer, mc *MockMetricConsumer) error {
132-
jaegerCfg := jaegerreceiver.Configuration{
133-
CollectorGRPCPort: jr.Port,
146+
func (jr *JaegerDataReceiver) Start(tc *MockTraceConsumer, _ *MockMetricConsumer) error {
147+
factory := jaegerreceiver.Factory{}
148+
cfg := factory.CreateDefaultConfig().(*jaegerreceiver.Config)
149+
cfg.SetName(jr.ProtocolName())
150+
cfg.Protocols["grpc"] = &configprotocol.ProtocolServerSettings{
151+
Endpoint: fmt.Sprintf("localhost:%d", jr.Port),
134152
}
135153
var err error
136154
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
137-
jr.receiver, err = jaegerreceiver.New("jaeger", &jaegerCfg, tc, params)
155+
jr.receiver, err = factory.CreateTraceReceiver(context.Background(), params, cfg, tc)
138156
if err != nil {
139157
return err
140158
}
141159

142160
return jr.receiver.Start(context.Background(), jr)
143161
}
144162

145-
func (jr *JaegerDataReceiver) Stop() {
146-
if jr.receiver != nil {
147-
if err := jr.receiver.Shutdown(context.Background()); err != nil {
148-
log.Printf("Cannot stop Jaeger receiver: %s", err.Error())
149-
}
150-
}
163+
func (jr *JaegerDataReceiver) Stop() error {
164+
return jr.receiver.Shutdown(context.Background())
151165
}
152166

153167
func (jr *JaegerDataReceiver) GenConfigYAMLStr() string {
@@ -165,7 +179,8 @@ func (jr *JaegerDataReceiver) ProtocolName() string {
165179
// OTLPDataReceiver implements OTLP format receiver.
166180
type OTLPDataReceiver struct {
167181
DataReceiverBase
168-
receiver *otlpreceiver.Receiver
182+
traceReceiver component.TraceReceiver
183+
metricsReceiver component.MetricsReceiver
169184
}
170185

171186
// Ensure OTLPDataReceiver implements DataReceiver.
@@ -180,18 +195,32 @@ func NewOTLPDataReceiver(port int) *OTLPDataReceiver {
180195
}
181196

182197
func (or *OTLPDataReceiver) Start(tc *MockTraceConsumer, mc *MockMetricConsumer) error {
183-
addr := fmt.Sprintf("localhost:%d", or.Port)
198+
factory := otlpreceiver.Factory{}
199+
cfg := factory.CreateDefaultConfig().(*otlpreceiver.Config)
200+
cfg.SetName(or.ProtocolName())
201+
cfg.Endpoint = fmt.Sprintf("localhost:%d", or.Port)
184202
var err error
185-
or.receiver, err = otlpreceiver.New("otlp", "tcp", addr, tc, mc)
186-
if err != nil {
203+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
204+
if or.traceReceiver, err = factory.CreateTraceReceiver(context.Background(), params, cfg, tc); err != nil {
187205
return err
188206
}
189-
190-
return or.receiver.Start(context.Background(), or)
207+
if or.metricsReceiver, err = factory.CreateMetricsReceiver(context.Background(), params, cfg, mc); err != nil {
208+
return err
209+
}
210+
if err = or.traceReceiver.Start(context.Background(), or); err != nil {
211+
return err
212+
}
213+
return or.metricsReceiver.Start(context.Background(), or)
191214
}
192215

193-
func (or *OTLPDataReceiver) Stop() {
194-
or.receiver.Shutdown(context.Background())
216+
func (or *OTLPDataReceiver) Stop() error {
217+
if err := or.traceReceiver.Shutdown(context.Background()); err != nil {
218+
return err
219+
}
220+
if err := or.metricsReceiver.Shutdown(context.Background()); err != nil {
221+
return err
222+
}
223+
return nil
195224
}
196225

197226
func (or *OTLPDataReceiver) GenConfigYAMLStr() string {
@@ -209,7 +238,7 @@ func (or *OTLPDataReceiver) ProtocolName() string {
209238
// ZipkinDataReceiver implements Zipkin format receiver.
210239
type ZipkinDataReceiver struct {
211240
DataReceiverBase
212-
receiver *zipkinreceiver.ZipkinReceiver
241+
receiver component.TraceReceiver
213242
}
214243

215244
const DefaultZipkinAddressPort = 9411
@@ -218,13 +247,13 @@ func NewZipkinDataReceiver(port int) *ZipkinDataReceiver {
218247
return &ZipkinDataReceiver{DataReceiverBase: DataReceiverBase{Port: port}}
219248
}
220249

221-
func (zr *ZipkinDataReceiver) Start(tc *MockTraceConsumer, mc *MockMetricConsumer) error {
222-
var err error
250+
func (zr *ZipkinDataReceiver) Start(tc *MockTraceConsumer, _ *MockMetricConsumer) error {
223251
factory := zipkinreceiver.Factory{}
224252
cfg := factory.CreateDefaultConfig().(*zipkinreceiver.Config)
225-
cfg.NameVal = "zipkin"
253+
cfg.SetName(zr.ProtocolName())
226254
cfg.Endpoint = fmt.Sprintf("localhost:%d", zr.Port)
227-
zr.receiver, err = zipkinreceiver.New(cfg, tc)
255+
var err error
256+
zr.receiver, err = factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, tc)
228257

229258
if err != nil {
230259
return err
@@ -233,12 +262,8 @@ func (zr *ZipkinDataReceiver) Start(tc *MockTraceConsumer, mc *MockMetricConsume
233262
return zr.receiver.Start(context.Background(), zr)
234263
}
235264

236-
func (zr *ZipkinDataReceiver) Stop() {
237-
if zr.receiver != nil {
238-
if err := zr.receiver.Shutdown(context.Background()); err != nil {
239-
log.Printf("Cannot stop Zipkin receiver: %s", err.Error())
240-
}
241-
}
265+
func (zr *ZipkinDataReceiver) Stop() error {
266+
return zr.receiver.Shutdown(context.Background())
242267
}
243268

244269
func (zr *ZipkinDataReceiver) GenConfigYAMLStr() string {

0 commit comments

Comments
 (0)