Attach __meta_filepath label to file SD targets.

This commit is contained in:
Fabian Reinartz 2015-05-19 15:24:26 +02:00
parent ec9c51ab98
commit ff832d2e03

View File

@ -26,8 +26,12 @@ import (
"gopkg.in/yaml.v2"
"github.com/prometheus/prometheus/config"
clientmodel "github.com/prometheus/client_golang/model"
)
const FileSDFilepathLabel = clientmodel.MetaLabelPrefix + "filepath"
// FileDiscovery provides service discovery functionality based
// on files that contain target groups in JSON or YAML format. Refreshing
// happens using file watches and periodic refreshes.
@ -196,7 +200,7 @@ func fileSource(filename string, i int) string {
// Stop implements the TargetProvider interface.
func (fd *FileDiscovery) Stop() {
glog.V(1).Info("Stopping file discovery for %s...", fd.paths)
glog.V(1).Infof("Stopping file discovery for %s...", fd.paths)
fd.done <- struct{}{}
// Closing the watcher will deadlock unless all events and errors are drained.
@ -215,7 +219,7 @@ func (fd *FileDiscovery) Stop() {
fd.done <- struct{}{}
glog.V(1).Info("File discovery for %s stopped.", fd.paths)
glog.V(1).Infof("File discovery for %s stopped.", fd.paths)
}
// readFile reads a JSON or YAML list of targets groups from the file, depending on its
@ -243,6 +247,9 @@ func readFile(filename string) ([]*config.TargetGroup, error) {
for i, tg := range targetGroups {
tg.Source = fileSource(filename, i)
tg.Labels = clientmodel.LabelSet{
FileSDFilepathLabel: clientmodel.LabelValue(filename),
}
}
return targetGroups, nil
}