agent

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultConfiguration = Configuration{
		Global: DefaultGlobalConfiguration,
	}
	DefaultGlobalConfiguration = EndpointConfiguration{
		Interval:         5 * time.Minute,
		Method:           http.MethodGet,
		ValidStatusCodes: []int{http.StatusOK},
	}
)

Functions

This section is empty.

Types

type Agent

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

func New

func New(c *kubernetes.Clientset, cfg Configuration, metrics *Metrics, logger *slog.Logger) (*Agent, error)

func NewWithListWatcher

func NewWithListWatcher(lw cache.ListerWatcher, cfg Configuration, metrics *Metrics, logger *slog.Logger) (*Agent, error)

func (*Agent) Run

func (a *Agent) Run(ctx context.Context)

type Configuration

type Configuration struct {
	Monitor string
	Token   string
	Global  EndpointConfiguration            `yaml:"global,omitempty"`
	Hosts   map[string]EndpointConfiguration `yaml:"hosts,omitempty"`
}

func Load

func Load(r io.Reader) (Configuration, error)

func LoadFromFile

func LoadFromFile(filename string) (Configuration, error)

type EndpointConfiguration

type EndpointConfiguration struct {
	Skip             bool          `yaml:"skip,omitempty"`
	Interval         time.Duration `yaml:"interval,omitempty"`
	Method           string        `yaml:"method,omitempty"`
	ValidStatusCodes []int         `yaml:"valid-status-codes,omitempty"`
}

type Metrics

type Metrics struct {
	IngressEvents *prometheus.CounterVec
	Requests      *prometheus.CounterVec
	Latency       *prometheus.HistogramVec
}

func NewMetrics

func NewMetrics() *Metrics

func (Metrics) Collect

func (m Metrics) Collect(ch chan<- prometheus.Metric)

func (Metrics) Describe

func (m Metrics) Describe(ch chan<- *prometheus.Desc)

func (Metrics) ObserveEvent

func (m Metrics) ObserveEvent(ev event)

func (Metrics) ObserveRequest

func (m Metrics) ObserveRequest(code int, latency time.Duration)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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