aboutsummaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/sdk/Metrics/MeterProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/open-telemetry/sdk/Metrics/MeterProvider.php')
-rw-r--r--vendor/open-telemetry/sdk/Metrics/MeterProvider.php130
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();
- }
-}