use pointers

This commit is contained in:
Marc Tuduri 2023-09-27 18:00:19 +02:00
parent d59d6568c6
commit c01a7c2c57
No known key found for this signature in database
GPG key ID: 761973D5AE312AF4
107 changed files with 163 additions and 162 deletions

View file

@ -33,7 +33,7 @@ type arpCollector struct {
deviceFilter deviceFilter deviceFilter deviceFilter
entries *prometheus.Desc entries *prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -47,7 +47,7 @@ type ArpConfig struct {
} }
// NewARPCollector returns a new Collector exposing ARP stats. // NewARPCollector returns a new Collector exposing ARP stats.
func NewARPCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewARPCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -33,7 +33,7 @@ func init() {
type bcacheCollector struct { type bcacheCollector struct {
fs bcache.FS fs bcache.FS
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
type BcacheConfig struct { type BcacheConfig struct {
@ -42,7 +42,7 @@ type BcacheConfig struct {
// NewBcacheCollector returns a newly allocated bcacheCollector. // NewBcacheCollector returns a newly allocated bcacheCollector.
// It exposes a number of Linux bcache statistics. // It exposes a number of Linux bcache statistics.
func NewBcacheCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewBcacheCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := bcache.NewFS(*config.Path.SysPath) fs, err := bcache.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -31,7 +31,7 @@ import (
type bondingCollector struct { type bondingCollector struct {
slaves, active typedDesc slaves, active typedDesc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -40,7 +40,7 @@ func init() {
// NewBondingCollector returns a newly allocated bondingCollector. // NewBondingCollector returns a newly allocated bondingCollector.
// It exposes the number of configured and active slave of linux bonding interfaces. // It exposes the number of configured and active slave of linux bonding interfaces.
func NewBondingCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewBondingCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &bondingCollector{ return &bondingCollector{
slaves: typedDesc{prometheus.NewDesc( slaves: typedDesc{prometheus.NewDesc(
prometheus.BuildFQName(namespace, "bonding", "slaves"), prometheus.BuildFQName(namespace, "bonding", "slaves"),

View file

@ -32,7 +32,7 @@ func init() {
} }
// newBootTimeCollector returns a new Collector exposing system boot time on BSD systems. // newBootTimeCollector returns a new Collector exposing system boot time on BSD systems.
func newBootTimeCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func newBootTimeCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &bootTimeCollector{ return &bootTimeCollector{
logger: logger, logger: logger,
}, nil }, nil

View file

@ -31,7 +31,7 @@ func init() {
registerCollector("boottime", defaultEnabled, newBootTimeCollector) registerCollector("boottime", defaultEnabled, newBootTimeCollector)
} }
func newBootTimeCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func newBootTimeCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &bootTimeCollector{ return &bootTimeCollector{
boottime: typedDesc{ boottime: typedDesc{
prometheus.NewDesc( prometheus.NewDesc(

View file

@ -33,7 +33,7 @@ import (
type btrfsCollector struct { type btrfsCollector struct {
fs btrfs.FS fs btrfs.FS
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -41,7 +41,7 @@ func init() {
} }
// NewBtrfsCollector returns a new Collector exposing Btrfs statistics. // NewBtrfsCollector returns a new Collector exposing Btrfs statistics.
func NewBtrfsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewBtrfsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := btrfs.NewFS(*config.Path.SysPath) fs, err := btrfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -41,7 +41,7 @@ func init() {
} }
// NewBuddyinfoCollector returns a new Collector exposing buddyinfo stats. // NewBuddyinfoCollector returns a new Collector exposing buddyinfo stats.
func NewBuddyinfoCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewBuddyinfoCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
desc := prometheus.NewDesc( desc := prometheus.NewDesc(
prometheus.BuildFQName(namespace, buddyInfoSubsystem, "blocks"), prometheus.BuildFQName(namespace, buddyInfoSubsystem, "blocks"),
"Count of free blocks according to size.", "Count of free blocks according to size.",

View file

@ -38,7 +38,7 @@ func init() {
} }
// NewCgroupSummaryCollector returns a new Collector exposing a summary of cgroups. // NewCgroupSummaryCollector returns a new Collector exposing a summary of cgroups.
func NewCgroupSummaryCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewCgroupSummaryCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -50,14 +50,14 @@ const (
) )
var ( var (
factories = make(map[string]func(config NodeCollectorConfig, logger log.Logger) (Collector, error)) factories = make(map[string]func(config *NodeCollectorConfig, logger log.Logger) (Collector, error))
initiatedCollectorsMtx = sync.Mutex{} initiatedCollectorsMtx = sync.Mutex{}
initiatedCollectors = make(map[string]Collector) initiatedCollectors = make(map[string]Collector)
collectorState = make(map[string]*bool) collectorState = make(map[string]*bool)
forcedCollectors = map[string]bool{} // collectors which have been explicitly enabled or disabled forcedCollectors = map[string]bool{} // collectors which have been explicitly enabled or disabled
) )
func registerCollector(collector string, isDefaultEnabled bool, factory func(config NodeCollectorConfig, logger log.Logger) (Collector, error)) { func registerCollector(collector string, isDefaultEnabled bool, factory func(config *NodeCollectorConfig, logger log.Logger) (Collector, error)) {
var helpDefaultState string var helpDefaultState string
if isDefaultEnabled { if isDefaultEnabled {
helpDefaultState = "enabled" helpDefaultState = "enabled"
@ -104,7 +104,7 @@ func collectorFlagAction(collector string) func(ctx *kingpin.ParseContext) error
} }
// NewNodeCollector creates a new NodeCollector. // NewNodeCollector creates a new NodeCollector.
func NewNodeCollector(config NodeCollectorConfig, logger log.Logger, filters ...string) (*NodeCollector, error) { func NewNodeCollector(config *NodeCollectorConfig, logger log.Logger, filters ...string) (*NodeCollector, error) {
f := make(map[string]bool) f := make(map[string]bool)
for _, filter := range filters { for _, filter := range filters {
enabled, exist := collectorState[filter] enabled, exist := collectorState[filter]

View file

@ -39,7 +39,7 @@ type conntrackCollector struct {
earlyDrop *prometheus.Desc earlyDrop *prometheus.Desc
searchRestart *prometheus.Desc searchRestart *prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
type conntrackStatistics struct { type conntrackStatistics struct {
@ -58,7 +58,7 @@ func init() {
} }
// NewConntrackCollector returns a new Collector exposing conntrack stats. // NewConntrackCollector returns a new Collector exposing conntrack stats.
func NewConntrackCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewConntrackCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &conntrackCollector{ return &conntrackCollector{
current: prometheus.NewDesc( current: prometheus.NewDesc(
prometheus.BuildFQName(namespace, "", "nf_conntrack_entries"), prometheus.BuildFQName(namespace, "", "nf_conntrack_entries"),
@ -162,7 +162,7 @@ func (c *conntrackCollector) handleErr(err error) error {
return fmt.Errorf("failed to retrieve conntrack stats: %w", err) return fmt.Errorf("failed to retrieve conntrack stats: %w", err)
} }
func getConntrackStatistics(config NodeCollectorConfig) (*conntrackStatistics, error) { func getConntrackStatistics(config *NodeCollectorConfig) (*conntrackStatistics, error) {
c := conntrackStatistics{} c := conntrackStatistics{}
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)

View file

@ -61,7 +61,7 @@ func init() {
} }
// NewCPUCollector returns a new Collector exposing CPU stats. // NewCPUCollector returns a new Collector exposing CPU stats.
func NewCPUCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewCPUCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &statCollector{ return &statCollector{
cpu: nodeCPUSecondsDesc, cpu: nodeCPUSecondsDesc,
logger: logger, logger: logger,

View file

@ -86,7 +86,7 @@ func init() {
} }
// NewStatCollector returns a new Collector exposing CPU stats. // NewStatCollector returns a new Collector exposing CPU stats.
func NewStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &statCollector{ return &statCollector{
cpu: nodeCPUSecondsDesc, cpu: nodeCPUSecondsDesc,
logger: logger, logger: logger,

View file

@ -93,7 +93,7 @@ func init() {
} }
// NewStatCollector returns a new Collector exposing CPU stats. // NewStatCollector returns a new Collector exposing CPU stats.
func NewStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &statCollector{ return &statCollector{
cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue},
temp: typedDesc{prometheus.NewDesc( temp: typedDesc{prometheus.NewDesc(

View file

@ -52,7 +52,7 @@ type cpuCollector struct {
cpuFlagsIncludeRegexp *regexp.Regexp cpuFlagsIncludeRegexp *regexp.Regexp
cpuBugsIncludeRegexp *regexp.Regexp cpuBugsIncludeRegexp *regexp.Regexp
config NodeCollectorConfig config *NodeCollectorConfig
} }
// Idle jump back limit in seconds. // Idle jump back limit in seconds.
@ -74,7 +74,7 @@ func init() {
} }
// NewCPUCollector returns a new Collector exposing kernel/system statistics. // NewCPUCollector returns a new Collector exposing kernel/system statistics.
func NewCPUCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewCPUCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)
@ -254,7 +254,7 @@ func updateFieldInfo(valueList []string, filter *regexp.Regexp, desc *prometheus
} }
// updateThermalThrottle reads /sys/devices/system/cpu/cpu* and expose thermal throttle statistics. // updateThermalThrottle reads /sys/devices/system/cpu/cpu* and expose thermal throttle statistics.
func (c *cpuCollector) updateThermalThrottle(config NodeCollectorConfig, ch chan<- prometheus.Metric) error { func (c *cpuCollector) updateThermalThrottle(config *NodeCollectorConfig, ch chan<- prometheus.Metric) error {
cpus, err := filepath.Glob(config.Path.sysFilePath("devices/system/cpu/cpu[0-9]*")) cpus, err := filepath.Glob(config.Path.sysFilePath("devices/system/cpu/cpu[0-9]*"))
if err != nil { if err != nil {
return err return err

View file

@ -222,7 +222,7 @@ func init() {
} }
// NewStatCollector returns a new Collector exposing CPU stats. // NewStatCollector returns a new Collector exposing CPU stats.
func NewStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &statCollector{ return &statCollector{
cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue},
temp: typedDesc{prometheus.NewDesc( temp: typedDesc{prometheus.NewDesc(

View file

@ -52,7 +52,7 @@ func init() {
registerCollector("cpu", defaultEnabled, NewCPUCollector) registerCollector("cpu", defaultEnabled, NewCPUCollector)
} }
func NewCPUCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewCPUCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &cpuCollector{ return &cpuCollector{
cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue},
logger: logger, logger: logger,

View file

@ -36,7 +36,7 @@ func init() {
registerCollector("cpu", defaultEnabled, NewCpuCollector) registerCollector("cpu", defaultEnabled, NewCpuCollector)
} }
func NewCpuCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewCpuCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &cpuCollector{ return &cpuCollector{
cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue},
logger: logger, logger: logger,

View file

@ -35,14 +35,14 @@ var (
) )
type cpuVulnerabilitiesCollector struct { type cpuVulnerabilitiesCollector struct {
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
registerCollector(cpuVulerabilitiesCollector, defaultDisabled, NewVulnerabilitySysfsCollector) registerCollector(cpuVulerabilitiesCollector, defaultDisabled, NewVulnerabilitySysfsCollector)
} }
func NewVulnerabilitySysfsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewVulnerabilitySysfsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &cpuVulnerabilitiesCollector{config}, nil return &cpuVulnerabilitiesCollector{config}, nil
} }

View file

@ -35,7 +35,7 @@ func init() {
} }
// NewCPUFreqCollector returns a new Collector exposing kernel/system statistics. // NewCPUFreqCollector returns a new Collector exposing kernel/system statistics.
func NewCPUFreqCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewCPUFreqCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -36,7 +36,7 @@ func init() {
registerCollector("cpufreq", defaultEnabled, NewCPUFreqCollector) registerCollector("cpufreq", defaultEnabled, NewCPUFreqCollector)
} }
func NewCpuFreqCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewCpuFreqCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &cpuFreqCollector{ return &cpuFreqCollector{
logger: logger, logger: logger,
}, nil }, nil

View file

@ -106,7 +106,7 @@ func init() {
} }
// NewDevstatCollector returns a new Collector exposing Device stats. // NewDevstatCollector returns a new Collector exposing Device stats.
func NewDevstatCollector(config NodeCollectorConfiglogger log.Logger) (Collector, error) { func NewDevstatCollector(config *NodeCollectorConfiglogger log.Logger) (Collector, error) {
return &devstatCollector{ return &devstatCollector{
bytesDesc: prometheus.NewDesc( bytesDesc: prometheus.NewDesc(
prometheus.BuildFQName(namespace, devstatSubsystem, "bytes_total"), prometheus.BuildFQName(namespace, devstatSubsystem, "bytes_total"),

View file

@ -51,7 +51,7 @@ func init() {
} }
// NewDevstatCollector returns a new Collector exposing Device stats. // NewDevstatCollector returns a new Collector exposing Device stats.
func NewDevstatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewDevstatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &devstatCollector{ return &devstatCollector{
devinfo: &C.struct_devinfo{}, devinfo: &C.struct_devinfo{},
bytes: typedDesc{prometheus.NewDesc( bytes: typedDesc{prometheus.NewDesc(

View file

@ -43,7 +43,7 @@ func init() {
} }
// NewDiskstatsCollector returns a new Collector exposing disk device stats. // NewDiskstatsCollector returns a new Collector exposing disk device stats.
func NewDiskstatsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewDiskstatsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
var diskLabelNames = []string{"device"} var diskLabelNames = []string{"device"}
deviceFilter, err := newDiskstatsDeviceFilter(config.DiskstatsDeviceFilter, logger) deviceFilter, err := newDiskstatsDeviceFilter(config.DiskstatsDeviceFilter, logger)

View file

@ -86,8 +86,8 @@ type diskstatsCollector struct {
deviceMapperInfoDesc typedFactorDesc deviceMapperInfoDesc typedFactorDesc
ataDescs map[string]typedFactorDesc ataDescs map[string]typedFactorDesc
logger log.Logger logger log.Logger
getUdevDeviceProperties func(NodeCollectorConfig, uint32, uint32) (udevInfo, error) getUdevDeviceProperties func(*NodeCollectorConfig, uint32, uint32) (udevInfo, error)
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -96,7 +96,7 @@ func init() {
// NewDiskstatsCollector returns a new Collector exposing disk device stats. // NewDiskstatsCollector returns a new Collector exposing disk device stats.
// Docs from https://www.kernel.org/doc/Documentation/iostats.txt // Docs from https://www.kernel.org/doc/Documentation/iostats.txt
func NewDiskstatsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewDiskstatsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
var diskLabelNames = []string{"device"} var diskLabelNames = []string{"device"}
fs, err := blockdevice.NewFS(*config.Path.ProcPath, *config.Path.SysPath) fs, err := blockdevice.NewFS(*config.Path.ProcPath, *config.Path.SysPath)
if err != nil { if err != nil {
@ -372,7 +372,7 @@ func (c *diskstatsCollector) Update(ch chan<- prometheus.Metric) error {
return nil return nil
} }
func getUdevDeviceProperties(config NodeCollectorConfig, major, minor uint32) (udevInfo, error) { func getUdevDeviceProperties(config *NodeCollectorConfig, major, minor uint32) (udevInfo, error) {
filename := config.Path.udevDataFilePath(fmt.Sprintf("b%d:%d", major, minor)) filename := config.Path.udevDataFilePath(fmt.Sprintf("b%d:%d", major, minor))
data, err := os.Open(filename) data, err := os.Open(filename)

View file

@ -39,7 +39,7 @@ func (c testDiskStatsCollector) Describe(ch chan<- *prometheus.Desc) {
prometheus.DescribeByCollect(c, ch) prometheus.DescribeByCollect(c, ch)
} }
func NewTestDiskStatsCollector(config NodeCollectorConfig, logger log.Logger) (prometheus.Collector, error) { func NewTestDiskStatsCollector(config *NodeCollectorConfig, logger log.Logger) (prometheus.Collector, error) {
dsc, err := NewDiskstatsCollector(config, logger) dsc, err := NewDiskstatsCollector(config, logger)
if err != nil { if err != nil {
return testDiskStatsCollector{}, err return testDiskStatsCollector{}, err
@ -50,7 +50,7 @@ func NewTestDiskStatsCollector(config NodeCollectorConfig, logger log.Logger) (p
} }
func TestDiskStats(t *testing.T) { func TestDiskStats(t *testing.T) {
config := NodeCollectorConfig{ config := &NodeCollectorConfig{
DiskstatsDeviceFilter: DiskstatsDeviceFilterConfig{ DiskstatsDeviceFilter: DiskstatsDeviceFilterConfig{
DeviceExclude: new(string), DeviceExclude: new(string),
DeviceInclude: new(string), DeviceInclude: new(string),

View file

@ -49,7 +49,7 @@ func init() {
} }
// NewDiskstatsCollector returns a new Collector exposing disk device stats. // NewDiskstatsCollector returns a new Collector exposing disk device stats.
func NewDiskstatsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewDiskstatsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
deviceFilter, err := newDiskstatsDeviceFilter(config.DiskstatsDeviceFilter, logger) deviceFilter, err := newDiskstatsDeviceFilter(config.DiskstatsDeviceFilter, logger)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to parse device filter flags: %w", err) return nil, fmt.Errorf("failed to parse device filter flags: %w", err)

View file

@ -60,7 +60,7 @@ func init() {
} }
// NewDiskstatsCollector returns a new Collector exposing disk device stats. // NewDiskstatsCollector returns a new Collector exposing disk device stats.
func NewDiskstatsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewDiskstatsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
deviceFilter, err := newDiskstatsDeviceFilter(config.DiskstatsDeviceFilter, logger) deviceFilter, err := newDiskstatsDeviceFilter(config.DiskstatsDeviceFilter, logger)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to parse device filter flags: %w", err) return nil, fmt.Errorf("failed to parse device filter flags: %w", err)

View file

@ -38,7 +38,7 @@ func init() {
} }
// NewDMICollector returns a new Collector exposing DMI information. // NewDMICollector returns a new Collector exposing DMI information.
func NewDMICollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewDMICollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -80,14 +80,14 @@ type drbdCollector struct {
stringPair map[string]drbdStringPairMetric stringPair map[string]drbdStringPairMetric
connected *prometheus.Desc connected *prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
registerCollector("drbd", defaultDisabled, newDRBDCollector) registerCollector("drbd", defaultDisabled, newDRBDCollector)
} }
func newDRBDCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func newDRBDCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &drbdCollector{ return &drbdCollector{
numerical: map[string]drbdNumericalMetric{ numerical: map[string]drbdNumericalMetric{
"ns": newDRBDNumericalMetric( "ns": newDRBDNumericalMetric(

View file

@ -46,7 +46,7 @@ func init() {
} }
// NewDrmCollector returns a new Collector exposing /sys/class/drm/card?/device stats. // NewDrmCollector returns a new Collector exposing /sys/class/drm/card?/device stats.
func NewDrmCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewDrmCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -40,7 +40,7 @@ type edacCollector struct {
csRowCECount *prometheus.Desc csRowCECount *prometheus.Desc
csRowUECount *prometheus.Desc csRowUECount *prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -48,7 +48,7 @@ func init() {
} }
// NewEdacCollector returns a new Collector exposing edac stats. // NewEdacCollector returns a new Collector exposing edac stats.
func NewEdacCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewEdacCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &edacCollector{ return &edacCollector{
ceCount: prometheus.NewDesc( ceCount: prometheus.NewDesc(
prometheus.BuildFQName(namespace, edacSubsystem, "correctable_errors_total"), prometheus.BuildFQName(namespace, edacSubsystem, "correctable_errors_total"),

View file

@ -36,7 +36,7 @@ func init() {
} }
// NewEntropyCollector returns a new Collector exposing entropy stats. // NewEntropyCollector returns a new Collector exposing entropy stats.
func NewEntropyCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewEntropyCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -87,7 +87,7 @@ type EthtoolConfig struct {
// makeEthtoolCollector is the internal constructor for EthtoolCollector. // makeEthtoolCollector is the internal constructor for EthtoolCollector.
// This allows NewEthtoolTestCollector to override its .ethtool interface // This allows NewEthtoolTestCollector to override its .ethtool interface
// for testing. // for testing.
func makeEthtoolCollector(config NodeCollectorConfig, logger log.Logger) (*ethtoolCollector, error) { func makeEthtoolCollector(config *NodeCollectorConfig, logger log.Logger) (*ethtoolCollector, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)
@ -215,7 +215,7 @@ func buildEthtoolFQName(metric string) string {
} }
// NewEthtoolCollector returns a new Collector exposing ethtool stats. // NewEthtoolCollector returns a new Collector exposing ethtool stats.
func NewEthtoolCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewEthtoolCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return makeEthtoolCollector(config, logger) return makeEthtoolCollector(config, logger)
} }

View file

@ -49,7 +49,7 @@ func (c testEthtoolCollector) Describe(ch chan<- *prometheus.Desc) {
prometheus.DescribeByCollect(c, ch) prometheus.DescribeByCollect(c, ch)
} }
func NewTestEthtoolCollector(config NodeCollectorConfig, logger log.Logger) (prometheus.Collector, error) { func NewTestEthtoolCollector(config *NodeCollectorConfig, logger log.Logger) (prometheus.Collector, error) {
dsc, err := NewEthtoolTestCollector(config, logger) dsc, err := NewEthtoolTestCollector(config, logger)
if err != nil { if err != nil {
return testEthtoolCollector{}, err return testEthtoolCollector{}, err
@ -255,7 +255,7 @@ func (e *EthtoolFixture) LinkInfo(intf string) (ethtool.EthtoolCmd, error) {
return res, err return res, err
} }
func NewEthtoolTestCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewEthtoolTestCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
collector, err := makeEthtoolCollector(config, logger) collector, err := makeEthtoolCollector(config, logger)
collector.ethtool = &EthtoolFixture{ collector.ethtool = &EthtoolFixture{
fixturePath: "fixtures/ethtool/", fixturePath: "fixtures/ethtool/",
@ -285,7 +285,7 @@ func TestBuildEthtoolFQName(t *testing.T) {
} }
func TestEthToolCollector(t *testing.T) { func TestEthToolCollector(t *testing.T) {
config := NodeCollectorConfig{ config := &NodeCollectorConfig{
Ethtool: EthtoolConfig{ Ethtool: EthtoolConfig{
DeviceInclude: new(string), DeviceInclude: new(string),
DeviceExclude: new(string), DeviceExclude: new(string),

View file

@ -32,7 +32,7 @@ func init() {
} }
// NewExecCollector returns a new Collector exposing system execution statistics. // NewExecCollector returns a new Collector exposing system execution statistics.
func NewExecCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewExecCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
// From sys/vm/vm_meter.c: // From sys/vm/vm_meter.c:
// All are of type CTLTYPE_UINT. // All are of type CTLTYPE_UINT.
// //

View file

@ -40,7 +40,7 @@ func init() {
} }
// NewFibreChannelCollector returns a new Collector exposing FibreChannel stats. // NewFibreChannelCollector returns a new Collector exposing FibreChannel stats.
func NewFibreChannelCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewFibreChannelCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
var i fibrechannelCollector var i fibrechannelCollector
var err error var err error

View file

@ -33,7 +33,7 @@ const (
type fileFDStatCollector struct { type fileFDStatCollector struct {
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -41,7 +41,7 @@ func init() {
} }
// NewFileFDStatCollector returns a new Collector exposing file-nr stats. // NewFileFDStatCollector returns a new Collector exposing file-nr stats.
func NewFileFDStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewFileFDStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &fileFDStatCollector{logger, config}, nil return &fileFDStatCollector{logger, config}, nil
} }

View file

@ -44,7 +44,7 @@ type filesystemCollector struct {
filesDesc, filesFreeDesc *prometheus.Desc filesDesc, filesFreeDesc *prometheus.Desc
roDesc, deviceErrorDesc *prometheus.Desc roDesc, deviceErrorDesc *prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
type filesystemLabels struct { type filesystemLabels struct {
@ -73,7 +73,7 @@ func init() {
} }
// NewFilesystemCollector returns a new Collector exposing filesystems stats. // NewFilesystemCollector returns a new Collector exposing filesystems stats.
func NewFilesystemCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewFilesystemCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
if *config.Filesystem.OldMountPointsExcluded != "" { if *config.Filesystem.OldMountPointsExcluded != "" {
if !config.Filesystem.MountPointsExcludeSet { if !config.Filesystem.MountPointsExcludeSet {
level.Warn(logger).Log("msg", "--collector.filesystem.ignored-mount-points is DEPRECATED and will be removed in 2.0.0, use --collector.filesystem.mount-points-exclude") level.Warn(logger).Log("msg", "--collector.filesystem.ignored-mount-points is DEPRECATED and will be removed in 2.0.0, use --collector.filesystem.mount-points-exclude")

View file

@ -168,7 +168,7 @@ func stuckMountWatcher(mountTimeout *time.Duration, mountPoint string, success c
} }
} }
func mountPointDetails(config NodeCollectorConfig, logger log.Logger) ([]filesystemLabels, error) { func mountPointDetails(config *NodeCollectorConfig, logger log.Logger) ([]filesystemLabels, error) {
file, err := os.Open(config.Path.procFilePath("1/mounts")) file, err := os.Open(config.Path.procFilePath("1/mounts"))
if errors.Is(err, os.ErrNotExist) { if errors.Is(err, os.ErrNotExist) {
// Fallback to `/proc/mounts` if `/proc/1/mounts` is missing due hidepid. // Fallback to `/proc/mounts` if `/proc/1/mounts` is missing due hidepid.
@ -183,7 +183,7 @@ func mountPointDetails(config NodeCollectorConfig, logger log.Logger) ([]filesys
return parseFilesystemLabels(config, file) return parseFilesystemLabels(config, file)
} }
func parseFilesystemLabels(config NodeCollectorConfig, r io.Reader) ([]filesystemLabels, error) { func parseFilesystemLabels(config *NodeCollectorConfig, r io.Reader) ([]filesystemLabels, error) {
var filesystems []filesystemLabels var filesystems []filesystemLabels
scanner := bufio.NewScanner(r) scanner := bufio.NewScanner(r)

View file

@ -24,7 +24,7 @@ import (
) )
func Test_parseFilesystemLabelsError(t *testing.T) { func Test_parseFilesystemLabelsError(t *testing.T) {
config := NodeCollectorConfig{} config := &NodeCollectorConfig{}
tests := []struct { tests := []struct {
name string name string
in string in string

View file

@ -49,7 +49,7 @@ func init() {
type hwMonCollector struct { type hwMonCollector struct {
deviceFilter deviceFilter deviceFilter deviceFilter
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
type HwMonConfig struct { type HwMonConfig struct {
@ -59,7 +59,7 @@ type HwMonConfig struct {
// NewHwMonCollector returns a new Collector exposing /sys/class/hwmon stats // NewHwMonCollector returns a new Collector exposing /sys/class/hwmon stats
// (similar to lm-sensors). // (similar to lm-sensors).
func NewHwMonCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewHwMonCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &hwMonCollector{ return &hwMonCollector{
logger: logger, logger: logger,

View file

@ -40,7 +40,7 @@ func init() {
} }
// NewInfiniBandCollector returns a new Collector exposing InfiniBand stats. // NewInfiniBandCollector returns a new Collector exposing InfiniBand stats.
func NewInfiniBandCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewInfiniBandCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
var i infinibandCollector var i infinibandCollector
var err error var err error

View file

@ -25,7 +25,7 @@ import (
type interruptsCollector struct { type interruptsCollector struct {
desc typedDesc desc typedDesc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -33,7 +33,7 @@ func init() {
} }
// NewInterruptsCollector returns a new Collector exposing interrupts stats. // NewInterruptsCollector returns a new Collector exposing interrupts stats.
func NewInterruptsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewInterruptsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &interruptsCollector{ return &interruptsCollector{
desc: typedDesc{prometheus.NewDesc( desc: typedDesc{prometheus.NewDesc(
namespace+"_interrupts_total", namespace+"_interrupts_total",

View file

@ -55,7 +55,7 @@ type interrupt struct {
values []string values []string
} }
func getInterrupts(config NodeCollectorConfig) (map[string]interrupt, error) { func getInterrupts(config *NodeCollectorConfig) (map[string]interrupt, error) {
file, err := os.Open(config.Path.procFilePath("interrupts")) file, err := os.Open(config.Path.procFilePath("interrupts"))
if err != nil { if err != nil {
return nil, err return nil, err

View file

@ -75,11 +75,11 @@ type IPVSConfig struct {
// NewIPVSCollector sets up a new collector for IPVS metrics. It accepts the // NewIPVSCollector sets up a new collector for IPVS metrics. It accepts the
// "procfs" config parameter to override the default proc location (/proc). // "procfs" config parameter to override the default proc location (/proc).
func NewIPVSCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewIPVSCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return newIPVSCollector(config, logger) return newIPVSCollector(config, logger)
} }
func newIPVSCollector(config NodeCollectorConfig, logger log.Logger) (*ipvsCollector, error) { func newIPVSCollector(config *NodeCollectorConfig, logger log.Logger) (*ipvsCollector, error) {
var ( var (
c ipvsCollector c ipvsCollector
err error err error

View file

@ -32,7 +32,7 @@ var (
type ksmdCollector struct { type ksmdCollector struct {
metricDescs map[string]*prometheus.Desc metricDescs map[string]*prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -51,7 +51,7 @@ func getCanonicalMetricName(filename string) string {
} }
// NewKsmdCollector returns a new Collector exposing kernel/system statistics. // NewKsmdCollector returns a new Collector exposing kernel/system statistics.
func NewKsmdCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewKsmdCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
subsystem := "ksmd" subsystem := "ksmd"
descs := make(map[string]*prometheus.Desc) descs := make(map[string]*prometheus.Desc)

View file

@ -27,14 +27,14 @@ import (
type lnstatCollector struct { type lnstatCollector struct {
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
registerCollector("lnstat", defaultDisabled, NewLnstatCollector) registerCollector("lnstat", defaultDisabled, NewLnstatCollector)
} }
func NewLnstatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewLnstatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &lnstatCollector{logger, config}, nil return &lnstatCollector{logger, config}, nil
} }

View file

@ -28,7 +28,7 @@ import (
type loadavgCollector struct { type loadavgCollector struct {
metric []typedDesc metric []typedDesc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -36,7 +36,7 @@ func init() {
} }
// NewLoadavgCollector returns a new Collector exposing load average stats. // NewLoadavgCollector returns a new Collector exposing load average stats.
func NewLoadavgCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewLoadavgCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &loadavgCollector{ return &loadavgCollector{
metric: []typedDesc{ metric: []typedDesc{
{prometheus.NewDesc(namespace+"_load1", "1m load average.", nil, nil), prometheus.GaugeValue}, {prometheus.NewDesc(namespace+"_load1", "1m load average.", nil, nil), prometheus.GaugeValue},

View file

@ -24,7 +24,7 @@ import (
) )
// Read loadavg from /proc. // Read loadavg from /proc.
func getLoad(config NodeCollectorConfig) (loads []float64, err error) { func getLoad(config *NodeCollectorConfig) (loads []float64, err error) {
data, err := os.ReadFile(config.Path.procFilePath("loadavg")) data, err := os.ReadFile(config.Path.procFilePath("loadavg"))
if err != nil { if err != nil {
return nil, err return nil, err
@ -37,7 +37,7 @@ func getLoad(config NodeCollectorConfig) (loads []float64, err error) {
} }
// Parse /proc loadavg and return 1m, 5m and 15m. // Parse /proc loadavg and return 1m, 5m and 15m.
func parseLoad(config NodeCollectorConfig, data string) (loads []float64, err error) { func parseLoad(config *NodeCollectorConfig, data string) (loads []float64, err error) {
loads = make([]float64, 3) loads = make([]float64, 3)
parts := strings.Fields(data) parts := strings.Fields(data)
if len(parts) < 3 { if len(parts) < 3 {

View file

@ -19,7 +19,7 @@ package collector
import "testing" import "testing"
func TestLoad(t *testing.T) { func TestLoad(t *testing.T) {
config := NodeCollectorConfig{} config := &NodeCollectorConfig{}
want := []float64{0.21, 0.37, 0.39} want := []float64{0.21, 0.37, 0.39}
loads, err := parseLoad(config, "0.21 0.37 0.39 1/719 19737") loads, err := parseLoad(config, "0.21 0.37 0.39 1/719 19737")

View file

@ -86,7 +86,7 @@ func init() {
} }
// NewLogindCollector returns a new Collector exposing logind statistics. // NewLogindCollector returns a new Collector exposing logind statistics.
func NewLogindCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewLogindCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &logindCollector{logger}, nil return &logindCollector{logger}, nil
} }

View file

@ -29,7 +29,7 @@ import (
type mdadmCollector struct { type mdadmCollector struct {
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -37,7 +37,7 @@ func init() {
} }
// NewMdadmCollector returns a new Collector exposing raid statistics. // NewMdadmCollector returns a new Collector exposing raid statistics.
func NewMdadmCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewMdadmCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &mdadmCollector{logger, config}, nil return &mdadmCollector{logger, config}, nil
} }

View file

@ -32,7 +32,7 @@ const (
type meminfoCollector struct { type meminfoCollector struct {
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -40,7 +40,7 @@ func init() {
} }
// NewMeminfoCollector returns a new Collector exposing memory stats. // NewMeminfoCollector returns a new Collector exposing memory stats.
func NewMeminfoCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewMeminfoCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &meminfoCollector{logger, config}, nil return &meminfoCollector{logger, config}, nil
} }

View file

@ -46,7 +46,7 @@ type meminfoMetric struct {
type meminfoNumaCollector struct { type meminfoNumaCollector struct {
metricDescs map[string]*prometheus.Desc metricDescs map[string]*prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -54,7 +54,7 @@ func init() {
} }
// NewMeminfoNumaCollector returns a new Collector exposing memory stats. // NewMeminfoNumaCollector returns a new Collector exposing memory stats.
func NewMeminfoNumaCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewMeminfoNumaCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &meminfoNumaCollector{ return &meminfoNumaCollector{
metricDescs: map[string]*prometheus.Desc{}, metricDescs: map[string]*prometheus.Desc{},
logger: logger, logger: logger,
@ -81,7 +81,7 @@ func (c *meminfoNumaCollector) Update(ch chan<- prometheus.Metric) error {
return nil return nil
} }
func getMemInfoNuma(config NodeCollectorConfig) ([]meminfoMetric, error) { func getMemInfoNuma(config *NodeCollectorConfig) ([]meminfoMetric, error) {
var ( var (
metrics []meminfoMetric metrics []meminfoMetric
) )

View file

@ -41,7 +41,7 @@ func init() {
} }
// NewMemoryCollector returns a new Collector exposing memory stats. // NewMemoryCollector returns a new Collector exposing memory stats.
func NewMemoryCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewMemoryCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
tmp32, err := unix.SysctlUint32("vm.stats.vm.v_page_size") tmp32, err := unix.SysctlUint32("vm.stats.vm.v_page_size")
if err != nil { if err != nil {
return nil, fmt.Errorf("sysctl(vm.stats.vm.v_page_size) failed: %w", err) return nil, fmt.Errorf("sysctl(vm.stats.vm.v_page_size) failed: %w", err)

View file

@ -111,7 +111,7 @@ func init() {
} }
// NewMountStatsCollector returns a new Collector exposing NFS statistics. // NewMountStatsCollector returns a new Collector exposing NFS statistics.
func NewMountStatsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewMountStatsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -35,7 +35,7 @@ type netClassCollector struct {
ignoredDevicesPattern *regexp.Regexp ignoredDevicesPattern *regexp.Regexp
metricDescs map[string]*prometheus.Desc metricDescs map[string]*prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -50,7 +50,7 @@ type NetClassConfig struct {
} }
// NewNetClassCollector returns a new Collector exposing network class stats. // NewNetClassCollector returns a new Collector exposing network class stats.
func NewNetClassCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNetClassCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -35,7 +35,7 @@ type netDevCollector struct {
metricDescsMutex sync.Mutex metricDescsMutex sync.Mutex
metricDescs map[string]*prometheus.Desc metricDescs map[string]*prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
type netDevStats map[string]map[string]uint64 type netDevStats map[string]map[string]uint64
@ -55,7 +55,7 @@ type NetDevConfig struct {
} }
// NewNetDevCollector returns a new Collector exposing network device stats. // NewNetDevCollector returns a new Collector exposing network device stats.
func NewNetDevCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNetDevCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
if *config.NetDev.OldDeviceInclude != "" { if *config.NetDev.OldDeviceInclude != "" {
if *config.NetDev.DeviceInclude == "" { if *config.NetDev.DeviceInclude == "" {
level.Warn(logger).Log("msg", "--collector.netdev.device-whitelist is DEPRECATED and will be removed in 2.0.0, use --collector.netdev.device-include") level.Warn(logger).Log("msg", "--collector.netdev.device-whitelist is DEPRECATED and will be removed in 2.0.0, use --collector.netdev.device-include")

View file

@ -25,7 +25,7 @@ import (
"github.com/prometheus/procfs" "github.com/prometheus/procfs"
) )
func getNetDevStats(config NodeCollectorConfig, netDevNetlink *bool, filter *deviceFilter, logger log.Logger) (netDevStats, error) { func getNetDevStats(config *NodeCollectorConfig, netDevNetlink *bool, filter *deviceFilter, logger log.Logger) (netDevStats, error) {
if *netDevNetlink { if *netDevNetlink {
return netlinkStats(filter, logger) return netlinkStats(filter, logger)
} }
@ -136,7 +136,7 @@ func parseNetlinkStats(links []rtnetlink.LinkMessage, filter *deviceFilter, logg
return metrics return metrics
} }
func procNetDevStats(config NodeCollectorConfig, filter *deviceFilter, logger log.Logger) (netDevStats, error) { func procNetDevStats(config *NodeCollectorConfig, filter *deviceFilter, logger log.Logger) (netDevStats, error) {
metrics := netDevStats{} metrics := netDevStats{}
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)

View file

@ -36,7 +36,7 @@ func init() {
registerCollector("netisr", defaultEnabled, NewNetisrCollector) registerCollector("netisr", defaultEnabled, NewNetisrCollector)
} }
func NewNetisrCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNetisrCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &netisrCollector{ return &netisrCollector{
sysctls: []bsdSysctl{ sysctls: []bsdSysctl{
{ {

View file

@ -37,7 +37,7 @@ const (
type netStatCollector struct { type netStatCollector struct {
fieldPattern *regexp.Regexp fieldPattern *regexp.Regexp
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -50,7 +50,7 @@ type NetStatConfig struct {
// NewNetStatCollector takes and returns // NewNetStatCollector takes and returns
// a new Collector exposing network stats. // a new Collector exposing network stats.
func NewNetStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNetStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
pattern := regexp.MustCompile(*config.NetStat.Fields) pattern := regexp.MustCompile(*config.NetStat.Fields)
return &netStatCollector{ return &netStatCollector{
fieldPattern: pattern, fieldPattern: pattern,

View file

@ -39,7 +39,7 @@ func init() {
} }
// NewNetworkRouteCollector returns a new Collector exposing systemd statistics. // NewNetworkRouteCollector returns a new Collector exposing systemd statistics.
func NewNetworkRouteCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNetworkRouteCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
const subsystem = "network" const subsystem = "network"
routeInfoDesc := prometheus.NewDesc( routeInfoDesc := prometheus.NewDesc(

View file

@ -48,7 +48,7 @@ func init() {
} }
// NewNfsCollector returns a new Collector exposing NFS statistics. // NewNfsCollector returns a new Collector exposing NFS statistics.
func NewNfsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNfsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := nfs.NewFS(*config.Path.ProcPath) fs, err := nfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -44,7 +44,7 @@ const (
) )
// NewNFSdCollector returns a new Collector exposing /proc/net/rpc/nfsd statistics. // NewNFSdCollector returns a new Collector exposing /proc/net/rpc/nfsd statistics.
func NewNFSdCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNFSdCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := nfs.NewFS(*config.Path.ProcPath) fs, err := nfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -62,7 +62,7 @@ type NTPConfig struct {
// Default definition of "local" is: // Default definition of "local" is:
// - collector.ntp.server address is a loopback address (or collector.ntp.server-is-mine flag is turned on) // - 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 // - the server is reachable with outgoin IP_TTL = 1
func NewNtpCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNtpCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
ipaddr := net.ParseIP(*config.NTP.Server) ipaddr := net.ParseIP(*config.NTP.Server)
if !*config.NTP.ServerIsLocal && (ipaddr == nil || !ipaddr.IsLoopback()) { if !*config.NTP.ServerIsLocal && (ipaddr == nil || !ipaddr.IsLoopback()) {
return nil, fmt.Errorf("only IP address of local NTP server is valid for --collector.ntp.server") return nil, fmt.Errorf("only IP address of local NTP server is valid for --collector.ntp.server")

View file

@ -37,7 +37,7 @@ func init() {
} }
// NewNVMeCollector returns a new Collector exposing NVMe stats. // NewNVMeCollector returns a new Collector exposing NVMe stats.
func NewNVMeCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewNVMeCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -65,7 +65,7 @@ type osReleaseCollector struct {
osReleaseFilenames []string // all os-release file names to check osReleaseFilenames []string // all os-release file names to check
version float64 version float64
versionDesc *prometheus.Desc versionDesc *prometheus.Desc
config NodeCollectorConfig config *NodeCollectorConfig
} }
type Plist struct { type Plist struct {
@ -82,7 +82,7 @@ func init() {
} }
// NewOSCollector returns a new Collector exposing os-release information. // NewOSCollector returns a new Collector exposing os-release information.
func NewOSCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewOSCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &osReleaseCollector{ return &osReleaseCollector{
logger: logger, logger: logger,
infoDesc: prometheus.NewDesc( infoDesc: prometheus.NewDesc(

View file

@ -87,7 +87,7 @@ func TestUpdateStruct(t *testing.T) {
} }
wantedVersion := 20.04 wantedVersion := 20.04
collector, err := NewOSCollector(NodeCollectorConfig{}, log.NewNopLogger()) collector, err := NewOSCollector(&NodeCollectorConfig{}, log.NewNopLogger())
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View file

@ -75,8 +75,8 @@ func TestCustomSysPath(t *testing.T) {
} }
} }
func newNodeCollectorWithPaths() NodeCollectorConfig { func newNodeCollectorWithPaths() *NodeCollectorConfig {
return NodeCollectorConfig{Path: PathConfig{ return &NodeCollectorConfig{Path: PathConfig{
ProcPath: new(string), ProcPath: new(string),
SysPath: new(string), SysPath: new(string),
RootfsPath: new(string), RootfsPath: new(string),

View file

@ -300,7 +300,7 @@ func newPerfTracepointCollector(
// NewPerfCollector returns a new perf based collector, it creates a profiler // NewPerfCollector returns a new perf based collector, it creates a profiler
// per CPU. // per CPU.
func NewPerfCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewPerfCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
collector := &perfCollector{ collector := &perfCollector{
perfHwProfilers: map[int]*perf.HardwareProfiler{}, perfHwProfilers: map[int]*perf.HardwareProfiler{},
perfSwProfilers: map[int]*perf.SoftwareProfiler{}, perfSwProfilers: map[int]*perf.SoftwareProfiler{},

View file

@ -44,7 +44,7 @@ func canTestPerf(t *testing.T) {
func TestPerfCollector(t *testing.T) { func TestPerfCollector(t *testing.T) {
canTestPerf(t) canTestPerf(t)
collector, err := NewPerfCollector(NodeCollectorConfig{}, log.NewNopLogger()) collector, err := NewPerfCollector(&NodeCollectorConfig{}, log.NewNopLogger())
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -64,7 +64,7 @@ func TestPerfCollector(t *testing.T) {
} }
func TestPerfCollectorStride(t *testing.T) { func TestPerfCollectorStride(t *testing.T) {
config := NodeCollectorConfig{} config := &NodeCollectorConfig{}
canTestPerf(t) canTestPerf(t)

View file

@ -29,7 +29,7 @@ type powerSupplyClassCollector struct {
ignoredPattern *regexp.Regexp ignoredPattern *regexp.Regexp
metricDescs map[string]*prometheus.Desc metricDescs map[string]*prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -40,7 +40,7 @@ type PowerSupplyClassConfig struct {
IgnoredPowerSupplies *string IgnoredPowerSupplies *string
} }
func NewPowerSupplyClassCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewPowerSupplyClassCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
pattern := regexp.MustCompile(*config.PowerSupplyClass.IgnoredPowerSupplies) pattern := regexp.MustCompile(*config.PowerSupplyClass.IgnoredPowerSupplies)
return &powerSupplyClassCollector{ return &powerSupplyClassCollector{
subsystem: "power_supply", subsystem: "power_supply",

View file

@ -155,7 +155,7 @@ func pushPowerSupplyMetric(ch chan<- prometheus.Metric, subsystem string, name s
ch <- prometheus.MustNewConstMetric(fieldDesc, valueType, value, powerSupplyName) ch <- prometheus.MustNewConstMetric(fieldDesc, valueType, value, powerSupplyName)
} }
func getPowerSupplyClassInfo(config NodeCollectorConfig, ignore *regexp.Regexp) (sysfs.PowerSupplyClass, error) { func getPowerSupplyClassInfo(config *NodeCollectorConfig, ignore *regexp.Regexp) (sysfs.PowerSupplyClass, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, err return nil, err

View file

@ -49,7 +49,7 @@ func init() {
} }
// NewPressureStatsCollector returns a Collector exposing pressure stall information // NewPressureStatsCollector returns a Collector exposing pressure stall information
func NewPressureStatsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewPressureStatsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -40,7 +40,7 @@ type processCollector struct {
pidUsed *prometheus.Desc pidUsed *prometheus.Desc
pidMax *prometheus.Desc pidMax *prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -48,7 +48,7 @@ func init() {
} }
// NewProcessStatCollector returns a new Collector exposing process data read from the proc filesystem. // NewProcessStatCollector returns a new Collector exposing process data read from the proc filesystem.
func NewProcessStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewProcessStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -38,7 +38,7 @@ type qdiscStatCollector struct {
overlimits typedDesc overlimits typedDesc
qlength typedDesc qlength typedDesc
backlog typedDesc backlog typedDesc
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -54,7 +54,7 @@ type QdiscConfig struct {
} }
// NewQdiscStatCollector returns a new Collector exposing queuing discipline statistics. // NewQdiscStatCollector returns a new Collector exposing queuing discipline statistics.
func NewQdiscStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewQdiscStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
if *config.Qdisc.OldDeviceInclude != "" { if *config.Qdisc.OldDeviceInclude != "" {
if *config.Qdisc.DeviceInclude == "" { if *config.Qdisc.DeviceInclude == "" {
level.Warn(logger).Log("msg", "--collector.qdisk.device-include is DEPRECATED and will be removed in 2.0.0, use --collector.qdisc.device-include") level.Warn(logger).Log("msg", "--collector.qdisk.device-include is DEPRECATED and will be removed in 2.0.0, use --collector.qdisc.device-include")

View file

@ -35,7 +35,7 @@ type raplCollector struct {
logger log.Logger logger log.Logger
joulesMetricDesc *prometheus.Desc joulesMetricDesc *prometheus.Desc
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -47,7 +47,7 @@ type RaplConfig struct {
} }
// NewRaplCollector returns a new Collector exposing RAPL metrics. // NewRaplCollector returns a new Collector exposing RAPL metrics.
func NewRaplCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewRaplCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {

View file

@ -29,7 +29,7 @@ type runitCollector struct {
stateNormal typedDesc stateNormal typedDesc
stateTimestamp typedDesc stateTimestamp typedDesc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -41,7 +41,7 @@ type RunitConfig struct {
} }
// NewRunitCollector returns a new Collector exposing runit statistics. // NewRunitCollector returns a new Collector exposing runit statistics.
func NewRunitCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewRunitCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
var ( var (
subsystem = "service" subsystem = "service"
constLabels = prometheus.Labels{"supervisor": "runit"} constLabels = prometheus.Labels{"supervisor": "runit"}

View file

@ -53,7 +53,7 @@ var (
) )
// NewSchedstatCollector returns a new Collector exposing task scheduler statistics // NewSchedstatCollector returns a new Collector exposing task scheduler statistics
func NewSchedstatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSchedstatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -34,7 +34,7 @@ func init() {
} }
// NewSelinuxCollector returns a new Collector exposing SELinux statistics. // NewSelinuxCollector returns a new Collector exposing SELinux statistics.
func NewSelinuxCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSelinuxCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
const subsystem = "selinux" const subsystem = "selinux"
return &selinuxCollector{ return &selinuxCollector{

View file

@ -35,7 +35,7 @@ func init() {
registerCollector("slabinfo", defaultDisabled, NewSlabinfoCollector) registerCollector("slabinfo", defaultDisabled, NewSlabinfoCollector)
} }
func NewSlabinfoCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSlabinfoCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -36,7 +36,7 @@ var pageSize = os.Getpagesize()
type sockStatCollector struct { type sockStatCollector struct {
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -44,7 +44,7 @@ func init() {
} }
// NewSockStatCollector returns a new Collector exposing socket stats. // NewSockStatCollector returns a new Collector exposing socket stats.
func NewSockStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSockStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &sockStatCollector{logger, config}, nil return &sockStatCollector{logger, config}, nil
} }

View file

@ -35,7 +35,7 @@ func init() {
} }
// NewSoftirqsCollector returns a new Collector exposing softirq stats. // NewSoftirqsCollector returns a new Collector exposing softirq stats.
func NewSoftirqsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSoftirqsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
desc := typedDesc{prometheus.NewDesc( desc := typedDesc{prometheus.NewDesc(
namespace+"_softirqs_functions_total", namespace+"_softirqs_functions_total",
"Softirq counts per CPU.", "Softirq counts per CPU.",

View file

@ -46,7 +46,7 @@ func init() {
} }
// NewSoftnetCollector returns a new Collector exposing softnet metrics. // NewSoftnetCollector returns a new Collector exposing softnet metrics.
func NewSoftnetCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSoftnetCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -34,7 +34,7 @@ type statCollector struct {
procsBlocked *prometheus.Desc procsBlocked *prometheus.Desc
softIRQ *prometheus.Desc softIRQ *prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -46,7 +46,7 @@ type StatConfig struct {
} }
// NewStatCollector returns a new Collector exposing kernel/system statistics. // NewStatCollector returns a new Collector exposing kernel/system statistics.
func NewStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -51,7 +51,7 @@ type SupervisordConfig struct {
} }
// NewSupervisordCollector returns a new Collector exposing supervisord statistics. // NewSupervisordCollector returns a new Collector exposing supervisord statistics.
func NewSupervisordCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSupervisordCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
var ( var (
subsystem = "supervisord" subsystem = "supervisord"
labelNames = []string{"name", "group"} labelNames = []string{"name", "group"}

View file

@ -42,7 +42,7 @@ type SysctlConfig struct {
IncludeInfo *[]string IncludeInfo *[]string
} }
func NewSysctlCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSysctlCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -84,7 +84,7 @@ type SystemdConfig struct {
} }
// NewSystemdCollector returns a new Collector exposing systemd statistics. // NewSystemdCollector returns a new Collector exposing systemd statistics.
func NewSystemdCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewSystemdCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
const subsystem = "systemd" const subsystem = "systemd"
unitDesc := prometheus.NewDesc( unitDesc := prometheus.NewDesc(

View file

@ -105,7 +105,7 @@ func TestSystemdIgnoreFilterDefaultKeepsAll(t *testing.T) {
logger := log.NewNopLogger() logger := log.NewNopLogger()
defaultInclude := ".+" defaultInclude := ".+"
defaultExclude := ".+\\.(automount|device|mount|scope|slice)" defaultExclude := ".+\\.(automount|device|mount|scope|slice)"
config := NodeCollectorConfig{Systemd: SystemdConfig{ config := &NodeCollectorConfig{Systemd: SystemdConfig{
UnitInclude: &defaultInclude, UnitInclude: &defaultInclude,
UnitExclude: &defaultExclude, UnitExclude: &defaultExclude,
OldUnitInclude: new(string), OldUnitInclude: new(string),

View file

@ -53,7 +53,7 @@ type TapestatsConfig struct {
// NewTapestatsCollector returns a new Collector exposing tape device stats. // NewTapestatsCollector returns a new Collector exposing tape device stats.
// Docs from https://www.kernel.org/doc/html/latest/scsi/st.html#sysfs-and-statistics-for-tape-devices // Docs from https://www.kernel.org/doc/html/latest/scsi/st.html#sysfs-and-statistics-for-tape-devices
func NewTapestatsCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewTapestatsCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
var tapeLabelNames = []string{"device"} var tapeLabelNames = []string{"device"}
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)

View file

@ -61,7 +61,7 @@ const (
type tcpStatCollector struct { type tcpStatCollector struct {
desc typedDesc desc typedDesc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -69,7 +69,7 @@ func init() {
} }
// NewTCPStatCollector returns a new Collector exposing network stats. // NewTCPStatCollector returns a new Collector exposing network stats.
func NewTCPStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewTCPStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &tcpStatCollector{ return &tcpStatCollector{
desc: typedDesc{prometheus.NewDesc( desc: typedDesc{prometheus.NewDesc(
prometheus.BuildFQName(namespace, "tcp", "connection_states"), prometheus.BuildFQName(namespace, "tcp", "connection_states"),

View file

@ -57,7 +57,7 @@ type TextFileConfig struct {
// NewTextFileCollector returns a new Collector exposing metrics read from files // NewTextFileCollector returns a new Collector exposing metrics read from files
// in the given textfile directory. // in the given textfile directory.
func NewTextFileCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewTextFileCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
c := &textFileCollector{ c := &textFileCollector{
path: *config.TextFile.Directory, path: *config.TextFile.Directory,
logger: logger, logger: logger,

View file

@ -67,7 +67,7 @@ func init() {
} }
// NewThermCollector returns a new Collector exposing current CPU power levels. // NewThermCollector returns a new Collector exposing current CPU power levels.
func NewThermCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewThermCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &thermCollector{ return &thermCollector{
cpuSchedulerLimit: typedDesc{ cpuSchedulerLimit: typedDesc{
desc: prometheus.NewDesc( desc: prometheus.NewDesc(

View file

@ -43,7 +43,7 @@ func init() {
} }
// NewThermalZoneCollector returns a new Collector exposing kernel/system statistics. // NewThermalZoneCollector returns a new Collector exposing kernel/system statistics.
func NewThermalZoneCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewThermalZoneCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := sysfs.NewFS(*config.Path.SysPath) fs, err := sysfs.NewFS(*config.Path.SysPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open sysfs: %w", err) return nil, fmt.Errorf("failed to open sysfs: %w", err)

View file

@ -30,7 +30,7 @@ type timeCollector struct {
clocksourcesAvailable typedDesc clocksourcesAvailable typedDesc
clocksourceCurrent typedDesc clocksourceCurrent typedDesc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -39,7 +39,7 @@ func init() {
// NewTimeCollector returns a new Collector exposing the current system time in // NewTimeCollector returns a new Collector exposing the current system time in
// seconds since epoch. // seconds since epoch.
func NewTimeCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewTimeCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
const subsystem = "time" const subsystem = "time"
return &timeCollector{ return &timeCollector{
now: typedDesc{prometheus.NewDesc( now: typedDesc{prometheus.NewDesc(

View file

@ -66,7 +66,7 @@ func init() {
} }
// NewTimexCollector returns a new Collector exposing adjtime(3) stats. // NewTimexCollector returns a new Collector exposing adjtime(3) stats.
func NewTimexCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewTimexCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
const subsystem = "timex" const subsystem = "timex"
return &timexCollector{ return &timexCollector{

View file

@ -40,7 +40,7 @@ func init() {
} }
// NewUDPqueuesCollector returns a new Collector exposing network udp queued bytes. // NewUDPqueuesCollector returns a new Collector exposing network udp queued bytes.
func NewUDPqueuesCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewUDPqueuesCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
fs, err := procfs.NewFS(*config.Path.ProcPath) fs, err := procfs.NewFS(*config.Path.ProcPath)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open procfs: %w", err) return nil, fmt.Errorf("failed to open procfs: %w", err)

View file

@ -53,7 +53,7 @@ func init() {
} }
// NewUnameCollector returns new unameCollector. // NewUnameCollector returns new unameCollector.
func newUnameCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func newUnameCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
return &unameCollector{logger}, nil return &unameCollector{logger}, nil
} }

View file

@ -35,7 +35,7 @@ const (
type vmStatCollector struct { type vmStatCollector struct {
fieldPattern *regexp.Regexp fieldPattern *regexp.Regexp
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -47,7 +47,7 @@ type VmStatConfig struct {
} }
// NewvmStatCollector returns a new Collector exposing vmstat stats. // NewvmStatCollector returns a new Collector exposing vmstat stats.
func NewvmStatCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewvmStatCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
pattern := regexp.MustCompile(*config.VmStat.Fields) pattern := regexp.MustCompile(*config.VmStat.Fields)
return &vmStatCollector{ return &vmStatCollector{
fieldPattern: pattern, fieldPattern: pattern,

View file

@ -45,7 +45,7 @@ type wifiCollector struct {
stationBeaconLossTotal *prometheus.Desc stationBeaconLossTotal *prometheus.Desc
logger log.Logger logger log.Logger
config NodeCollectorConfig config *NodeCollectorConfig
} }
func init() { func init() {
@ -67,7 +67,7 @@ type wifiStater interface {
} }
// NewWifiCollector returns a new Collector exposing Wifi statistics. // NewWifiCollector returns a new Collector exposing Wifi statistics.
func NewWifiCollector(config NodeCollectorConfig, logger log.Logger) (Collector, error) { func NewWifiCollector(config *NodeCollectorConfig, logger log.Logger) (Collector, error) {
const ( const (
subsystem = "wifi" subsystem = "wifi"
) )

Some files were not shown because too many files have changed in this diff Show more