Skip to content

Commit

Permalink
[chore] [exporter/file] Remove unused consumer interfaces implementat…
Browse files Browse the repository at this point in the history
…ion (open-telemetry#18609)

The exporter uses `exporterhelper.New[Metrics|Traces|Logs]Exporter` helpers, implementation of `exporter.[Metrics|Traces|Logs]` interface is not being used, in particular `Capabilities()` method is ignored.
  • Loading branch information
dmitryax committed Feb 13, 2023
1 parent 2509b63 commit d49cea1
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 35 deletions.
10 changes: 7 additions & 3 deletions exporter/fileexporter/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"os"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/exporter"
"go.opentelemetry.io/collector/exporter/exporterhelper"
"gopkg.in/natefinch/lumberjack.v2"
Expand Down Expand Up @@ -78,9 +79,10 @@ func createTracesExporter(
ctx,
set,
cfg,
fe.Unwrap().(*fileExporter).ConsumeTraces,
fe.Unwrap().(*fileExporter).consumeTraces,
exporterhelper.WithStart(fe.Start),
exporterhelper.WithShutdown(fe.Shutdown),
exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}),
)
}

Expand All @@ -101,9 +103,10 @@ func createMetricsExporter(
ctx,
set,
cfg,
fe.Unwrap().(*fileExporter).ConsumeMetrics,
fe.Unwrap().(*fileExporter).consumeMetrics,
exporterhelper.WithStart(fe.Start),
exporterhelper.WithShutdown(fe.Shutdown),
exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}),
)
}

Expand All @@ -124,9 +127,10 @@ func createLogsExporter(
ctx,
set,
cfg,
fe.Unwrap().(*fileExporter).ConsumeLogs,
fe.Unwrap().(*fileExporter).consumeLogs,
exporterhelper.WithStart(fe.Start),
exporterhelper.WithShutdown(fe.Shutdown),
exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}),
)
}

Expand Down
11 changes: 3 additions & 8 deletions exporter/fileexporter/file_exporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (
"sync"

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/pdata/plog"
"go.opentelemetry.io/collector/pdata/pmetric"
"go.opentelemetry.io/collector/pdata/ptrace"
Expand Down Expand Up @@ -61,11 +60,7 @@ type fileExporter struct {
exporter exportFunc
}

func (e *fileExporter) Capabilities() consumer.Capabilities {
return consumer.Capabilities{MutatesData: false}
}

func (e *fileExporter) ConsumeTraces(_ context.Context, td ptrace.Traces) error {
func (e *fileExporter) consumeTraces(_ context.Context, td ptrace.Traces) error {
buf, err := e.tracesMarshaler.MarshalTraces(td)
if err != nil {
return err
Expand All @@ -74,7 +69,7 @@ func (e *fileExporter) ConsumeTraces(_ context.Context, td ptrace.Traces) error
return e.exporter(e, buf)
}

func (e *fileExporter) ConsumeMetrics(_ context.Context, md pmetric.Metrics) error {
func (e *fileExporter) consumeMetrics(_ context.Context, md pmetric.Metrics) error {
buf, err := e.metricsMarshaler.MarshalMetrics(md)
if err != nil {
return err
Expand All @@ -83,7 +78,7 @@ func (e *fileExporter) ConsumeMetrics(_ context.Context, md pmetric.Metrics) err
return e.exporter(e, buf)
}

func (e *fileExporter) ConsumeLogs(_ context.Context, ld plog.Logs) error {
func (e *fileExporter) consumeLogs(_ context.Context, ld plog.Logs) error {
buf, err := e.logsMarshaler.MarshalLogs(ld)
if err != nil {
return err
Expand Down
33 changes: 9 additions & 24 deletions exporter/fileexporter/file_exporter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,8 @@ func TestFileTracesExporter(t *testing.T) {

td := testdata.GenerateTracesTwoSpansSameResource()
assert.NoError(t, fe.Start(context.Background(), componenttest.NewNopHost()))
assert.NoError(t, fe.ConsumeTraces(context.Background(), td))
assert.NoError(t, fe.ConsumeTraces(context.Background(), td))
assert.NoError(t, fe.consumeTraces(context.Background(), td))
assert.NoError(t, fe.consumeTraces(context.Background(), td))
assert.NoError(t, fe.Shutdown(context.Background()))

fi, err := os.Open(fe.path)
Expand Down Expand Up @@ -174,7 +174,7 @@ func TestFileTracesExporterError(t *testing.T) {

td := testdata.GenerateTracesTwoSpansSameResource()
// Cannot call Start since we inject directly the WriterCloser.
assert.Error(t, fe.ConsumeTraces(context.Background(), td))
assert.Error(t, fe.consumeTraces(context.Background(), td))
assert.NoError(t, fe.Shutdown(context.Background()))
}

Expand Down Expand Up @@ -265,8 +265,8 @@ func TestFileMetricsExporter(t *testing.T) {

md := testdata.GenerateMetricsTwoMetrics()
assert.NoError(t, fe.Start(context.Background(), componenttest.NewNopHost()))
assert.NoError(t, fe.ConsumeMetrics(context.Background(), md))
assert.NoError(t, fe.ConsumeMetrics(context.Background(), md))
assert.NoError(t, fe.consumeMetrics(context.Background(), md))
assert.NoError(t, fe.consumeMetrics(context.Background(), md))
assert.NoError(t, fe.Shutdown(context.Background()))

fi, err := os.Open(fe.path)
Expand Down Expand Up @@ -310,7 +310,7 @@ func TestFileMetricsExporterError(t *testing.T) {

md := testdata.GenerateMetricsTwoMetrics()
// Cannot call Start since we inject directly the WriterCloser.
assert.Error(t, fe.ConsumeMetrics(context.Background(), md))
assert.Error(t, fe.consumeMetrics(context.Background(), md))
assert.NoError(t, fe.Shutdown(context.Background()))
}

Expand Down Expand Up @@ -401,8 +401,8 @@ func TestFileLogsExporter(t *testing.T) {

ld := testdata.GenerateLogsTwoLogRecordsSameResource()
assert.NoError(t, fe.Start(context.Background(), componenttest.NewNopHost()))
assert.NoError(t, fe.ConsumeLogs(context.Background(), ld))
assert.NoError(t, fe.ConsumeLogs(context.Background(), ld))
assert.NoError(t, fe.consumeLogs(context.Background(), ld))
assert.NoError(t, fe.consumeLogs(context.Background(), ld))
assert.NoError(t, fe.Shutdown(context.Background()))

fi, err := os.Open(fe.path)
Expand Down Expand Up @@ -444,25 +444,10 @@ func TestFileLogsExporterErrors(t *testing.T) {

ld := testdata.GenerateLogsTwoLogRecordsSameResource()
// Cannot call Start since we inject directly the WriterCloser.
assert.Error(t, fe.ConsumeLogs(context.Background(), ld))
assert.Error(t, fe.consumeLogs(context.Background(), ld))
assert.NoError(t, fe.Shutdown(context.Background()))
}

func Test_fileExporter_Capabilities(t *testing.T) {
path := tempFileName(t)
fe := &fileExporter{
path: path,
formatType: formatTypeJSON,
file: &lumberjack.Logger{
Filename: path,
},
metricsMarshaler: metricsMarshalers[formatTypeJSON],
exporter: exportMessageAsLine,
}
require.NotNil(t, fe)
require.NotNil(t, fe.Capabilities())
}

func TestExportMessageAsBuffer(t *testing.T) {
path := tempFileName(t)
fe := &fileExporter{
Expand Down

0 comments on commit d49cea1

Please sign in to comment.