@@ -10,8 +10,10 @@ import (
10
10
"go.opentelemetry.io/otel"
11
11
"go.opentelemetry.io/otel/attribute"
12
12
"go.opentelemetry.io/otel/propagation"
13
+ "go.opentelemetry.io/otel/sdk/metric"
13
14
sdkmetric "go.opentelemetry.io/otel/sdk/metric"
14
15
"go.opentelemetry.io/otel/sdk/resource"
16
+ "go.opentelemetry.io/otel/sdk/trace"
15
17
sdktrace "go.opentelemetry.io/otel/sdk/trace"
16
18
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
17
19
"go.uber.org/zap"
@@ -63,7 +65,7 @@ func NewTelemetry(cfg *Config) (*Telemetry, error) {
63
65
resourceAttr ... ,
64
66
)
65
67
66
- spanExporter , err := autoexport . NewSpanExporter ( context . Background () )
68
+ spanExporter , err := newSpanExporter ( )
67
69
if err != nil {
68
70
return nil , err
69
71
}
@@ -77,7 +79,7 @@ func NewTelemetry(cfg *Config) (*Telemetry, error) {
77
79
otel .SetTextMapPropagator (propagation .NewCompositeTextMapPropagator (propagation.TraceContext {},
78
80
propagation.Baggage {}, b3 .New ()))
79
81
80
- metricsReader , err := autoexport . NewMetricReader ( context . Background () )
82
+ metricsReader , err := newMetricReader ( )
81
83
if err != nil {
82
84
return nil , err
83
85
}
@@ -108,3 +110,31 @@ func NewTelemetryMock() *Telemetry {
108
110
Logger : NewLoggerMock (),
109
111
}
110
112
}
113
+
114
+ func newMetricReader () (sdkmetric.Reader , error ) {
115
+ return autoexport .NewMetricReader (context .Background (),
116
+ autoexport .WithFallbackMetricReader (func (_ context.Context ) (sdkmetric.Reader , error ) {
117
+ return metric .NewManualReader (), nil
118
+ }),
119
+ )
120
+ }
121
+
122
+ func newSpanExporter () (sdktrace.SpanExporter , error ) {
123
+ return autoexport .NewSpanExporter (context .Background (), autoexport .WithFallbackSpanExporter (
124
+ func (_ context.Context ) (sdktrace.SpanExporter , error ) {
125
+ return noopSpanExporter {}, nil
126
+ },
127
+ ))
128
+ }
129
+
130
+ type noopSpanExporter struct {}
131
+
132
+ var _ trace.SpanExporter = noopSpanExporter {}
133
+
134
+ func (e noopSpanExporter ) ExportSpans (_ context.Context , _ []trace.ReadOnlySpan ) error {
135
+ return nil
136
+ }
137
+
138
+ func (e noopSpanExporter ) Shutdown (_ context.Context ) error {
139
+ return nil
140
+ }
0 commit comments