Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions exporter/exporterhelper/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.uber.org/zap"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
Expand All @@ -32,13 +31,13 @@ const typeStr = "test"

var (
defaultCfg = config.NewExporterSettings(config.NewID(typeStr))
nopTracesExporter, _ = NewTracesExporter(&defaultCfg, zap.NewNop(), func(ctx context.Context, td pdata.Traces) error {
nopTracesExporter, _ = NewTracesExporter(&defaultCfg, componenttest.NewNopExporterCreateSettings(), func(ctx context.Context, td pdata.Traces) error {
return nil
})
nopMetricsExporter, _ = NewMetricsExporter(&defaultCfg, zap.NewNop(), func(ctx context.Context, md pdata.Metrics) error {
nopMetricsExporter, _ = NewMetricsExporter(&defaultCfg, componenttest.NewNopExporterCreateSettings(), func(ctx context.Context, md pdata.Metrics) error {
return nil
})
nopLogsExporter, _ = NewLogsExporter(&defaultCfg, zap.NewNop(), func(ctx context.Context, md pdata.Logs) error {
nopLogsExporter, _ = NewLogsExporter(&defaultCfg, componenttest.NewNopExporterCreateSettings(), func(ctx context.Context, md pdata.Logs) error {
return nil
})
)
Expand Down
8 changes: 3 additions & 5 deletions exporter/exporterhelper/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ import (
"context"
"errors"

"go.uber.org/zap"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
Expand Down Expand Up @@ -66,15 +64,15 @@ type logsExporter struct {
// NewLogsExporter creates an LogsExporter that records observability metrics and wraps every request with a Span.
func NewLogsExporter(
cfg config.Exporter,
logger *zap.Logger,
set component.ExporterCreateSettings,
pusher consumerhelper.ConsumeLogsFunc,
options ...Option,
) (component.LogsExporter, error) {
if cfg == nil {
return nil, errNilConfig
}

if logger == nil {
if set.Logger == nil {
return nil, errNilLogger
}

Expand All @@ -83,7 +81,7 @@ func NewLogsExporter(
}

bs := fromOptions(options...)
be := newBaseExporter(cfg, logger, bs)
be := newBaseExporter(cfg, set.Logger, bs)
be.wrapConsumerSender(func(nextSender requestSender) requestSender {
return &logsExporterWithObservability{
obsrep: be.obsrep,
Expand Down
27 changes: 13 additions & 14 deletions exporter/exporterhelper/logs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opencensus.io/trace"
"go.uber.org/zap"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
Expand Down Expand Up @@ -57,26 +56,26 @@ func TestLogsRequest(t *testing.T) {
}

func TestLogsExporter_InvalidName(t *testing.T) {
le, err := NewLogsExporter(nil, zap.NewNop(), newPushLogsData(nil))
le, err := NewLogsExporter(nil, componenttest.NewNopExporterCreateSettings(), newPushLogsData(nil))
require.Nil(t, le)
require.Equal(t, errNilConfig, err)
}

func TestLogsExporter_NilLogger(t *testing.T) {
le, err := NewLogsExporter(&fakeLogsExporterConfig, nil, newPushLogsData(nil))
le, err := NewLogsExporter(&fakeLogsExporterConfig, component.ExporterCreateSettings{}, newPushLogsData(nil))
require.Nil(t, le)
require.Equal(t, errNilLogger, err)
}

func TestLogsExporter_NilPushLogsData(t *testing.T) {
le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), nil)
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), nil)
require.Nil(t, le)
require.Equal(t, errNilPushLogsData, err)
}

func TestLogsExporter_Default(t *testing.T) {
ld := pdata.NewLogs()
le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(nil))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(nil))
assert.NotNil(t, le)
assert.NoError(t, err)

Expand All @@ -88,7 +87,7 @@ func TestLogsExporter_Default(t *testing.T) {

func TestLogsExporter_WithCapabilities(t *testing.T) {
capabilities := consumer.Capabilities{MutatesData: true}
le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(nil), WithCapabilities(capabilities))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(nil), WithCapabilities(capabilities))
require.NoError(t, err)
require.NotNil(t, le)

Expand All @@ -98,14 +97,14 @@ func TestLogsExporter_WithCapabilities(t *testing.T) {
func TestLogsExporter_Default_ReturnError(t *testing.T) {
ld := pdata.NewLogs()
want := errors.New("my_error")
le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(want))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(want))
require.NoError(t, err)
require.NotNil(t, le)
require.Equal(t, want, le.ConsumeLogs(context.Background(), ld))
}

func TestLogsExporter_WithRecordLogs(t *testing.T) {
le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(nil))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(nil))
require.NoError(t, err)
require.NotNil(t, le)

Expand All @@ -114,7 +113,7 @@ func TestLogsExporter_WithRecordLogs(t *testing.T) {

func TestLogsExporter_WithRecordLogs_ReturnError(t *testing.T) {
want := errors.New("my_error")
le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(want))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(want))
require.Nil(t, err)
require.NotNil(t, le)

Expand All @@ -131,7 +130,7 @@ func TestLogsExporter_WithRecordEnqueueFailedMetrics(t *testing.T) {
qCfg.NumConsumers = 1
qCfg.QueueSize = 2
wantErr := errors.New("some-error")
te, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(wantErr), WithRetry(rCfg), WithQueue(qCfg))
te, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(wantErr), WithRetry(rCfg), WithQueue(qCfg))
require.NoError(t, err)
require.NotNil(t, te)

Expand All @@ -146,15 +145,15 @@ func TestLogsExporter_WithRecordEnqueueFailedMetrics(t *testing.T) {
}

func TestLogsExporter_WithSpan(t *testing.T) {
le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(nil))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(nil))
require.Nil(t, err)
require.NotNil(t, le)
checkWrapSpanForLogsExporter(t, le, nil, 1)
}

func TestLogsExporter_WithSpan_ReturnError(t *testing.T) {
want := errors.New("my_error")
le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(want))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(want))
require.Nil(t, err)
require.NotNil(t, le)
checkWrapSpanForLogsExporter(t, le, want, 1)
Expand All @@ -164,7 +163,7 @@ func TestLogsExporter_WithShutdown(t *testing.T) {
shutdownCalled := false
shutdown := func(context.Context) error { shutdownCalled = true; return nil }

le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(nil), WithShutdown(shutdown))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(nil), WithShutdown(shutdown))
assert.NotNil(t, le)
assert.NoError(t, err)

Expand All @@ -176,7 +175,7 @@ func TestLogsExporter_WithShutdown_ReturnError(t *testing.T) {
want := errors.New("my_error")
shutdownErr := func(context.Context) error { return want }

le, err := NewLogsExporter(&fakeLogsExporterConfig, zap.NewNop(), newPushLogsData(nil), WithShutdown(shutdownErr))
le, err := NewLogsExporter(&fakeLogsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushLogsData(nil), WithShutdown(shutdownErr))
assert.NotNil(t, le)
assert.NoError(t, err)

Expand Down
8 changes: 3 additions & 5 deletions exporter/exporterhelper/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ import (
"context"
"errors"

"go.uber.org/zap"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
Expand Down Expand Up @@ -66,15 +64,15 @@ type metricsExporter struct {
// NewMetricsExporter creates an MetricsExporter that records observability metrics and wraps every request with a Span.
func NewMetricsExporter(
cfg config.Exporter,
logger *zap.Logger,
set component.ExporterCreateSettings,
pusher consumerhelper.ConsumeMetricsFunc,
options ...Option,
) (component.MetricsExporter, error) {
if cfg == nil {
return nil, errNilConfig
}

if logger == nil {
if set.Logger == nil {
return nil, errNilLogger
}

Expand All @@ -83,7 +81,7 @@ func NewMetricsExporter(
}

bs := fromOptions(options...)
be := newBaseExporter(cfg, logger, bs)
be := newBaseExporter(cfg, set.Logger, bs)
be.wrapConsumerSender(func(nextSender requestSender) requestSender {
return &metricsSenderWithObservability{
obsrep: be.obsrep,
Expand Down
31 changes: 15 additions & 16 deletions exporter/exporterhelper/metrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opencensus.io/trace"
"go.uber.org/zap"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
Expand Down Expand Up @@ -56,26 +55,26 @@ func TestMetricsRequest(t *testing.T) {
}

func TestMetricsExporter_InvalidName(t *testing.T) {
me, err := NewMetricsExporter(nil, zap.NewNop(), newPushMetricsData(nil))
me, err := NewMetricsExporter(nil, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil))
require.Nil(t, me)
require.Equal(t, errNilConfig, err)
}

func TestMetricsExporter_NilLogger(t *testing.T) {
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, nil, newPushMetricsData(nil))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, component.ExporterCreateSettings{}, newPushMetricsData(nil))
require.Nil(t, me)
require.Equal(t, errNilLogger, err)
}

func TestMetricsExporter_NilPushMetricsData(t *testing.T) {
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), nil)
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), nil)
require.Nil(t, me)
require.Equal(t, errNilPushMetricsData, err)
}

func TestMetricsExporter_Default(t *testing.T) {
md := pdata.NewMetrics()
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(nil))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil))
assert.NoError(t, err)
assert.NotNil(t, me)

Expand All @@ -87,7 +86,7 @@ func TestMetricsExporter_Default(t *testing.T) {

func TestMetricsExporter_WithCapabilities(t *testing.T) {
capabilities := consumer.Capabilities{MutatesData: true}
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(nil), WithCapabilities(capabilities))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil), WithCapabilities(capabilities))
assert.NoError(t, err)
assert.NotNil(t, me)

Expand All @@ -97,14 +96,14 @@ func TestMetricsExporter_WithCapabilities(t *testing.T) {
func TestMetricsExporter_Default_ReturnError(t *testing.T) {
md := pdata.NewMetrics()
want := errors.New("my_error")
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(want))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(want))
require.NoError(t, err)
require.NotNil(t, me)
require.Equal(t, want, me.ConsumeMetrics(context.Background(), md))
}

func TestMetricsExporter_WithRecordMetrics(t *testing.T) {
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(nil))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil))
require.NoError(t, err)
require.NotNil(t, me)

Expand All @@ -113,7 +112,7 @@ func TestMetricsExporter_WithRecordMetrics(t *testing.T) {

func TestMetricsExporter_WithRecordMetrics_ReturnError(t *testing.T) {
want := errors.New("my_error")
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(want))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(want))
require.NoError(t, err)
require.NotNil(t, me)

Expand All @@ -130,7 +129,7 @@ func TestMetricsExporter_WithRecordEnqueueFailedMetrics(t *testing.T) {
qCfg.NumConsumers = 1
qCfg.QueueSize = 2
wantErr := errors.New("some-error")
te, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(wantErr), WithRetry(rCfg), WithQueue(qCfg))
te, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(wantErr), WithRetry(rCfg), WithQueue(qCfg))
require.NoError(t, err)
require.NotNil(t, te)

Expand All @@ -145,15 +144,15 @@ func TestMetricsExporter_WithRecordEnqueueFailedMetrics(t *testing.T) {
}

func TestMetricsExporter_WithSpan(t *testing.T) {
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(nil))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil))
require.NoError(t, err)
require.NotNil(t, me)
checkWrapSpanForMetricsExporter(t, me, nil, 1)
}

func TestMetricsExporter_WithSpan_ReturnError(t *testing.T) {
want := errors.New("my_error")
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(want))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(want))
require.NoError(t, err)
require.NotNil(t, me)
checkWrapSpanForMetricsExporter(t, me, want, 1)
Expand All @@ -163,7 +162,7 @@ func TestMetricsExporter_WithShutdown(t *testing.T) {
shutdownCalled := false
shutdown := func(context.Context) error { shutdownCalled = true; return nil }

me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(nil), WithShutdown(shutdown))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil), WithShutdown(shutdown))
assert.NotNil(t, me)
assert.NoError(t, err)

Expand All @@ -174,7 +173,7 @@ func TestMetricsExporter_WithShutdown(t *testing.T) {

func TestMetricsExporter_WithResourceToTelemetryConversionDisabled(t *testing.T) {
md := testdata.GenerateMetricsTwoMetrics()
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(nil), WithResourceToTelemetryConversion(defaultResourceToTelemetrySettings()))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil), WithResourceToTelemetryConversion(defaultResourceToTelemetrySettings()))
assert.NotNil(t, me)
assert.NoError(t, err)

Expand All @@ -185,7 +184,7 @@ func TestMetricsExporter_WithResourceToTelemetryConversionDisabled(t *testing.T)

func TestMetricsExporter_WithResourceToTelemetryConversionEnabled(t *testing.T) {
md := testdata.GenerateMetricsTwoMetrics()
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(nil), WithResourceToTelemetryConversion(ResourceToTelemetrySettings{Enabled: true}))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil), WithResourceToTelemetryConversion(ResourceToTelemetrySettings{Enabled: true}))
assert.NotNil(t, me)
assert.NoError(t, err)

Expand All @@ -198,7 +197,7 @@ func TestMetricsExporter_WithShutdown_ReturnError(t *testing.T) {
want := errors.New("my_error")
shutdownErr := func(context.Context) error { return want }

me, err := NewMetricsExporter(&fakeMetricsExporterConfig, zap.NewNop(), newPushMetricsData(nil), WithShutdown(shutdownErr))
me, err := NewMetricsExporter(&fakeMetricsExporterConfig, componenttest.NewNopExporterCreateSettings(), newPushMetricsData(nil), WithShutdown(shutdownErr))
assert.NotNil(t, me)
assert.NoError(t, err)

Expand Down
8 changes: 3 additions & 5 deletions exporter/exporterhelper/traces.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ import (
"context"
"errors"

"go.uber.org/zap"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/consumer"
Expand Down Expand Up @@ -66,7 +64,7 @@ type traceExporter struct {
// NewTracesExporter creates a TracesExporter that records observability metrics and wraps every request with a Span.
func NewTracesExporter(
cfg config.Exporter,
logger *zap.Logger,
set component.ExporterCreateSettings,
pusher consumerhelper.ConsumeTracesFunc,
options ...Option,
) (component.TracesExporter, error) {
Expand All @@ -75,7 +73,7 @@ func NewTracesExporter(
return nil, errNilConfig
}

if logger == nil {
if set.Logger == nil {
return nil, errNilLogger
}

Expand All @@ -84,7 +82,7 @@ func NewTracesExporter(
}

bs := fromOptions(options...)
be := newBaseExporter(cfg, logger, bs)
be := newBaseExporter(cfg, set.Logger, bs)
be.wrapConsumerSender(func(nextSender requestSender) requestSender {
return &tracesExporterWithObservability{
obsrep: be.obsrep,
Expand Down
Loading