diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2024-10-01 16:00:34 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2024-10-01 16:00:34 +0300 |
| commit | 884fd92f1320d17daebb772297da03fb2cfa59b8 (patch) | |
| tree | 3aa80af1df6ffa1d70f21f9fc4411f451c8b6c56 /vendor/open-telemetry/sdk/Metrics/ObservableInstrumentTrait.php | |
| parent | 8fcc68baf5b0ff964a0a4a045353462586e0e316 (diff) | |
drop opentelemetry
Diffstat (limited to 'vendor/open-telemetry/sdk/Metrics/ObservableInstrumentTrait.php')
| -rw-r--r-- | vendor/open-telemetry/sdk/Metrics/ObservableInstrumentTrait.php | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/vendor/open-telemetry/sdk/Metrics/ObservableInstrumentTrait.php b/vendor/open-telemetry/sdk/Metrics/ObservableInstrumentTrait.php deleted file mode 100644 index b7fdcf5f8..000000000 --- a/vendor/open-telemetry/sdk/Metrics/ObservableInstrumentTrait.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace OpenTelemetry\SDK\Metrics; - -use ArrayAccess; -use OpenTelemetry\API\Metrics\ObservableCallbackInterface; -use OpenTelemetry\API\Metrics\ObserverInterface; -use function OpenTelemetry\SDK\Common\Util\closure; -use function OpenTelemetry\SDK\Common\Util\weaken; -use OpenTelemetry\SDK\Metrics\MetricRegistry\MetricWriterInterface; - -/** - * @internal - */ -trait ObservableInstrumentTrait -{ - private MetricWriterInterface $writer; - private Instrument $instrument; - private ReferenceCounterInterface $referenceCounter; - private ArrayAccess $destructors; - - public function __construct( - MetricWriterInterface $writer, - Instrument $instrument, - ReferenceCounterInterface $referenceCounter, - ArrayAccess $destructors - ) { - $this->writer = $writer; - $this->instrument = $instrument; - $this->referenceCounter = $referenceCounter; - $this->destructors = $destructors; - - $this->referenceCounter->acquire(); - } - - public function __destruct() - { - $this->referenceCounter->release(); - } - - /** - * @param callable(ObserverInterface): void $callback - */ - public function observe(callable $callback): ObservableCallbackInterface - { - $callback = weaken(closure($callback), $target); - - $callbackId = $this->writer->registerCallback($callback, $this->instrument); - $this->referenceCounter->acquire(); - - $destructor = null; - if ($target) { - $destructor = $this->destructors[$target] ??= new ObservableCallbackDestructor($this->writer, $this->referenceCounter); - $destructor->callbackIds[$callbackId] = $callbackId; - } - - return new ObservableCallback($this->writer, $this->referenceCounter, $callbackId, $destructor, $target); - } -} |