func gracefullyShutdown()

in pkg/otel_setup.go [217:246]


func gracefullyShutdown(ctx context.Context) {
	if metricsProvider != nil {
		mp, ok := metricsProvider.(*metric.MeterProvider)
		if ok {
			if err := mp.Shutdown(ctx); err != nil {
				log.Printf("%s: %v", "Failed to shutdown the OpenTelemetry metric provider", err)
			}
		}
	}
	if traceProvider != nil {
		if err := traceProvider.Shutdown(ctx); err != nil {
			log.Printf("%s: %v", "Failed to shutdown the OpenTelemetry trace provider", err)
		}
	}
	if spanExporter != nil {
		if err := spanExporter.Shutdown(ctx); err != nil {
			log.Printf("%s: %v", "Failed to shutdown the OpenTelemetry span exporter", err)
		}
	}
	if metricExporter != nil {
		if err := metricExporter.Shutdown(ctx); err != nil {
			log.Printf("%s: %v", "Failed to shutdown the OpenTelemetry metric exporter", err)
		}
	}
	if batchSpanProcessor != nil {
		if err := batchSpanProcessor.Shutdown(ctx); err != nil {
			log.Printf("%s: %v", "Failed to shutdown the OpenTelemetry batch span processor", err)
		}
	}
}