func (t *TimestampCollector) Collect(ch chan<- prometheus.Metric) {
	// New map to dedup filenames.
	uniqueFiles := make(map[string]float64)
	t.lock.RLock()
	for fileSD := range t.discoverers {
		fileSD.lock.RLock()
		for filename, timestamp := range fileSD.timestamps {
			uniqueFiles[filename] = timestamp
		}
		fileSD.lock.RUnlock()
	}
	t.lock.RUnlock()
	for filename, timestamp := range uniqueFiles {
		ch <- prometheus.MustNewConstMetric(
			t.Description,
			prometheus.GaugeValue,
			timestamp,
			filename,
		)
	}
}
func (t *TimestampCollector) Collect(ch chan<- prometheus.Metric) {
	
	uniqueFiles := make(map[string]float64)
	t.lock.RLock()
	for fileSD := range t.discoverers {
		fileSD.lock.RLock()
		for filename, timestamp := range fileSD.timestamps {
			uniqueFiles[filename] = timestamp
		}
		fileSD.lock.RUnlock()
	}
	t.lock.RUnlock()
	for filename, timestamp := range uniqueFiles {
		ch <- prometheus.MustNewConstMetric(
			t.Description,
			prometheus.GaugeValue,
			timestamp,
			filename,
		)
	}
}
func ( t * TimestampCollector ) Collect ( ch chan <- prometheus . Metric ) { // New map to dedup filenames. uniqueFiles := make ( map [ string ] float64 ) t . lock . RLock ( ) for fileSD := range t . discoverers { fileSD . lock . RLock ( ) for filename , timestamp := range fileSD . timestamps { uniqueFiles [ filename ] = timestamp } fileSD . lock . RUnlock ( ) } t . lock . RUnlock ( ) for filename , timestamp := range uniqueFiles { ch <- prometheus . MustNewConstMetric ( t . Description , prometheus . GaugeValue , timestamp , filename , ) } }
// Collect creates constant metrics for each file with last modified time of the file.
Collect creates constant metrics for each file with last modified time of the file .