Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ObservableInstrumentTrait.php

trait ObservableInstrumentTrait

@internal

Hierarchy

  • trait \OpenTelemetry\SDK\Metrics\ObservableInstrumentTrait

File

vendor/open-telemetry/sdk/Metrics/ObservableInstrumentTrait.php, line 16

Namespace

OpenTelemetry\SDK\Metrics
View source
trait ObservableInstrumentTrait {
    public function __construct(MetricWriterInterface $writer, Instrument $instrument, ReferenceCounterInterface $referenceCounter, ArrayAccess $destructors) {
        assert($this instanceof InstrumentHandle);
        $this->referenceCounter
            ->acquire();
    }
    public function __destruct() {
        $this->referenceCounter
            ->release();
    }
    public function getHandle() : Instrument {
        return $this->instrument;
    }
    
    /**
     * @param callable(ObserverInterface): void $callback
     */
    public function observe(callable $callback) : ObservableCallbackInterface {
        return AsynchronousInstruments::observe($this->writer, $this->destructors, $callback, [
            $this->instrument,
        ], $this->referenceCounter);
    }
    public function isEnabled() : bool {
        return $this->writer
            ->enabled($this->instrument);
    }

}

Members

Title Sort descending Modifiers Object type Summary
ObservableInstrumentTrait::getHandle public function
ObservableInstrumentTrait::isEnabled public function
ObservableInstrumentTrait::observe public function
ObservableInstrumentTrait::__construct public function
ObservableInstrumentTrait::__destruct public function
RSS feed
Powered by Drupal