Skip to content

Commit e44607a

Browse files
authored
Switch Jaeger receiver to internal data model (#844)
Translation was replicated from existing jaeger -> OC -> internal logic.
1 parent 9f0f8e4 commit e44607a

File tree

10 files changed

+1366
-273
lines changed

10 files changed

+1366
-273
lines changed

receiver/jaegerreceiver/factory.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ func (f *Factory) CreateDefaultConfig() configmodels.Receiver {
111111
// CreateTraceReceiver creates a trace receiver based on provided config.
112112
func (f *Factory) CreateTraceReceiver(
113113
ctx context.Context,
114-
logger *zap.Logger,
114+
params component.ReceiverCreateParams,
115115
cfg configmodels.Receiver,
116-
nextConsumer consumer.TraceConsumerOld,
116+
nextConsumer consumer.TraceConsumer,
117117
) (component.TraceReceiver, error) {
118118

119119
// Convert settings in the source config to Configuration struct
@@ -130,6 +130,7 @@ func (f *Factory) CreateTraceReceiver(
130130

131131
config := Configuration{}
132132
var grpcServerOptions []grpc.ServerOption
133+
logger := params.Logger
133134

134135
// Set ports
135136
if protoGRPC != nil && protoGRPC.IsEnabled() {
@@ -217,14 +218,15 @@ func (f *Factory) CreateTraceReceiver(
217218
}
218219

219220
// Create the receiver.
220-
return New(rCfg.Name(), &config, nextConsumer, logger)
221+
return New(rCfg.Name(), &config, nextConsumer, params)
221222
}
222223

223224
// CreateMetricsReceiver creates a metrics receiver based on provided config.
224225
func (f *Factory) CreateMetricsReceiver(
225-
logger *zap.Logger,
226-
cfg configmodels.Receiver,
227-
consumer consumer.MetricsConsumerOld,
226+
_ context.Context,
227+
_ component.ReceiverCreateParams,
228+
_ configmodels.Receiver,
229+
_ consumer.MetricsConsumer,
228230
) (component.MetricsReceiver, error) {
229231
return nil, configerror.ErrDataTypeIsNotSupported
230232
}

receiver/jaegerreceiver/factory_test.go

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"github.com/stretchr/testify/assert"
2323
"go.uber.org/zap"
2424

25+
"github.com/open-telemetry/opentelemetry-collector/component"
2526
"github.com/open-telemetry/opentelemetry-collector/config"
2627
"github.com/open-telemetry/opentelemetry-collector/config/configcheck"
2728
"github.com/open-telemetry/opentelemetry-collector/config/configerror"
@@ -48,11 +49,12 @@ func TestCreateReceiver(t *testing.T) {
4849
// have to enable at least one protocol for the jaeger receiver to be created
4950
cfg.(*Config).Protocols[protoGRPC], _ = defaultsForProtocol(protoGRPC)
5051

51-
tReceiver, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
52+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
53+
tReceiver, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
5254
assert.NoError(t, err, "receiver creation failed")
5355
assert.NotNil(t, tReceiver, "receiver creation failed")
5456

55-
mReceiver, err := factory.CreateMetricsReceiver(zap.NewNop(), cfg, nil)
57+
mReceiver, err := factory.CreateMetricsReceiver(context.Background(), params, cfg, nil)
5658
assert.Equal(t, err, configerror.ErrDataTypeIsNotSupported)
5759
assert.Nil(t, mReceiver)
5860
}
@@ -64,7 +66,8 @@ func TestCreateDefaultGRPCEndpoint(t *testing.T) {
6466
rCfg := cfg.(*Config)
6567

6668
rCfg.Protocols[protoGRPC], _ = defaultsForProtocol(protoGRPC)
67-
r, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
69+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
70+
r, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
6871

6972
assert.NoError(t, err, "unexpected error creating receiver")
7073
assert.Equal(t, 14250, r.(*jReceiver).config.CollectorGRPCPort, "grpc port should be default")
@@ -77,14 +80,15 @@ func TestCreateTLSGPRCEndpoint(t *testing.T) {
7780

7881
rCfg.Protocols[protoGRPC], _ = defaultsForProtocol(protoGRPC)
7982
rCfg.Protocols[protoGRPC].TLSCredentials = &receiver.TLSCredentials{}
80-
_, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
83+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
84+
_, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
8185
assert.Error(t, err, "tls-enabled receiver creation with no credentials must fail")
8286

8387
rCfg.Protocols[protoGRPC].TLSCredentials = &receiver.TLSCredentials{
8488
CertFile: "./testdata/certificate.pem",
8589
KeyFile: "./testdata/key.pem",
8690
}
87-
_, err = factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
91+
_, err = factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
8892
assert.NoError(t, err, "tls-enabled receiver creation failed")
8993
}
9094

@@ -94,7 +98,8 @@ func TestCreateInvalidHTTPEndpoint(t *testing.T) {
9498
rCfg := cfg.(*Config)
9599

96100
rCfg.Protocols[protoThriftHTTP], _ = defaultsForProtocol(protoThriftHTTP)
97-
r, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
101+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
102+
r, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
98103

99104
assert.NoError(t, err, "unexpected error creating receiver")
100105
assert.Equal(t, 14268, r.(*jReceiver).config.CollectorHTTPPort, "http port should be default")
@@ -106,7 +111,8 @@ func TestCreateInvalidThriftBinaryEndpoint(t *testing.T) {
106111
rCfg := cfg.(*Config)
107112

108113
rCfg.Protocols[protoThriftBinary], _ = defaultsForProtocol(protoThriftBinary)
109-
r, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
114+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
115+
r, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
110116

111117
assert.NoError(t, err, "unexpected error creating receiver")
112118
assert.Equal(t, 6832, r.(*jReceiver).config.AgentBinaryThriftPort, "thrift port should be default")
@@ -118,7 +124,8 @@ func TestCreateInvalidThriftCompactEndpoint(t *testing.T) {
118124
rCfg := cfg.(*Config)
119125

120126
rCfg.Protocols[protoThriftCompact], _ = defaultsForProtocol(protoThriftCompact)
121-
r, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
127+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
128+
r, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
122129

123130
assert.NoError(t, err, "unexpected error creating receiver")
124131
assert.Equal(t, 6831, r.(*jReceiver).config.AgentCompactThriftPort, "thrift port should be default")
@@ -131,7 +138,8 @@ func TestDefaultAgentRemoteSamplingEndpointAndPort(t *testing.T) {
131138

132139
rCfg.Protocols[protoThriftCompact], _ = defaultsForProtocol(protoThriftCompact)
133140
rCfg.RemoteSampling = &RemoteSamplingConfig{}
134-
r, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
141+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
142+
r, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
135143

136144
assert.NoError(t, err, "create trace receiver should not error")
137145
assert.Equal(t, defaultGRPCBindEndpoint, r.(*jReceiver).config.RemoteSamplingEndpoint)
@@ -148,7 +156,8 @@ func TestAgentRemoteSamplingEndpoint(t *testing.T) {
148156
rCfg.RemoteSampling = &RemoteSamplingConfig{
149157
FetchEndpoint: endpoint,
150158
}
151-
r, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
159+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
160+
r, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
152161

153162
assert.NoError(t, err, "create trace receiver should not error")
154163
assert.Equal(t, endpoint, r.(*jReceiver).config.RemoteSamplingEndpoint)
@@ -165,7 +174,8 @@ func TestCreateNoPort(t *testing.T) {
165174
Endpoint: "localhost:",
166175
},
167176
}
168-
_, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
177+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
178+
_, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
169179
assert.Error(t, err, "receiver creation with no port number must fail")
170180
}
171181

@@ -179,7 +189,8 @@ func TestCreateLargePort(t *testing.T) {
179189
Endpoint: "localhost:65536",
180190
},
181191
}
182-
_, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
192+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
193+
_, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
183194
assert.Error(t, err, "receiver creation with too large port number must fail")
184195
}
185196

@@ -193,7 +204,8 @@ func TestCreateInvalidHost(t *testing.T) {
193204
Endpoint: "1234",
194205
},
195206
}
196-
_, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
207+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
208+
_, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
197209
assert.Error(t, err, "receiver creation with bad hostname must fail")
198210
}
199211

@@ -204,7 +216,8 @@ func TestCreateNoProtocols(t *testing.T) {
204216

205217
rCfg.Protocols = make(map[string]*receiver.SecureReceiverSettings)
206218

207-
_, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
219+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
220+
_, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
208221
assert.Error(t, err, "receiver creation with no protocols must fail")
209222
}
210223

@@ -219,7 +232,8 @@ func TestThriftBinaryBadPort(t *testing.T) {
219232
},
220233
}
221234

222-
_, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
235+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
236+
_, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
223237
assert.Error(t, err, "receiver creation with a bad thrift binary port must fail")
224238
}
225239

@@ -234,7 +248,8 @@ func TestThriftCompactBadPort(t *testing.T) {
234248
},
235249
}
236250

237-
_, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
251+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
252+
_, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
238253
assert.Error(t, err, "receiver creation with a bad thrift compact port must fail")
239254
}
240255

@@ -252,7 +267,8 @@ func TestRemoteSamplingConfigPropagation(t *testing.T) {
252267
HostEndpoint: fmt.Sprintf("localhost:%d", hostPort),
253268
StrategyFile: strategyFile,
254269
}
255-
r, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
270+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
271+
r, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
256272

257273
assert.NoError(t, err, "create trace receiver should not error")
258274
assert.Equal(t, endpoint, r.(*jReceiver).config.RemoteSamplingEndpoint)
@@ -270,7 +286,8 @@ func TestRemoteSamplingFileRequiresGRPC(t *testing.T) {
270286
rCfg.RemoteSampling = &RemoteSamplingConfig{
271287
StrategyFile: strategyFile,
272288
}
273-
_, err := factory.CreateTraceReceiver(context.Background(), zap.NewNop(), cfg, nil)
289+
params := component.ReceiverCreateParams{Logger: zap.NewNop()}
290+
_, err := factory.CreateTraceReceiver(context.Background(), params, cfg, nil)
274291

275292
assert.Error(t, err, "create trace receiver should error")
276293
}

0 commit comments

Comments
 (0)