summaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/sdk/Trace/TracerProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/open-telemetry/sdk/Trace/TracerProvider.php')
-rw-r--r--vendor/open-telemetry/sdk/Trace/TracerProvider.php99
1 files changed, 0 insertions, 99 deletions
diff --git a/vendor/open-telemetry/sdk/Trace/TracerProvider.php b/vendor/open-telemetry/sdk/Trace/TracerProvider.php
deleted file mode 100644
index fdae4aea2..000000000
--- a/vendor/open-telemetry/sdk/Trace/TracerProvider.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\SDK\Trace;
-
-use function is_array;
-use OpenTelemetry\API\Trace as API;
-use OpenTelemetry\API\Trace\NoopTracer;
-use OpenTelemetry\SDK\Common\Attribute\Attributes;
-use OpenTelemetry\SDK\Common\Future\CancellationInterface;
-use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
-use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactoryInterface;
-use OpenTelemetry\SDK\Resource\ResourceInfo;
-use OpenTelemetry\SDK\Resource\ResourceInfoFactory;
-use OpenTelemetry\SDK\Trace\Sampler\AlwaysOnSampler;
-use OpenTelemetry\SDK\Trace\Sampler\ParentBased;
-
-final class TracerProvider implements TracerProviderInterface
-{
- /** @readonly */
- private TracerSharedState $tracerSharedState;
- private InstrumentationScopeFactoryInterface $instrumentationScopeFactory;
-
- /** @param list<SpanProcessorInterface>|SpanProcessorInterface|null $spanProcessors */
- public function __construct(
- $spanProcessors = [],
- SamplerInterface $sampler = null,
- ResourceInfo $resource = null,
- SpanLimits $spanLimits = null,
- IdGeneratorInterface $idGenerator = null,
- ?InstrumentationScopeFactoryInterface $instrumentationScopeFactory = null
- ) {
- if (null === $spanProcessors) {
- $spanProcessors = [];
- }
-
- $spanProcessors = is_array($spanProcessors) ? $spanProcessors : [$spanProcessors];
- $resource ??= ResourceInfoFactory::defaultResource();
- $sampler ??= new ParentBased(new AlwaysOnSampler());
- $idGenerator ??= new RandomIdGenerator();
- $spanLimits ??= (new SpanLimitsBuilder())->build();
-
- $this->tracerSharedState = new TracerSharedState(
- $idGenerator,
- $resource,
- $spanLimits,
- $sampler,
- $spanProcessors
- );
- $this->instrumentationScopeFactory = $instrumentationScopeFactory ?? new InstrumentationScopeFactory(Attributes::factory());
- }
-
- public function forceFlush(?CancellationInterface $cancellation = null): bool
- {
- return $this->tracerSharedState->getSpanProcessor()->forceFlush($cancellation);
- }
-
- /**
- * @inheritDoc
- */
- public function getTracer(
- string $name,
- ?string $version = null,
- ?string $schemaUrl = null,
- iterable $attributes = []
- ): API\TracerInterface {
- if ($this->tracerSharedState->hasShutdown()) {
- return NoopTracer::getInstance();
- }
-
- return new Tracer(
- $this->tracerSharedState,
- $this->instrumentationScopeFactory->create($name, $version, $schemaUrl, $attributes),
- );
- }
-
- public function getSampler(): SamplerInterface
- {
- return $this->tracerSharedState->getSampler();
- }
-
- /**
- * Returns `false` is the provider is already shutdown, otherwise `true`.
- */
- public function shutdown(?CancellationInterface $cancellation = null): bool
- {
- if ($this->tracerSharedState->hasShutdown()) {
- return true;
- }
-
- return $this->tracerSharedState->shutdown($cancellation);
- }
-
- public static function builder(): TracerProviderBuilder
- {
- return new TracerProviderBuilder();
- }
-}