Skip to content

Commit 7bd134b

Browse files
committed
Add otel error handler and shutdown timeout to Go interop client and server
1 parent 61f583e commit 7bd134b

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

interop/client/client.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,10 +310,15 @@ func main() {
310310
sdktrace.WithSampler(sdktrace.AlwaysSample()),
311311
)
312312
propagator := propagation.TraceContext{}
313+
otel.SetErrorHandler(otel.ErrorHandlerFunc(func(err error) {
314+
logger.Errorf("OpenTelemetry error: %v", err)
315+
}))
313316
otel.SetTracerProvider(tp)
314317
otel.SetTextMapPropagator(propagator)
315318
defer func() {
316-
if err := tp.Shutdown(context.Background()); err != nil {
319+
ctxShutdown, cancelShutdown := context.WithTimeout(context.Background(), 5*time.Second)
320+
defer cancelShutdown()
321+
if err := tp.Shutdown(ctxShutdown); err != nil {
317322
logger.Errorf("Failed to shutdown TracerProvider: %v", err)
318323
}
319324
}()

interop/server/server.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,15 @@ func main() {
9696
sdktrace.WithSampler(sdktrace.AlwaysSample()),
9797
)
9898
propagator := propagation.TraceContext{}
99+
otel.SetErrorHandler(otel.ErrorHandlerFunc(func(err error) {
100+
logger.Errorf("OpenTelemetry error: %v", err)
101+
}))
99102
otel.SetTracerProvider(tp)
100103
otel.SetTextMapPropagator(propagator)
101104
defer func() {
102-
if err := tp.Shutdown(context.Background()); err != nil {
105+
ctxShutdown, cancelShutdown := context.WithTimeout(context.Background(), 5*time.Second)
106+
defer cancelShutdown()
107+
if err := tp.Shutdown(ctxShutdown); err != nil {
103108
logger.Errorf("Failed to shutdown TracerProvider: %v", err)
104109
}
105110
}()

0 commit comments

Comments
 (0)