Use config.ComponentID in processor helper internal (#3095)

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
Bogdan Drutu 2021-05-04 14:48:52 -07:00 committed by GitHub
parent b8824d0207
commit d96a7fd4b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 15 deletions

View File

@ -104,20 +104,18 @@ func fromOptions(options []Option) *baseSettings {
// internalOptions contains internalOptions concerning how an Processor is configured.
type baseProcessor struct {
component.Component
fullName string
capabilities component.ProcessorCapabilities
traceAttributes []trace.Attribute
}
// Construct the internalOptions from multiple Option.
func newBaseProcessor(fullName string, options ...Option) baseProcessor {
func newBaseProcessor(id config.ComponentID, options ...Option) baseProcessor {
bs := fromOptions(options)
be := baseProcessor{
Component: componenthelper.New(bs.componentOptions...),
fullName: fullName,
capabilities: bs.capabilities,
traceAttributes: []trace.Attribute{
trace.StringAttribute(obsreport.ProcessorKey, fullName),
trace.StringAttribute(obsreport.ProcessorKey, id.String()),
},
}
@ -152,7 +150,7 @@ func (tp *tracesProcessor) ConsumeTraces(ctx context.Context, td pdata.Traces) e
// NewTracesProcessor creates a TracesProcessor that ensure context propagation and the right tags are set.
// TODO: Add observability metrics support
func NewTracesProcessor(
config config.Processor,
cfg config.Processor,
nextConsumer consumer.Traces,
processor TProcessor,
options ...Option,
@ -166,7 +164,7 @@ func NewTracesProcessor(
}
return &tracesProcessor{
baseProcessor: newBaseProcessor(config.ID().String(), options...),
baseProcessor: newBaseProcessor(cfg.ID(), options...),
processor: processor,
nextConsumer: nextConsumer,
}, nil
@ -196,7 +194,7 @@ func (mp *metricsProcessor) ConsumeMetrics(ctx context.Context, md pdata.Metrics
// NewMetricsProcessor creates a MetricsProcessor that ensure context propagation and the right tags are set.
// TODO: Add observability metrics support
func NewMetricsProcessor(
config config.Processor,
cfg config.Processor,
nextConsumer consumer.Metrics,
processor MProcessor,
options ...Option,
@ -210,7 +208,7 @@ func NewMetricsProcessor(
}
return &metricsProcessor{
baseProcessor: newBaseProcessor(config.ID().String(), options...),
baseProcessor: newBaseProcessor(cfg.ID(), options...),
processor: processor,
nextConsumer: nextConsumer,
}, nil
@ -240,7 +238,7 @@ func (lp *logProcessor) ConsumeLogs(ctx context.Context, ld pdata.Logs) error {
// NewLogsProcessor creates a LogsProcessor that ensure context propagation and the right tags are set.
// TODO: Add observability metrics support
func NewLogsProcessor(
config config.Processor,
cfg config.Processor,
nextConsumer consumer.Logs,
processor LProcessor,
options ...Option,
@ -254,7 +252,7 @@ func NewLogsProcessor(
}
return &logProcessor{
baseProcessor: newBaseProcessor(config.ID().String(), options...),
baseProcessor: newBaseProcessor(cfg.ID(), options...),
processor: processor,
nextConsumer: nextConsumer,
}, nil

View File

@ -31,12 +31,10 @@ import (
"go.opentelemetry.io/collector/internal/testdata"
)
const testFullName = "testFullName"
var testCfg = config.NewProcessorSettings(config.MustIDFromString(testFullName))
var testCfg = config.NewProcessorSettings(config.NewID(typeStr))
func TestDefaultOptions(t *testing.T) {
bp := newBaseProcessor(testFullName)
bp := newBaseProcessor(config.NewID(typeStr))
assert.True(t, bp.GetCapabilities().MutatesConsumedData)
assert.NoError(t, bp.Start(context.Background(), componenttest.NewNopHost()))
assert.NoError(t, bp.Shutdown(context.Background()))
@ -44,7 +42,7 @@ func TestDefaultOptions(t *testing.T) {
func TestWithOptions(t *testing.T) {
want := errors.New("my_error")
bp := newBaseProcessor(testFullName,
bp := newBaseProcessor(config.NewID(typeStr),
WithStart(func(context.Context, component.Host) error { return want }),
WithShutdown(func(context.Context) error { return want }),
WithCapabilities(component.ProcessorCapabilities{MutatesConsumedData: false}))