function Meter::createObservableGauge
Overrides MeterInterface::createObservableGauge
File
-
vendor/
open-telemetry/ sdk/ Metrics/ Meter.php, line 221
Class
- Meter
- @internal
Namespace
OpenTelemetry\SDK\MetricsCode
public function createObservableGauge(string $name, ?string $unit = null, ?string $description = null, $advisory = [], callable ...$callbacks) : ObservableGaugeInterface {
if (is_callable($advisory)) {
array_unshift($callbacks, $advisory);
$advisory = [];
}
[
$instrument,
$referenceCounter,
] = $this->createAsynchronousObserver(InstrumentType::ASYNCHRONOUS_GAUGE, $name, $unit, $description, $advisory);
foreach ($callbacks as $callback) {
$this->writer
->registerCallback(closure($callback), $instrument);
$referenceCounter->acquire(true);
}
return new ObservableGauge($this->writer, $instrument, $referenceCounter, $this->destructors);
}