From 9c14430929cd8d3f9a8b72a22790cc014462724f Mon Sep 17 00:00:00 2001 From: Naseem Date: Wed, 24 Mar 2021 15:21:40 -0400 Subject: [PATCH] configure obsReport.NewExporter with struct (#2668) fixes #2643 Signed-off-by: naseemkullah --- exporter/exporterhelper/logshelper.go | 5 ++++- exporter/exporterhelper/metricshelper.go | 5 ++++- exporter/exporterhelper/tracehelper.go | 6 +++++- exporter/prometheusexporter/prometheus.go | 5 ++++- obsreport/obsreport_exporter.go | 8 +++++++- obsreport/obsreport_test.go | 6 +++--- obsreport/obsreporttest/obsreporttest_test.go | 15 ++++++++++++--- 7 files changed, 39 insertions(+), 11 deletions(-) diff --git a/exporter/exporterhelper/logshelper.go b/exporter/exporterhelper/logshelper.go index 0861cfc8dd2b8..5ca03f1ebbaa5 100644 --- a/exporter/exporterhelper/logshelper.go +++ b/exporter/exporterhelper/logshelper.go @@ -92,7 +92,10 @@ func NewLogsExporter( be := newBaseExporter(cfg, logger, options...) be.wrapConsumerSender(func(nextSender requestSender) requestSender { return &logsExporterWithObservability{ - obsrep: obsreport.NewExporter(configtelemetry.GetMetricsLevelFlagValue(), cfg.Name()), + obsrep: obsreport.NewExporter(obsreport.ExporterSettings{ + Level: configtelemetry.GetMetricsLevelFlagValue(), + ExporterName: cfg.Name(), + }), nextSender: nextSender, } }) diff --git a/exporter/exporterhelper/metricshelper.go b/exporter/exporterhelper/metricshelper.go index 4b9a99e7de938..8b302b0056f18 100644 --- a/exporter/exporterhelper/metricshelper.go +++ b/exporter/exporterhelper/metricshelper.go @@ -96,7 +96,10 @@ func NewMetricsExporter( be := newBaseExporter(cfg, logger, options...) be.wrapConsumerSender(func(nextSender requestSender) requestSender { return &metricsSenderWithObservability{ - obsrep: obsreport.NewExporter(configtelemetry.GetMetricsLevelFlagValue(), cfg.Name()), + obsrep: obsreport.NewExporter(obsreport.ExporterSettings{ + Level: configtelemetry.GetMetricsLevelFlagValue(), + ExporterName: cfg.Name(), + }), nextSender: nextSender, } }) diff --git a/exporter/exporterhelper/tracehelper.go b/exporter/exporterhelper/tracehelper.go index ef18f8dee2c9d..42b2e5bf6cff4 100644 --- a/exporter/exporterhelper/tracehelper.go +++ b/exporter/exporterhelper/tracehelper.go @@ -93,7 +93,11 @@ func NewTraceExporter( be := newBaseExporter(cfg, logger, options...) be.wrapConsumerSender(func(nextSender requestSender) requestSender { return &tracesExporterWithObservability{ - obsrep: obsreport.NewExporter(configtelemetry.GetMetricsLevelFlagValue(), cfg.Name()), + obsrep: obsreport.NewExporter( + obsreport.ExporterSettings{ + Level: configtelemetry.GetMetricsLevelFlagValue(), + ExporterName: cfg.Name(), + }), nextSender: nextSender, } }) diff --git a/exporter/prometheusexporter/prometheus.go b/exporter/prometheusexporter/prometheus.go index 33a0a0897cd5e..9365a27423c64 100644 --- a/exporter/prometheusexporter/prometheus.go +++ b/exporter/prometheusexporter/prometheus.go @@ -49,7 +49,10 @@ func newPrometheusExporter(config *Config, logger *zap.Logger) (*prometheusExpor return nil, errBlankPrometheusAddress } - obsrep := obsreport.NewExporter(configtelemetry.GetMetricsLevelFlagValue(), config.Name()) + obsrep := obsreport.NewExporter(obsreport.ExporterSettings{ + Level: configtelemetry.GetMetricsLevelFlagValue(), + ExporterName: config.Name(), + }) collector := newCollector(config, logger) registry := prometheus.NewRegistry() diff --git a/obsreport/obsreport_exporter.go b/obsreport/obsreport_exporter.go index 66fd6bfa8a712..3d723bfb5f7aa 100644 --- a/obsreport/obsreport_exporter.go +++ b/obsreport/obsreport_exporter.go @@ -89,7 +89,13 @@ type Exporter struct { mutators []tag.Mutator } -func NewExporter(level configtelemetry.Level, exporterName string) *Exporter { +type ExporterSettings struct { + Level configtelemetry.Level + ExporterName string +} + +func NewExporter(cfg ExporterSettings) *Exporter { + level, exporterName := cfg.Level, cfg.ExporterName return &Exporter{ level: level, exporterName: exporterName, diff --git a/obsreport/obsreport_test.go b/obsreport/obsreport_test.go index e647cbd225d6a..8320676e3efdb 100644 --- a/obsreport/obsreport_test.go +++ b/obsreport/obsreport_test.go @@ -338,7 +338,7 @@ func TestExportTraceDataOp(t *testing.T) { t.Name(), trace.WithSampler(trace.AlwaysSample())) defer parentSpan.End() - obsrep := obsreport.NewExporter(configtelemetry.LevelNormal, exporter) + obsrep := obsreport.NewExporter(obsreport.ExporterSettings{configtelemetry.LevelNormal, exporter}) errs := []error{nil, errFake} numExportedSpans := []int{22, 14} for i, err := range errs { @@ -385,7 +385,7 @@ func TestExportMetricsOp(t *testing.T) { t.Name(), trace.WithSampler(trace.AlwaysSample())) defer parentSpan.End() - obsrep := obsreport.NewExporter(configtelemetry.LevelNormal, exporter) + obsrep := obsreport.NewExporter(obsreport.ExporterSettings{configtelemetry.LevelNormal, exporter}) errs := []error{nil, errFake} toSendMetricPoints := []int{17, 23} @@ -434,7 +434,7 @@ func TestExportLogsOp(t *testing.T) { t.Name(), trace.WithSampler(trace.AlwaysSample())) defer parentSpan.End() - obsrep := obsreport.NewExporter(configtelemetry.LevelNormal, exporter) + obsrep := obsreport.NewExporter(obsreport.ExporterSettings{configtelemetry.LevelNormal, exporter}) errs := []error{nil, errFake} toSendLogRecords := []int{17, 23} for i, err := range errs { diff --git a/obsreport/obsreporttest/obsreporttest_test.go b/obsreport/obsreporttest/obsreporttest_test.go index efb023436dfee..1aed709f5a70d 100644 --- a/obsreport/obsreporttest/obsreporttest_test.go +++ b/obsreport/obsreporttest/obsreporttest_test.go @@ -81,7 +81,10 @@ func TestCheckExporterTracesViews(t *testing.T) { require.NoError(t, err) defer doneFn() - obsrep := obsreport.NewExporter(configtelemetry.LevelNormal, exporter) + obsrep := obsreport.NewExporter(obsreport.ExporterSettings{ + Level: configtelemetry.LevelNormal, + ExporterName: exporter, + }) ctx := obsrep.StartTracesExportOp(context.Background()) assert.NotNil(t, ctx) @@ -95,7 +98,10 @@ func TestCheckExporterMetricsViews(t *testing.T) { require.NoError(t, err) defer doneFn() - obsrep := obsreport.NewExporter(configtelemetry.LevelNormal, exporter) + obsrep := obsreport.NewExporter(obsreport.ExporterSettings{ + Level: configtelemetry.LevelNormal, + ExporterName: exporter, + }) ctx := obsrep.StartMetricsExportOp(context.Background()) assert.NotNil(t, ctx) @@ -109,7 +115,10 @@ func TestCheckExporterLogsViews(t *testing.T) { require.NoError(t, err) defer doneFn() - obsrep := obsreport.NewExporter(configtelemetry.LevelNormal, exporter) + obsrep := obsreport.NewExporter(obsreport.ExporterSettings{ + Level: configtelemetry.LevelNormal, + ExporterName: exporter, + }) ctx := obsrep.StartLogsExportOp(context.Background()) assert.NotNil(t, ctx) obsrep.EndLogsExportOp(ctx, 7, nil)