diff options
Diffstat (limited to 'vendor/open-telemetry/sdk/Metrics/MeterProvider.php')
| -rw-r--r-- | vendor/open-telemetry/sdk/Metrics/MeterProvider.php | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/vendor/open-telemetry/sdk/Metrics/MeterProvider.php b/vendor/open-telemetry/sdk/Metrics/MeterProvider.php deleted file mode 100644 index 36c17cf81..000000000 --- a/vendor/open-telemetry/sdk/Metrics/MeterProvider.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace OpenTelemetry\SDK\Metrics; - -use OpenTelemetry\API\Metrics\MeterInterface; -use OpenTelemetry\API\Metrics\Noop\NoopMeter; -use OpenTelemetry\Context\ContextStorageInterface; -use OpenTelemetry\SDK\Common\Attribute\AttributesFactoryInterface; -use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactoryInterface; -use OpenTelemetry\SDK\Common\Time\ClockInterface; -use OpenTelemetry\SDK\Metrics\Exemplar\ExemplarFilterInterface; -use OpenTelemetry\SDK\Metrics\MetricFactory\StreamFactory; -use OpenTelemetry\SDK\Metrics\MetricRegistry\MetricRegistry; -use OpenTelemetry\SDK\Metrics\MetricRegistry\MetricRegistryInterface; -use OpenTelemetry\SDK\Metrics\MetricRegistry\MetricWriterInterface; -use OpenTelemetry\SDK\Resource\ResourceInfo; -use OpenTelemetry\SDK\Sdk; - -final class MeterProvider implements MeterProviderInterface -{ - private MetricFactoryInterface $metricFactory; - private ResourceInfo $resource; - private ClockInterface $clock; - private InstrumentationScopeFactoryInterface $instrumentationScopeFactory; - private iterable $metricReaders; - private ViewRegistryInterface $viewRegistry; - private ?ExemplarFilterInterface $exemplarFilter; - private StalenessHandlerFactoryInterface $stalenessHandlerFactory; - private MeterInstruments $instruments; - private MetricRegistryInterface $registry; - private MetricWriterInterface $writer; - - private bool $closed = false; - - /** - * @param iterable<MetricReaderInterface&MetricSourceRegistryInterface&DefaultAggregationProviderInterface> $metricReaders - */ - public function __construct( - ?ContextStorageInterface $contextStorage, - ResourceInfo $resource, - ClockInterface $clock, - AttributesFactoryInterface $attributesFactory, - InstrumentationScopeFactoryInterface $instrumentationScopeFactory, - iterable $metricReaders, - ViewRegistryInterface $viewRegistry, - ?ExemplarFilterInterface $exemplarFilter, - StalenessHandlerFactoryInterface $stalenessHandlerFactory, - MetricFactoryInterface $metricFactory = null - ) { - $this->metricFactory = $metricFactory ?? new StreamFactory(); - $this->resource = $resource; - $this->clock = $clock; - $this->instrumentationScopeFactory = $instrumentationScopeFactory; - $this->metricReaders = $metricReaders; - $this->viewRegistry = $viewRegistry; - $this->exemplarFilter = $exemplarFilter; - $this->stalenessHandlerFactory = $stalenessHandlerFactory; - $this->instruments = new MeterInstruments(); - - $registry = new MetricRegistry($contextStorage, $attributesFactory, $clock); - $this->registry = $registry; - $this->writer = $registry; - } - - public function getMeter( - string $name, - ?string $version = null, - ?string $schemaUrl = null, - iterable $attributes = [] - ): MeterInterface { - if ($this->closed || Sdk::isDisabled()) { //@todo create meter provider from factory, and move Sdk::isDisabled() there - return new NoopMeter(); - } - - return new Meter( - $this->metricFactory, - $this->resource, - $this->clock, - $this->stalenessHandlerFactory, - $this->metricReaders, - $this->viewRegistry, - $this->exemplarFilter, - $this->instruments, - $this->instrumentationScopeFactory->create($name, $version, $schemaUrl, $attributes), - $this->registry, - $this->writer, - ); - } - - public function shutdown(): bool - { - if ($this->closed) { - return false; - } - - $this->closed = true; - - $success = true; - foreach ($this->metricReaders as $metricReader) { - if (!$metricReader->shutdown()) { - $success = false; - } - } - - return $success; - } - - public function forceFlush(): bool - { - if ($this->closed) { - return false; - } - - $success = true; - foreach ($this->metricReaders as $metricReader) { - if (!$metricReader->forceFlush()) { - $success = false; - } - } - - return $success; - } - - public static function builder(): MeterProviderBuilder - { - return new MeterProviderBuilder(); - } -} |