Documentation
¶
Overview ¶
Package reaper is responsible to query the metrics from monitored sources and send measurements to sinks.
Index ¶
- func CheckFolderExistsAndReadable(path string) bool
- func DoesEmergencyTriggerfileExist(fname string) bool
- func GetGoPsutilCPU(interval float64) (metrics.Measurements, error)
- func GetGoPsutilDiskPG(pgDirs metrics.Measurements) (metrics.Measurements, error)
- func GetGoPsutilDiskTotals() (metrics.Measurements, error)
- func GetGoPsutilMem() (metrics.Measurements, error)
- func GetLoadAvgLocal() (metrics.Measurements, error)
- func GetPathUnderlyingDeviceID(path string) (uint64, error)
- func IsDirectlyFetchableMetric(md *sources.SourceConn, metric string) bool
- func QueryMeasurements(ctx context.Context, md *sources.SourceConn, sql string, args ...any) (metrics.Measurements, error)
- type ChangeDetectionResults
- type ConcurrentMetricDefs
- func (cmd *ConcurrentMetricDefs) Assign(newDefs *metrics.Metrics)
- func (cmd *ConcurrentMetricDefs) GetMetricDef(name string) (m metrics.Metric, ok bool)
- func (cmd *ConcurrentMetricDefs) GetPresetDef(name string) (m metrics.Preset, ok bool)
- func (cmd *ConcurrentMetricDefs) GetPresetMetrics(name string) (m map[string]float64)
- type ExistingPartitionInfo
- type InstanceMetricCache
- type LogConfig
- type LogParser
- type Reaper
- func (r *Reaper) AddSysinfoToMeasurements(data metrics.Measurements, md *sources.SourceConn)
- func (r *Reaper) CloseResourcesForRemovedMonitoredDBs(hostsToShutDown map[string]bool)
- func (r *Reaper) CreateSourceHelpers(ctx context.Context, srcL log.Logger, monitoredSource *sources.SourceConn)
- func (r *Reaper) DetectConfigurationChanges(ctx context.Context, md *sources.SourceConn) ChangeDetectionResults
- func (r *Reaper) DetectIndexChanges(ctx context.Context, md *sources.SourceConn) ChangeDetectionResults
- func (r *Reaper) DetectPrivilegeChanges(ctx context.Context, md *sources.SourceConn) ChangeDetectionResults
- func (r *Reaper) DetectSprocChanges(ctx context.Context, md *sources.SourceConn) (changeCounts ChangeDetectionResults)
- func (r *Reaper) DetectTableChanges(ctx context.Context, md *sources.SourceConn) ChangeDetectionResults
- func (r *Reaper) FetchMetric(ctx context.Context, md *sources.SourceConn, metricName string) (_ *metrics.MeasurementEnvelope, err error)
- func (r *Reaper) FetchStatsDirectlyFromOS(ctx context.Context, md *sources.SourceConn, metricName string) (*metrics.MeasurementEnvelope, error)
- func (r *Reaper) GetInstanceUpMeasurement(ctx context.Context, md *sources.SourceConn) (metrics.Measurements, error)
- func (r *Reaper) GetObjectChangesMeasurement(ctx context.Context, md *sources.SourceConn) (metrics.Measurements, error)
- func (r *Reaper) LoadMetrics() (err error)
- func (r *Reaper) LoadSources(ctx context.Context) (err error)
- func (r *Reaper) PrintMemStats()
- func (r *Reaper) Ready() bool
- func (r *Reaper) Reap(ctx context.Context)
- func (r *Reaper) ShutdownOldWorkers(ctx context.Context, hostsToShutDown map[string]bool)
- func (r *Reaper) WriteInstanceDown(md *sources.SourceConn)
- func (r *Reaper) WriteMeasurements(ctx context.Context)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetGoPsutilCPU ¶
func GetGoPsutilCPU(interval float64) (metrics.Measurements, error)
GetGoPsutilCPU simulates "psutil" metric output. Assumes the result from last call as input
func GetGoPsutilDiskPG ¶
func GetGoPsutilDiskPG(pgDirs metrics.Measurements) (metrics.Measurements, error)
func GetGoPsutilDiskTotals ¶
func GetGoPsutilDiskTotals() (metrics.Measurements, error)
func GetGoPsutilMem ¶
func GetGoPsutilMem() (metrics.Measurements, error)
func GetLoadAvgLocal ¶
func GetLoadAvgLocal() (metrics.Measurements, error)
func IsDirectlyFetchableMetric ¶
func IsDirectlyFetchableMetric(md *sources.SourceConn, metric string) bool
func QueryMeasurements ¶
func QueryMeasurements(ctx context.Context, md *sources.SourceConn, sql string, args ...any) (metrics.Measurements, error)
Types ¶
type ChangeDetectionResults ¶
func (*ChangeDetectionResults) String ¶
func (cdr *ChangeDetectionResults) String() string
func (*ChangeDetectionResults) Total ¶
func (cdr *ChangeDetectionResults) Total() int
type ConcurrentMetricDefs ¶
func NewConcurrentMetricDefs ¶
func NewConcurrentMetricDefs() *ConcurrentMetricDefs
func (*ConcurrentMetricDefs) Assign ¶
func (cmd *ConcurrentMetricDefs) Assign(newDefs *metrics.Metrics)
func (*ConcurrentMetricDefs) GetMetricDef ¶
func (cmd *ConcurrentMetricDefs) GetMetricDef(name string) (m metrics.Metric, ok bool)
func (*ConcurrentMetricDefs) GetPresetDef ¶
func (cmd *ConcurrentMetricDefs) GetPresetDef(name string) (m metrics.Preset, ok bool)
func (*ConcurrentMetricDefs) GetPresetMetrics ¶
func (cmd *ConcurrentMetricDefs) GetPresetMetrics(name string) (m map[string]float64)
type ExistingPartitionInfo ¶
type InstanceMetricCache ¶
func NewInstanceMetricCache ¶
func NewInstanceMetricCache() *InstanceMetricCache
func (*InstanceMetricCache) Get ¶
func (imc *InstanceMetricCache) Get(key string, age time.Duration) metrics.Measurements
func (*InstanceMetricCache) Put ¶
func (imc *InstanceMetricCache) Put(key string, data metrics.Measurements)
type LogParser ¶
type LogParser struct {
*LogConfig
LogsMatchRegex *regexp.Regexp
SourceConn *sources.SourceConn
Interval float64
StoreCh chan<- metrics.MeasurementEnvelope
// contains filtered or unexported fields
}
func NewLogParser ¶
func NewLogParser(ctx context.Context, mdb *sources.SourceConn, storeCh chan<- metrics.MeasurementEnvelope) (lp *LogParser, err error)
func (*LogParser) GetMeasurementEnvelope ¶
func (lp *LogParser) GetMeasurementEnvelope() metrics.MeasurementEnvelope
GetMeasurementEnvelope converts current event counts to a MeasurementEnvelope
func (*LogParser) HasSendIntervalElapsed ¶
type Reaper ¶
Reaper is the struct that responsible for fetching metrics measurements from the sources and storing them to the sinks
func (*Reaper) AddSysinfoToMeasurements ¶
func (r *Reaper) AddSysinfoToMeasurements(data metrics.Measurements, md *sources.SourceConn)
func (*Reaper) CloseResourcesForRemovedMonitoredDBs ¶
func (*Reaper) CreateSourceHelpers ¶
func (r *Reaper) CreateSourceHelpers(ctx context.Context, srcL log.Logger, monitoredSource *sources.SourceConn)
CreateSourceHelpers creates the extensions and metric helpers for the monitored source
func (*Reaper) DetectConfigurationChanges ¶
func (r *Reaper) DetectConfigurationChanges(ctx context.Context, md *sources.SourceConn) ChangeDetectionResults
func (*Reaper) DetectIndexChanges ¶
func (r *Reaper) DetectIndexChanges(ctx context.Context, md *sources.SourceConn) ChangeDetectionResults
func (*Reaper) DetectPrivilegeChanges ¶
func (r *Reaper) DetectPrivilegeChanges(ctx context.Context, md *sources.SourceConn) ChangeDetectionResults
func (*Reaper) DetectSprocChanges ¶
func (r *Reaper) DetectSprocChanges(ctx context.Context, md *sources.SourceConn) (changeCounts ChangeDetectionResults)
func (*Reaper) DetectTableChanges ¶
func (r *Reaper) DetectTableChanges(ctx context.Context, md *sources.SourceConn) ChangeDetectionResults
func (*Reaper) FetchMetric ¶
func (r *Reaper) FetchMetric(ctx context.Context, md *sources.SourceConn, metricName string) (_ *metrics.MeasurementEnvelope, err error)
func (*Reaper) FetchStatsDirectlyFromOS ¶
func (r *Reaper) FetchStatsDirectlyFromOS(ctx context.Context, md *sources.SourceConn, metricName string) (*metrics.MeasurementEnvelope, error)
func (*Reaper) GetInstanceUpMeasurement ¶
func (r *Reaper) GetInstanceUpMeasurement(ctx context.Context, md *sources.SourceConn) (metrics.Measurements, error)
GetInstanceUpMeasurement returns a single measurement with "instance_up" metric used to detect if the instance is up or down
func (*Reaper) GetObjectChangesMeasurement ¶
func (r *Reaper) GetObjectChangesMeasurement(ctx context.Context, md *sources.SourceConn) (metrics.Measurements, error)
func (*Reaper) LoadMetrics ¶
LoadMetrics loads metric definitions from the reader
func (*Reaper) LoadSources ¶
LoadSources loads sources from the reader
func (*Reaper) PrintMemStats ¶
func (r *Reaper) PrintMemStats()
func (*Reaper) Reap ¶
Reap() starts the main monitoring loop. It is responsible for fetching metrics measurements from the sources and storing them to the sinks. It also manages the lifecycle of the metric gatherers. In case of a source or metric definition change, it will start or stop the gatherers accordingly.
func (*Reaper) ShutdownOldWorkers ¶
func (*Reaper) WriteInstanceDown ¶ added in v5.1.0
func (r *Reaper) WriteInstanceDown(md *sources.SourceConn)
WriteInstanceDown writes instance_up = 0 metric to sinks for the given source
func (*Reaper) WriteMeasurements ¶
WriteMeasurements() writes the metrics to the sinks