Documentation ¶
Index ¶
- Variables
- type Discovery
- type SDConfig
- func (*SDConfig) Name() string
- func (c *SDConfig) NewDiscoverer(opts discovery.DiscovererOptions) (discovery.Discoverer, error)
- func (*SDConfig) NewDiscovererMetrics(reg prometheus.Registerer, rmi discovery.RefreshMetricsInstantiator) discovery.DiscovererMetrics
- func (c *SDConfig) SetDirectory(dir string)
- func (c *SDConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type TimestampCollector
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Discovery ¶
type Discovery struct {
// contains filtered or unexported fields
}
Discovery provides service discovery functionality based on files that contain target groups in JSON or YAML format. Refreshing happens using file watches and periodic refreshes.
func NewDiscovery ¶
func NewDiscovery(conf *SDConfig, logger log.Logger, metrics discovery.DiscovererMetrics) (*Discovery, error)
NewDiscovery returns a new file discovery for the given paths.
type SDConfig ¶
type SDConfig struct { Files []string `yaml:"files"` RefreshInterval model.Duration `yaml:"refresh_interval,omitempty"` }
SDConfig is the configuration for file based discovery.
func (*SDConfig) NewDiscoverer ¶
func (c *SDConfig) NewDiscoverer(opts discovery.DiscovererOptions) (discovery.Discoverer, error)
NewDiscoverer returns a Discoverer for the Config.
func (*SDConfig) NewDiscovererMetrics ¶
func (*SDConfig) NewDiscovererMetrics(reg prometheus.Registerer, rmi discovery.RefreshMetricsInstantiator) discovery.DiscovererMetrics
NewDiscovererMetrics implements discovery.Config.
func (*SDConfig) SetDirectory ¶
SetDirectory joins any relative file paths with dir.
func (*SDConfig) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface.
type TimestampCollector ¶
type TimestampCollector struct { Description *prometheus.Desc // contains filtered or unexported fields }
TimestampCollector is a Custom Collector for Timestamps of the files. TODO(ptodev): Now that each file SD has its own TimestampCollector inside discovery/file/metrics.go, we can refactor this collector (or get rid of it) as each TimestampCollector instance will only use one discoverer.
func NewTimestampCollector ¶
func NewTimestampCollector() *TimestampCollector
NewTimestampCollector creates a TimestampCollector.
func (*TimestampCollector) Collect ¶
func (t *TimestampCollector) Collect(ch chan<- prometheus.Metric)
Collect creates constant metrics for each file with last modified time of the file.
func (*TimestampCollector) Describe ¶
func (t *TimestampCollector) Describe(ch chan<- *prometheus.Desc)
Describe method sends the description to the channel.