Deprecate componenterror package, move to component (#5383)

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
Bogdan Drutu 2022-05-17 17:18:08 -07:00 committed by GitHub
parent ed28173869
commit e6b5cd54d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 41 additions and 45 deletions

View File

@ -12,6 +12,7 @@
### 🚩 Deprecations 🚩
- Deprecate `config.Config` and `config.Service`, use `service.Config*` (#4608)
- Deprecate `componenterror` package, move everything to `component` (#5383)
### 💡 Enhancements 💡

View File

@ -16,10 +16,21 @@ package component // import "go.opentelemetry.io/collector/component"
import (
"context"
"errors"
"go.opentelemetry.io/collector/config"
)
var (
// ErrNilNextConsumer can be returned by receiver, or processor Start factory funcs that create the Component if the
// expected next Consumer is nil.
ErrNilNextConsumer = errors.New("nil next Consumer")
// ErrDataTypeIsNotSupported can be returned by receiver, exporter or processor factory funcs that create the
// Component if the particular telemetry data type is not supported by the receiver, exporter or processor.
ErrDataTypeIsNotSupported = errors.New("telemetry type is not supported")
)
// Component is either a receiver, exporter, processor, or an extension.
//
// A component's lifecycle has the following phases:

View File

@ -15,15 +15,13 @@
package componenterror // import "go.opentelemetry.io/collector/component/componenterror"
import (
"errors"
"go.opentelemetry.io/collector/component"
)
var (
// ErrNilNextConsumer indicates an error on nil next consumer.
ErrNilNextConsumer = errors.New("nil nextConsumer")
// Deprecated: use component.ErrNilNextConsumer
ErrNilNextConsumer = component.ErrNilNextConsumer
// ErrDataTypeIsNotSupported can be returned by receiver, exporter or processor
// factory methods that create the entity if the particular telemetry
// data type is not supported by the receiver, exporter or processor.
ErrDataTypeIsNotSupported = errors.New("telemetry type is not supported")
// Deprecated: use component.ErrDataTypeIsNotSupported
ErrDataTypeIsNotSupported = component.ErrDataTypeIsNotSupported
)

View File

@ -23,7 +23,6 @@ import (
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.opentelemetry.io/collector/internal/testdata"
@ -39,7 +38,7 @@ func verifyTracesProcessorDoesntProduceAfterShutdown(t *testing.T, factory compo
nextSink,
)
if err != nil {
if errors.Is(err, componenterror.ErrDataTypeIsNotSupported) {
if errors.Is(err, component.ErrDataTypeIsNotSupported) {
return
}
require.NoError(t, err)

View File

@ -17,7 +17,6 @@ package component // import "go.opentelemetry.io/collector/component"
import (
"context"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
)
@ -102,7 +101,7 @@ type CreateTracesExporterFunc func(context.Context, ExporterCreateSettings, conf
// CreateTracesExporter implements ExporterFactory.CreateTracesExporter().
func (f CreateTracesExporterFunc) CreateTracesExporter(ctx context.Context, set ExporterCreateSettings, cfg config.Exporter) (TracesExporter, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg)
}
@ -113,7 +112,7 @@ type CreateMetricsExporterFunc func(context.Context, ExporterCreateSettings, con
// CreateMetricsExporter implements ExporterFactory.CreateMetricsExporter().
func (f CreateMetricsExporterFunc) CreateMetricsExporter(ctx context.Context, set ExporterCreateSettings, cfg config.Exporter) (MetricsExporter, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg)
}
@ -124,7 +123,7 @@ type CreateLogsExporterFunc func(context.Context, ExporterCreateSettings, config
// CreateLogsExporter implements ExporterFactory.CreateLogsExporter().
func (f CreateLogsExporterFunc) CreateLogsExporter(ctx context.Context, set ExporterCreateSettings, cfg config.Exporter) (LogsExporter, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg)
}

View File

@ -17,7 +17,6 @@ package component // import "go.opentelemetry.io/collector/component"
import (
"context"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
)
@ -122,7 +121,7 @@ func (f CreateTracesProcessorFunc) CreateTracesProcessor(
cfg config.Processor,
nextConsumer consumer.Traces) (TracesProcessor, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg, nextConsumer)
}
@ -138,7 +137,7 @@ func (f CreateMetricsProcessorFunc) CreateMetricsProcessor(
nextConsumer consumer.Metrics,
) (MetricsProcessor, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg, nextConsumer)
}
@ -154,7 +153,7 @@ func (f CreateLogsProcessorFunc) CreateLogsProcessor(
nextConsumer consumer.Logs,
) (LogsProcessor, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg, nextConsumer)
}

View File

@ -17,7 +17,6 @@ package component // import "go.opentelemetry.io/collector/component"
import (
"context"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
)
@ -154,7 +153,7 @@ func (f CreateTracesReceiverFunc) CreateTracesReceiver(
cfg config.Receiver,
nextConsumer consumer.Traces) (TracesReceiver, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg, nextConsumer)
}
@ -170,7 +169,7 @@ func (f CreateMetricsReceiverFunc) CreateMetricsReceiver(
nextConsumer consumer.Metrics,
) (MetricsReceiver, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg, nextConsumer)
}
@ -186,7 +185,7 @@ func (f CreateLogsReceiverFunc) CreateLogsReceiver(
nextConsumer consumer.Logs,
) (LogsReceiver, error) {
if f == nil {
return nil, componenterror.ErrDataTypeIsNotSupported
return nil, ErrDataTypeIsNotSupported
}
return f(ctx, set, cfg, nextConsumer)
}

View File

@ -21,7 +21,6 @@ import (
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/pdata/plog"
@ -50,7 +49,7 @@ func NewLogsProcessor(
}
if nextConsumer == nil {
return nil, componenterror.ErrNilNextConsumer
return nil, component.ErrNilNextConsumer
}
eventOptions := spanAttributes(cfg.ID())

View File

@ -23,7 +23,6 @@ import (
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
@ -61,7 +60,7 @@ func TestNewLogsProcessor_NilRequiredFields(t *testing.T) {
assert.Error(t, err)
_, err = NewLogsProcessor(&testLogsCfg, nil, newTestLProcessor(nil))
assert.Equal(t, componenterror.ErrNilNextConsumer, err)
assert.Equal(t, component.ErrNilNextConsumer, err)
}
func TestNewLogsProcessor_ProcessLogError(t *testing.T) {

View File

@ -21,7 +21,6 @@ import (
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/pdata/pmetric"
@ -50,7 +49,7 @@ func NewMetricsProcessor(
}
if nextConsumer == nil {
return nil, componenterror.ErrNilNextConsumer
return nil, component.ErrNilNextConsumer
}
eventOptions := spanAttributes(cfg.ID())

View File

@ -23,7 +23,6 @@ import (
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
@ -61,7 +60,7 @@ func TestNewMetricsProcessor_NilRequiredFields(t *testing.T) {
assert.Error(t, err)
_, err = NewMetricsProcessor(&testMetricsCfg, nil, newTestMProcessor(nil))
assert.Equal(t, componenterror.ErrNilNextConsumer, err)
assert.Equal(t, component.ErrNilNextConsumer, err)
}
func TestNewMetricsProcessor_ProcessMetricsError(t *testing.T) {

View File

@ -21,7 +21,6 @@ import (
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/pdata/ptrace"
@ -50,7 +49,7 @@ func NewTracesProcessor(
}
if nextConsumer == nil {
return nil, componenterror.ErrNilNextConsumer
return nil, component.ErrNilNextConsumer
}
eventOptions := spanAttributes(cfg.ID())

View File

@ -23,7 +23,6 @@ import (
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
@ -61,7 +60,7 @@ func TestNewTracesProcessor_NilRequiredFields(t *testing.T) {
assert.Error(t, err)
_, err = NewTracesProcessor(&testTracesCfg, nil, newTestTProcessor(nil))
assert.Equal(t, componenterror.ErrNilNextConsumer, err)
assert.Equal(t, component.ErrNilNextConsumer, err)
}
func TestNewTracesProcessor_ProcessTraceError(t *testing.T) {

View File

@ -25,7 +25,6 @@ import (
"google.golang.org/grpc"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config/configgrpc"
"go.opentelemetry.io/collector/config/confighttp"
"go.opentelemetry.io/collector/consumer"
@ -174,7 +173,7 @@ func (r *otlpReceiver) Shutdown(ctx context.Context) error {
func (r *otlpReceiver) registerTraceConsumer(tc consumer.Traces) error {
if tc == nil {
return componenterror.ErrNilNextConsumer
return component.ErrNilNextConsumer
}
r.traceReceiver = trace.New(r.cfg.ID(), tc, r.settings)
if r.httpMux != nil {
@ -198,7 +197,7 @@ func (r *otlpReceiver) registerTraceConsumer(tc consumer.Traces) error {
func (r *otlpReceiver) registerMetricsConsumer(mc consumer.Metrics) error {
if mc == nil {
return componenterror.ErrNilNextConsumer
return component.ErrNilNextConsumer
}
r.metricsReceiver = metrics.New(r.cfg.ID(), mc, r.settings)
if r.httpMux != nil {
@ -222,7 +221,7 @@ func (r *otlpReceiver) registerMetricsConsumer(mc consumer.Metrics) error {
func (r *otlpReceiver) registerLogsConsumer(lc consumer.Logs) error {
if lc == nil {
return componenterror.ErrNilNextConsumer
return component.ErrNilNextConsumer
}
r.logReceiver = logs.New(r.cfg.ID(), lc, r.settings)
if r.httpMux != nil {

View File

@ -23,7 +23,6 @@ import (
"go.uber.org/zap"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/obsreport"
@ -97,7 +96,7 @@ func NewScraperControllerReceiver(
options ...ScraperControllerOption,
) (component.Receiver, error) {
if nextConsumer == nil {
return nil, componenterror.ErrNilNextConsumer
return nil, component.ErrNilNextConsumer
}
if cfg.CollectionInterval <= 0 {

View File

@ -107,7 +107,7 @@ func TestScrapeController(t *testing.T) {
name: "AddMetricsScrapers_NilNextConsumerError",
scrapers: 2,
nilNextConsumer: true,
expectedNewErr: "nil nextConsumer",
expectedNewErr: "nil next Consumer",
},
{
name: "AddMetricsScrapersWithCollectionInterval_InvalidCollectionIntervalError",

View File

@ -23,7 +23,6 @@ import (
"go.uber.org/zap"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/service/internal/components"
)
@ -238,7 +237,7 @@ func buildExporter(
}
if err != nil {
if errors.Is(err, componenterror.ErrDataTypeIsNotSupported) {
if errors.Is(err, component.ErrDataTypeIsNotSupported) {
// Could not create because this exporter does not support this data type.
return nil, exporterTypeMismatchErr(cfg, pipelineID, dataType)
}

View File

@ -23,7 +23,6 @@ import (
"go.uber.org/zap"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/service/internal/components"
@ -191,11 +190,11 @@ func attachReceiverToPipelines(
createdReceiver, err = factory.CreateLogsReceiver(ctx, set, cfg, junction)
default:
err = componenterror.ErrDataTypeIsNotSupported
err = component.ErrDataTypeIsNotSupported
}
if err != nil {
if errors.Is(err, componenterror.ErrDataTypeIsNotSupported) {
if errors.Is(err, component.ErrDataTypeIsNotSupported) {
return fmt.Errorf(
"receiver %v does not support %s but it was used in a %s pipeline",
id, dataType, dataType)