diff options
Diffstat (limited to 'vendor/open-telemetry/sdk/SdkBuilder.php')
| -rw-r--r-- | vendor/open-telemetry/sdk/SdkBuilder.php | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/vendor/open-telemetry/sdk/SdkBuilder.php b/vendor/open-telemetry/sdk/SdkBuilder.php deleted file mode 100644 index 2090c4731..000000000 --- a/vendor/open-telemetry/sdk/SdkBuilder.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace OpenTelemetry\SDK; - -use OpenTelemetry\API\Instrumentation\Configurator; -use OpenTelemetry\Context\Context; -use OpenTelemetry\Context\Propagation\NoopTextMapPropagator; -use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface; -use OpenTelemetry\Context\ScopeInterface; -use OpenTelemetry\SDK\Common\Util\ShutdownHandler; -use OpenTelemetry\SDK\Logs\LoggerProviderInterface; -use OpenTelemetry\SDK\Logs\NoopLoggerProvider; -use OpenTelemetry\SDK\Metrics\MeterProviderInterface; -use OpenTelemetry\SDK\Metrics\NoopMeterProvider; -use OpenTelemetry\SDK\Trace\NoopTracerProvider; -use OpenTelemetry\SDK\Trace\TracerProviderInterface; - -class SdkBuilder -{ - private ?TracerProviderInterface $tracerProvider = null; - private ?MeterProviderInterface $meterProvider = null; - private ?LoggerProviderInterface $loggerProvider = null; - private ?TextMapPropagatorInterface $propagator = null; - private bool $autoShutdown = false; - - /** - * Automatically shut down providers on process completion. If not set, the user is responsible for calling `shutdown`. - */ - public function setAutoShutdown(bool $shutdown): self - { - $this->autoShutdown = $shutdown; - - return $this; - } - - public function setTracerProvider(TracerProviderInterface $provider): self - { - $this->tracerProvider = $provider; - - return $this; - } - - public function setMeterProvider(MeterProviderInterface $meterProvider): self - { - $this->meterProvider = $meterProvider; - - return $this; - } - - public function setLoggerProvider(LoggerProviderInterface $loggerProvider): self - { - $this->loggerProvider = $loggerProvider; - - return $this; - } - - public function setPropagator(TextMapPropagatorInterface $propagator): self - { - $this->propagator = $propagator; - - return $this; - } - - public function build(): Sdk - { - $tracerProvider = $this->tracerProvider ?? new NoopTracerProvider(); - $meterProvider = $this->meterProvider ?? new NoopMeterProvider(); - $loggerProvider = $this->loggerProvider ?? new NoopLoggerProvider(); - if ($this->autoShutdown) { - // rector rule disabled in config, because ShutdownHandler::register() does not keep a strong reference to $this - ShutdownHandler::register([$tracerProvider, 'shutdown']); - ShutdownHandler::register([$meterProvider, 'shutdown']); - ShutdownHandler::register([$loggerProvider, 'shutdown']); - } - - return new Sdk( - $tracerProvider, - $meterProvider, - $loggerProvider, - $this->propagator ?? NoopTextMapPropagator::getInstance(), - ); - } - - public function buildAndRegisterGlobal(): ScopeInterface - { - $sdk = $this->build(); - $context = Configurator::create() - ->withPropagator($sdk->getPropagator()) - ->withTracerProvider($sdk->getTracerProvider()) - ->withMeterProvider($sdk->getMeterProvider()) - ->withLoggerProvider($sdk->getLoggerProvider()) - ->storeInContext(); - - return Context::storage()->attach($context); - } -} |