// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

// Package global provides the OpenTelemetry global API.
package global // import "go.opentelemetry.io/otel/internal/global" import ( ) // ErrorHandler handles irremediable events. type ErrorHandler interface { // Handle handles any error deemed irremediable by an OpenTelemetry // component. Handle(error) } type ErrDelegator struct { delegate atomic.Pointer[ErrorHandler] } // Compile-time check that delegator implements ErrorHandler. var _ ErrorHandler = (*ErrDelegator)(nil) func ( *ErrDelegator) ( error) { if := .delegate.Load(); != nil { (*).Handle() return } log.Print() } // setDelegate sets the ErrorHandler delegate. func ( *ErrDelegator) ( ErrorHandler) { .delegate.Store(&) }