discovery

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MaxUpdateFrequency = 5 * time.Second

MaxUpdateFrequency is the minimum time to wait between updating targets. Prometheus uses a static threshold. Do not recommend changing this, except for tests.

Functions

This section is empty.

Types

type Component

type Component struct {
	// contains filtered or unexported fields
}

Component is a reusable component for any discovery implementation. it will handle dynamic updates and exporting targets appropriately for a scrape implementation.

func New

func New(o component.Options, args component.Arguments, creator Creator) (*Component, error)

New creates a discovery component given arguments and a concrete Discovery implementation function.

func (*Component) Run

func (c *Component) Run(ctx context.Context) error

Run implements component.Component.

func (*Component) Update

func (c *Component) Update(args component.Arguments) error

Update implements component.Component.

type Creator

type Creator func(component.Arguments) (Discoverer, error)

Creator is a function provided by an implementation to create a concrete Discoverer instance.

type Discoverer

type Discoverer discovery.Discoverer

Discoverer is an alias for Prometheus' Discoverer interface, so users of this package don't need to import github.com/prometheus/prometheus/discover as well.

type DistributedTargets

type DistributedTargets struct {
	// contains filtered or unexported fields
}

DistributedTargets uses the node's Lookup method to distribute discovery targets when a component runs in a cluster.

func NewDistributedTargets

func NewDistributedTargets(e bool, n cluster.Cluster, t []Target) DistributedTargets

NewDistributedTargets creates the abstraction that allows components to dynamically shard targets between components.

func (*DistributedTargets) Get

func (t *DistributedTargets) Get() []Target

Get distributes discovery targets a clustered environment.

If a cluster size is 1, then all targets will be returned.

type Exports

type Exports struct {
	Targets []Target `alloy:"targets,attr"`
}

Exports holds values which are exported by all discovery components.

type Target

type Target map[string]string

Target refers to a singular discovered endpoint found by a discovery component.

func (Target) Labels

func (t Target) Labels() labels.Labels

Labels converts Target into a set of sorted labels.

func (Target) NonMetaLabels

func (t Target) NonMetaLabels() labels.Labels

Directories

Path Synopsis
Package docker implements the discovery.docker component.
Package docker implements the discovery.docker component.
Package gce implements the discovery.gce component.
Package gce implements the discovery.gce component.
Package kubelet implements a discovery.kubelet component.
Package kubelet implements a discovery.kubelet component.
Package kubernetes implements a discovery.kubernetes component.
Package kubernetes implements a discovery.kubernetes component.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL