collector

package
v0.0.0-...-796f54f Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2021 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package collector includes all individual collectors to gather and export system metrics.

Index

Constants

This section is empty.

Variables

View Source
var ErrNoData = errors.New("collector returned no data")

ErrNoData indicates the collector found no data to collect, but had no other error.

Functions

func DisableDefaultCollectors

func DisableDefaultCollectors()

DisableDefaultCollectors sets the collector state to false for all collectors which have not been explicitly enabled on the command line.

func IsNoDataError

func IsNoDataError(err error) bool

Types

type Collector

type Collector interface {
	// Get new metrics and expose them via prometheus registry.
	Update(ch chan<- prometheus.Metric) error
}

Collector is the interface a collector has to implement.

func NewChronyCollector

func NewChronyCollector(logger log.Logger) (Collector, error)

func NewNtpCollector

func NewNtpCollector(logger log.Logger) (Collector, error)

NewNtpCollector returns a new Collector exposing sanity of local NTP server. Default definition of "local" is: - collector.ntp.server address is a loopback address (or collector.ntp.server-is-mine flag is turned on) - the server is reachable with outgoin IP_TTL = 1

func NewTimeCollector

func NewTimeCollector(logger log.Logger) (Collector, error)

NewTimeCollector returns a new Collector exposing the current system time in seconds since epoch.

func NewTimexCollector

func NewTimexCollector(logger log.Logger) (Collector, error)

NewTimexCollector returns a new Collector exposing adjtime(3) stats.

type NTPCheckResultE

type NTPCheckResultE struct {
	// parsed from SystemStatusWord
	LI          uint8   `deepcopier:"field:LI"`
	LIDesc      string  `deepcopier:"field:LIDesc"`
	ClockSource string  `deepcopier:"field:ClockSource"`
	Correction  float64 `deepcopier:"field:Correction"`
	Event       string  `deepcopier:"field:Event"`
	EventCount  uint8   `deepcopier:"field:EventCount"`
	// data parsed from System Variables
	SysVars *checker.SystemVariables `deepcopier:"field:SysVars"`
	// map of peers with data from PeerStatusWord and Peer Variables
	Peers map[uint16]*PeerE `deepcopier:"field:Peers"`
}

type NodeCollector

type NodeCollector struct {
	Collectors map[string]Collector
	// contains filtered or unexported fields
}

NodeCollector implements the prometheus.Collector interface.

func NewNodeCollector

func NewNodeCollector(logger log.Logger, filters ...string) (*NodeCollector, error)

NewNodeCollector creates a new NodeCollector.

func (NodeCollector) Collect

func (n NodeCollector) Collect(ch chan<- prometheus.Metric)

Collect implements the prometheus.Collector interface.

func (NodeCollector) Describe

func (n NodeCollector) Describe(ch chan<- *prometheus.Desc)

Describe implements the prometheus.Collector interface.

type PeerE

type PeerE struct {
	// from PeerStatusWord
	Configured   bool   `deepcopier:"field:Configured"`
	AuthPossible bool   `deepcopier:"field:AuthPossible"`
	Authentic    bool   `deepcopier:"field:Authentic"`
	Reachable    bool   `deepcopier:"field:Reachable"`
	Broadcast    bool   `deepcopier:"field:Broadcast"`
	Selection    uint8  `deepcopier:"field:Selection"`
	Condition    string `deepcopier:"field:Condition"`
	// from variables
	SRCAdr     string   `deepcopier:"field:SRCAdr"`
	SRCPort    int      `deepcopier:"field:SRCPort"`
	DSTAdr     string   `deepcopier:"field:DSTAdr"`
	DSTPort    int      `deepcopier:"field:DSTPort"`
	Leap       int      `deepcopier:"field:Leap"`
	Stratum    int      `deepcopier:"field:Stratum"`
	Precision  int      `deepcopier:"field:Precision"`
	RootDelay  float64  `deepcopier:"field:RootDelay"`
	RootDisp   float64  `deepcopier:"field:RootDisp"`
	RefID      string   `deepcopier:"field:RefID"`
	RefTime    string   `deepcopier:"field:RefTime"`
	Reach      uint8    `deepcopier:"field:Reach"`
	Unreach    int      `deepcopier:"field:Unreach"`
	HMode      int      `deepcopier:"field:HMode"`
	PMode      int      `deepcopier:"field:PMode"`
	HPoll      int      `deepcopier:"field:HPoll"`
	PPoll      int      `deepcopier:"field:PPoll"`
	Headway    int      `deepcopier:"field:Headway"`
	Flash      uint16   `deepcopier:"field:Flash"`
	Flashers   []string `deepcopier:"field:Flashers"`
	Offset     float64  `deepcopier:"field:Offset"`
	Delay      float64  `deepcopier:"field:Delay"`
	Dispersion float64  `deepcopier:"field:Dispersion"`
	Jitter     float64  `deepcopier:"field:Jitter"`
	Xleave     float64  `deepcopier:"field:Xleave"`
	Rec        string   `deepcopier:"field:Rec"`
	FiltDelay  string   `deepcopier:"field:FiltDelay"`
	FiltOffset string   `deepcopier:"field:FiltOffset"`
	FiltDisp   string   `deepcopier:"field:FiltDisp"`
	// from sourceStats
	NSamples       uint32
	NRuns          uint32
	SpanSeconds    uint32
	StdDev         float64
	ResidFreq      float64
	SkewFreq       float64
	EstOffset      float64
	EstOffsetError float64
}

Jump to

Keyboard shortcuts

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