provider = $provider; $this->reader = $reader; } public function collectionTimestamp(): int { return $this->provider->stream->timestamp(); } public function collect(): Metric { return new Metric( $this->provider->instrumentationLibrary, $this->provider->resource, $this->provider->view->name, $this->provider->view->unit, $this->provider->view->description, $this->provider->stream->collect($this->reader), ); } public function __destruct() { $this->provider->stream->unregister($this->reader); } }