diff --git a/src/OpenTelemetryServiceProvider.php b/src/OpenTelemetryServiceProvider.php index a20b5e0..634a33f 100644 --- a/src/OpenTelemetryServiceProvider.php +++ b/src/OpenTelemetryServiceProvider.php @@ -12,6 +12,7 @@ use OpenTelemetry\API\Globals; use OpenTelemetry\API\Metrics\MeterInterface; use OpenTelemetry\API\Trace\TracerInterface; +use OpenTelemetry\SDK\Common\Util\ShutdownHandler; use OpenTelemetry\SDK\Metrics\MeterProviderFactory; use OpenTelemetry\SDK\Resource\Detectors\Sdk; use Overtrue\LaravelOpenTelemetry\Console\Commands\TestCommand; @@ -69,6 +70,7 @@ public function register(): void $this->app->singleton(MeterInterface::class, function () { $resourceInfo = (new Sdk)->getResource(); $meterProvider = (new MeterProviderFactory)->create($resourceInfo); + ShutdownHandler::register($meterProvider->shutdown(...)); Metric::setProvider($meterProvider); return $meterProvider->getMeter(config('otel.meter_name', 'overtrue.laravel-open-telemetry'));