storage/remote/wal_watcher.go
func (w *WALWatcher) Stop() {
	close(w.quit)
	<-w.done

	// Records read metric has series and samples.
	watcherRecordsRead.DeleteLabelValues(w.name, "series")
	watcherRecordsRead.DeleteLabelValues(w.name, "samples")
	watcherRecordDecodeFails.DeleteLabelValues(w.name)
	watcherSamplesSentPreTailing.DeleteLabelValues(w.name)
	watcherCurrentSegment.DeleteLabelValues(w.name)

	level.Info(w.logger).Log("msg", "WAL watcher stopped", "queue", w.name)
}
func (w *WALWatcher) Stop() {
	close(w.quit)
	<-w.done

	// Records read metric has series and samples.
	watcherRecordsRead.DeleteLabelValues(w.name, "series")
	watcherRecordsRead.DeleteLabelValues(w.name, "samples")
	watcherRecordDecodeFails.DeleteLabelValues(w.name)
	watcherSamplesSentPreTailing.DeleteLabelValues(w.name)
	watcherCurrentSegment.DeleteLabelValues(w.name)

	level.Info(w.logger).Log("msg", "WAL watcher stopped", "queue", w.name)
}
func ( w * WALWatcher ) Stop ( ) { close ( w . quit ) <- w . done // Records read metric has series and samples. watcherRecordsRead . DeleteLabelValues ( w . name , " " ) watcherRecordsRead . DeleteLabelValues ( w . name , " " ) watcherRecordDecodeFails . DeleteLabelValues ( w . name ) watcherSamplesSentPreTailing . DeleteLabelValues ( w . name ) watcherCurrentSegment . DeleteLabelValues ( w . name ) level . Info ( w . logger ) . Log ( " " , " " , " " , w . name ) }
// Stop the WALWatcher.
Stop the WALWatcher .