trait ObservableInstrumentTrait
@internal
Hierarchy
- trait \OpenTelemetry\SDK\Metrics\ObservableInstrumentTrait
File
-
vendor/
open-telemetry/ sdk/ Metrics/ ObservableInstrumentTrait.php, line 16
Namespace
OpenTelemetry\SDK\MetricsView 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 |