aboutsummaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/sdk/Trace/TracerSharedState.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/open-telemetry/sdk/Trace/TracerSharedState.php')
-rw-r--r--vendor/open-telemetry/sdk/Trace/TracerSharedState.php100
1 files changed, 0 insertions, 100 deletions
diff --git a/vendor/open-telemetry/sdk/Trace/TracerSharedState.php b/vendor/open-telemetry/sdk/Trace/TracerSharedState.php
deleted file mode 100644
index d0540cc1f..000000000
--- a/vendor/open-telemetry/sdk/Trace/TracerSharedState.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\SDK\Trace;
-
-use OpenTelemetry\API\Trace as API; /** @phan-suppress-current-line PhanUnreferencedUseNormal */
-use OpenTelemetry\SDK\Common\Future\CancellationInterface;
-use OpenTelemetry\SDK\Resource\ResourceInfo;
-use OpenTelemetry\SDK\Trace\SpanProcessor\MultiSpanProcessor;
-use OpenTelemetry\SDK\Trace\SpanProcessor\NoopSpanProcessor;
-
-/**
- * Stores shared state/config between all {@see API\TracerInterface} created via the same {@see API\TracerProviderInterface}.
- */
-final class TracerSharedState
-{
- /** @readonly */
- private IdGeneratorInterface $idGenerator;
-
- /** @readonly */
- private ResourceInfo $resource;
-
- /** @readonly */
- private SpanLimits $spanLimits;
-
- /** @readonly */
- private SamplerInterface $sampler;
-
- /** @readonly */
- private SpanProcessorInterface $spanProcessor;
-
- private ?bool $shutdownResult = null;
-
- public function __construct(
- IdGeneratorInterface $idGenerator,
- ResourceInfo $resource,
- SpanLimits $spanLimits,
- SamplerInterface $sampler,
- array $spanProcessors
- ) {
- $this->idGenerator = $idGenerator;
- $this->resource = $resource;
- $this->spanLimits = $spanLimits;
- $this->sampler = $sampler;
-
- switch (count($spanProcessors)) {
- case 0:
- $this->spanProcessor = NoopSpanProcessor::getInstance();
-
- break;
- case 1:
- $this->spanProcessor = $spanProcessors[0];
-
- break;
- default:
- $this->spanProcessor = new MultiSpanProcessor(...$spanProcessors);
-
- break;
- }
- }
-
- public function hasShutdown(): bool
- {
- return null !== $this->shutdownResult;
- }
-
- public function getIdGenerator(): IdGeneratorInterface
- {
- return $this->idGenerator;
- }
-
- public function getResource(): ResourceInfo
- {
- return $this->resource;
- }
-
- public function getSpanLimits(): SpanLimits
- {
- return $this->spanLimits;
- }
-
- public function getSampler(): SamplerInterface
- {
- return $this->sampler;
- }
-
- public function getSpanProcessor(): SpanProcessorInterface
- {
- return $this->spanProcessor;
- }
-
- /**
- * Returns `false` is the provider is already shutdown, otherwise `true`.
- */
- public function shutdown(?CancellationInterface $cancellation = null): bool
- {
- return $this->shutdownResult ?? ($this->shutdownResult = $this->spanProcessor->shutdown($cancellation));
- }
-}