diff --git a/collectors/beegfsmetaMetric.go b/collectors/beegfsmetaMetric.go index 7d79346..a47a306 100644 --- a/collectors/beegfsmetaMetric.go +++ b/collectors/beegfsmetaMetric.go @@ -37,6 +37,7 @@ type BeegfsMetaCollectorConfig struct { type BeegfsMetaCollector struct { metricCollector + tags map[string]string matches map[string]string config BeegfsMetaCollectorConfig diff --git a/collectors/beegfsstorageMetric.go b/collectors/beegfsstorageMetric.go index 8d46e35..fce22ef 100644 --- a/collectors/beegfsstorageMetric.go +++ b/collectors/beegfsstorageMetric.go @@ -35,6 +35,7 @@ type BeegfsStorageCollectorConfig struct { type BeegfsStorageCollector struct { metricCollector + tags map[string]string matches map[string]string config BeegfsStorageCollectorConfig diff --git a/collectors/cpufreqCpuinfoMetric.go b/collectors/cpufreqCpuinfoMetric.go index dcdba00..090db4b 100644 --- a/collectors/cpufreqCpuinfoMetric.go +++ b/collectors/cpufreqCpuinfoMetric.go @@ -32,6 +32,7 @@ type CPUFreqCpuInfoCollectorTopology struct { type CPUFreqCpuInfoCollector struct { metricCollector + topology []CPUFreqCpuInfoCollectorTopology } diff --git a/collectors/cpufreqMetric.go b/collectors/cpufreqMetric.go index 2b46cbc..f27ca33 100644 --- a/collectors/cpufreqMetric.go +++ b/collectors/cpufreqMetric.go @@ -35,6 +35,7 @@ type CPUFreqCollectorTopology struct { // See: https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html type CPUFreqCollector struct { metricCollector + topology []CPUFreqCollectorTopology config struct { ExcludeMetrics []string `json:"exclude_metrics,omitempty"` diff --git a/collectors/cpustatMetric.go b/collectors/cpustatMetric.go index c5b369c..46f91f4 100644 --- a/collectors/cpustatMetric.go +++ b/collectors/cpustatMetric.go @@ -30,6 +30,7 @@ type CpustatCollectorConfig struct { type CpustatCollector struct { metricCollector + config CpustatCollectorConfig lastTimestamp time.Time // Store time stamp of last tick to derive values matches map[string]int diff --git a/collectors/customCmdMetric.go b/collectors/customCmdMetric.go index a4720eb..6949840 100644 --- a/collectors/customCmdMetric.go +++ b/collectors/customCmdMetric.go @@ -31,6 +31,7 @@ type CustomCmdCollectorConfig struct { type CustomCmdCollector struct { metricCollector + config CustomCmdCollectorConfig cmdFieldsSlice [][]string files []string diff --git a/collectors/diskstatMetric.go b/collectors/diskstatMetric.go index 69050e7..2d6061f 100644 --- a/collectors/diskstatMetric.go +++ b/collectors/diskstatMetric.go @@ -29,6 +29,7 @@ type DiskstatCollectorConfig struct { type DiskstatCollector struct { metricCollector + config DiskstatCollectorConfig allowedMetrics map[string]bool } diff --git a/collectors/gpfsMetric.go b/collectors/gpfsMetric.go index 68a5adb..bf12468 100644 --- a/collectors/gpfsMetric.go +++ b/collectors/gpfsMetric.go @@ -52,6 +52,7 @@ type GpfsMetricDefinition struct { type GpfsCollector struct { metricCollector + tags map[string]string config GpfsCollectorConfig sudoCmd string diff --git a/collectors/infinibandMetric.go b/collectors/infinibandMetric.go index 0fef1f1..1464683 100644 --- a/collectors/infinibandMetric.go +++ b/collectors/infinibandMetric.go @@ -46,6 +46,7 @@ type InfinibandCollectorInfo struct { type InfinibandCollector struct { metricCollector + config struct { ExcludeDevices []string `json:"exclude_devices,omitempty"` // IB device to exclude e.g. mlx5_0 SendAbsoluteValues bool `json:"send_abs_values"` // Send absolut values as read from sys filesystem diff --git a/collectors/iostatMetric.go b/collectors/iostatMetric.go index 0d645b1..5412c8c 100644 --- a/collectors/iostatMetric.go +++ b/collectors/iostatMetric.go @@ -37,6 +37,7 @@ type IOstatCollectorEntry struct { type IOstatCollector struct { metricCollector + matches map[string]int config IOstatCollectorConfig devices map[string]IOstatCollectorEntry diff --git a/collectors/ipmiMetric.go b/collectors/ipmiMetric.go index fc21e8c..d56af2f 100644 --- a/collectors/ipmiMetric.go +++ b/collectors/ipmiMetric.go @@ -27,6 +27,7 @@ const IPMISENSORS_PATH = `ipmi-sensors` type IpmiCollector struct { metricCollector + config struct { ExcludeDevices []string `json:"exclude_devices"` IpmitoolPath string `json:"ipmitool_path"` diff --git a/collectors/loadavgMetric.go b/collectors/loadavgMetric.go index 350cede..af7a2f1 100644 --- a/collectors/loadavgMetric.go +++ b/collectors/loadavgMetric.go @@ -30,6 +30,7 @@ const LOADAVGFILE = "/proc/loadavg" type LoadavgCollector struct { metricCollector + tags map[string]string load_matches []string load_skips []bool diff --git a/collectors/lustreMetric.go b/collectors/lustreMetric.go index 3689dc7..c9eec97 100644 --- a/collectors/lustreMetric.go +++ b/collectors/lustreMetric.go @@ -45,6 +45,7 @@ type LustreMetricDefinition struct { type LustreCollector struct { metricCollector + tags map[string]string config LustreCollectorConfig lctl string diff --git a/collectors/memstatMetric.go b/collectors/memstatMetric.go index 56a5633..963fdc0 100644 --- a/collectors/memstatMetric.go +++ b/collectors/memstatMetric.go @@ -40,6 +40,7 @@ type MemstatCollectorNode struct { type MemstatCollector struct { metricCollector + stats map[string]int64 tags map[string]string matches map[string]string diff --git a/collectors/netstatMetric.go b/collectors/netstatMetric.go index e8037d8..699c99c 100644 --- a/collectors/netstatMetric.go +++ b/collectors/netstatMetric.go @@ -41,6 +41,7 @@ type NetstatCollectorMetric struct { type NetstatCollector struct { metricCollector + config NetstatCollectorConfig aliasToCanonical map[string]string matches map[string][]NetstatCollectorMetric diff --git a/collectors/nfsMetric.go b/collectors/nfsMetric.go index 28b5ddb..fb48b9d 100644 --- a/collectors/nfsMetric.go +++ b/collectors/nfsMetric.go @@ -34,6 +34,7 @@ type NfsCollectorData struct { type nfsCollector struct { metricCollector + tags map[string]string version string config struct { diff --git a/collectors/nfsiostatMetric.go b/collectors/nfsiostatMetric.go index c2d1c25..ad14391 100644 --- a/collectors/nfsiostatMetric.go +++ b/collectors/nfsiostatMetric.go @@ -34,6 +34,7 @@ type NfsIOStatCollectorConfig struct { // defined by metricCollector (name, init, ...) type NfsIOStatCollector struct { metricCollector + config NfsIOStatCollectorConfig // the configuration structure meta map[string]string // default meta information tags map[string]string // default tags diff --git a/collectors/numastatsMetric.go b/collectors/numastatsMetric.go index cb37d46..808c019 100644 --- a/collectors/numastatsMetric.go +++ b/collectors/numastatsMetric.go @@ -59,6 +59,7 @@ type NUMAStatsCollectorTopolgy struct { type NUMAStatsCollector struct { metricCollector + topology []NUMAStatsCollectorTopolgy config NUMAStatsCollectorConfig lastTimestamp time.Time diff --git a/collectors/nvidiaMetric.go b/collectors/nvidiaMetric.go index ee92c51..13109d5 100644 --- a/collectors/nvidiaMetric.go +++ b/collectors/nvidiaMetric.go @@ -47,6 +47,7 @@ type NvidiaCollectorDevice struct { type NvidiaCollector struct { metricCollector + config NvidiaCollectorConfig gpus []NvidiaCollectorDevice num_gpus int diff --git a/collectors/raplMetric.go b/collectors/raplMetric.go index e3d07fd..1bc6d55 100644 --- a/collectors/raplMetric.go +++ b/collectors/raplMetric.go @@ -34,6 +34,7 @@ type RAPLZoneInfo struct { type RAPLCollector struct { metricCollector + config struct { // Exclude IDs for RAPL zones, e.g. // * 0 for zone 0 diff --git a/collectors/rocmsmiMetric.go b/collectors/rocmsmiMetric.go index 04b32b9..c7e724e 100644 --- a/collectors/rocmsmiMetric.go +++ b/collectors/rocmsmiMetric.go @@ -38,6 +38,7 @@ type RocmSmiCollectorDevice struct { type RocmSmiCollector struct { metricCollector + config RocmSmiCollectorConfig // the configuration structure devices []RocmSmiCollectorDevice } diff --git a/collectors/sampleMetric.go b/collectors/sampleMetric.go index 67dded8..5a5f37c 100644 --- a/collectors/sampleMetric.go +++ b/collectors/sampleMetric.go @@ -25,6 +25,7 @@ type SampleCollectorConfig struct { // defined by metricCollector (name, init, ...) type SampleCollector struct { metricCollector + config SampleCollectorConfig // the configuration structure meta map[string]string // default meta information tags map[string]string // default tags diff --git a/collectors/sampleTimerMetric.go b/collectors/sampleTimerMetric.go index ca16ee5..c4b6ee1 100644 --- a/collectors/sampleTimerMetric.go +++ b/collectors/sampleTimerMetric.go @@ -26,6 +26,7 @@ type SampleTimerCollectorConfig struct { // defined by metricCollector (name, init, ...) type SampleTimerCollector struct { metricCollector + wg sync.WaitGroup // sync group for management done chan bool // channel for management meta map[string]string // default meta information diff --git a/collectors/schedstatMetric.go b/collectors/schedstatMetric.go index 64ebd12..92bb4c9 100644 --- a/collectors/schedstatMetric.go +++ b/collectors/schedstatMetric.go @@ -31,6 +31,7 @@ type SchedstatCollectorConfig struct { // defined by metricCollector (name, init, ...) type SchedstatCollector struct { metricCollector + config SchedstatCollectorConfig // the configuration structure lastTimestamp time.Time // Store time stamp of last tick to derive values meta map[string]string // default meta information diff --git a/collectors/selfMetric.go b/collectors/selfMetric.go index ab29b28..0678073 100644 --- a/collectors/selfMetric.go +++ b/collectors/selfMetric.go @@ -27,6 +27,7 @@ type SelfCollectorConfig struct { type SelfCollector struct { metricCollector + config SelfCollectorConfig // the configuration structure meta map[string]string // default meta information tags map[string]string // default tags diff --git a/collectors/slurmCgroupMetric.go b/collectors/slurmCgroupMetric.go index 6c0a1c0..a8db0cd 100644 --- a/collectors/slurmCgroupMetric.go +++ b/collectors/slurmCgroupMetric.go @@ -32,6 +32,7 @@ type SlurmCgroupsConfig struct { type SlurmCgroupCollector struct { metricCollector + config SlurmCgroupsConfig meta map[string]string tags map[string]string diff --git a/collectors/tempMetric.go b/collectors/tempMetric.go index 7ed5d43..bfc6a18 100644 --- a/collectors/tempMetric.go +++ b/collectors/tempMetric.go @@ -41,6 +41,7 @@ type TempCollectorSensor struct { type TempCollector struct { metricCollector + config struct { ExcludeMetrics []string `json:"exclude_metrics"` TagOverride map[string]map[string]string `json:"tag_override"` diff --git a/collectors/topprocsMetric.go b/collectors/topprocsMetric.go index f44b7db..6875b0b 100644 --- a/collectors/topprocsMetric.go +++ b/collectors/topprocsMetric.go @@ -27,6 +27,7 @@ type TopProcsCollectorConfig struct { type TopProcsCollector struct { metricCollector + tags map[string]string config TopProcsCollectorConfig } diff --git a/go.mod b/go.mod index 5c7f4d0..210ba0b 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,6 @@ require ( github.com/NVIDIA/go-nvml v0.13.0-1 github.com/PaesslerAG/gval v1.2.4 github.com/fsnotify/fsnotify v1.9.0 - github.com/influxdata/line-protocol/v2 v2.2.1 github.com/tklauser/go-sysconf v0.3.16 golang.design/x/thread v0.0.0-20210122121316-335e9adffdf1 golang.org/x/sys v0.41.0 @@ -23,6 +22,7 @@ require ( github.com/gorilla/mux v1.8.1 // indirect github.com/influxdata/influxdb-client-go/v2 v2.14.0 // indirect github.com/influxdata/line-protocol v0.0.0-20210922203350-b1ad95c89adf // indirect + github.com/influxdata/line-protocol/v2 v2.2.1 // indirect github.com/klauspost/compress v1.18.4 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/nats-io/nats.go v1.48.0 // indirect diff --git a/go.sum b/go.sum index 2a5f430..4da3e8a 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,3 @@ -github.com/ClusterCockpit/cc-lib/v2 v2.2.1 h1:iCVas+Jc61zFH5S2VG3H1sc7tsn+U4lOJwUYjYZEims= -github.com/ClusterCockpit/cc-lib/v2 v2.2.1/go.mod h1:JuxMAuEOaLLNEnnL9U3ejha8kMvsSatLdKPZEgJw6iw= github.com/ClusterCockpit/cc-lib/v2 v2.4.0 h1:OnZlvqSatg7yCQ2NtSR7AddpUVSiuSMZ8scF1a7nfOk= github.com/ClusterCockpit/cc-lib/v2 v2.4.0/go.mod h1:JuxMAuEOaLLNEnnL9U3ejha8kMvsSatLdKPZEgJw6iw= github.com/ClusterCockpit/go-rocm-smi v0.3.0 h1:1qZnSpG7/NyLtc7AjqnUL9Jb8xtqG1nMVgp69rJfaR8= @@ -55,8 +53,6 @@ github.com/influxdata/line-protocol/v2 v2.1.0/go.mod h1:QKw43hdUBg3GTk2iC3iyCxks github.com/influxdata/line-protocol/v2 v2.2.1 h1:EAPkqJ9Km4uAxtMRgUubJyqAr6zgWM0dznKMLRauQRE= github.com/influxdata/line-protocol/v2 v2.2.1/go.mod h1:DmB3Cnh+3oxmG6LOBIxce4oaL4CPj3OmMPgvauXh+tM= github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= -github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= -github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -78,8 +74,6 @@ github.com/nats-io/nats-server/v2 v2.12.3 h1:KRv+1n7lddMVgkJPQer+pt36TcO0ENxjilB github.com/nats-io/nats-server/v2 v2.12.3/go.mod h1:MQXjG9WjyXKz9koWzUc3jYUMKD8x3CLmTNy91IQQz3Y= github.com/nats-io/nats.go v1.48.0 h1:pSFyXApG+yWU/TgbKCjmm5K4wrHu86231/w84qRVR+U= github.com/nats-io/nats.go v1.48.0/go.mod h1:iRWIPokVIFbVijxuMQq4y9ttaBTMe0SFdlZfMDd+33g= -github.com/nats-io/nkeys v0.4.12 h1:nssm7JKOG9/x4J8II47VWCL1Ds29avyiQDRn0ckMvDc= -github.com/nats-io/nkeys v0.4.12/go.mod h1:MT59A1HYcjIcyQDJStTfaOY6vhy9XTUjOFo+SVsvpBg= github.com/nats-io/nkeys v0.4.15 h1:JACV5jRVO9V856KOapQ7x+EY8Jo3qw1vJt/9Jpwzkk4= github.com/nats-io/nkeys v0.4.15/go.mod h1:CpMchTXC9fxA5zrMo4KpySxNjiDVvr8ANOSZdiNfUrs= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= @@ -121,16 +115,10 @@ go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= golang.design/x/thread v0.0.0-20210122121316-335e9adffdf1 h1:P7S/GeHBAFEZIYp0ePPs2kHXoazz8q2KsyxHyQVGCJg= golang.design/x/thread v0.0.0-20210122121316-335e9adffdf1/go.mod h1:9CWpnTUmlQkfdpdutA1nNf4iE5lAVt3QZOu0Z6hahBE= -golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= -golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= -golang.org/x/exp v0.0.0-20260112195511-716be5621a96 h1:Z/6YuSHTLOHfNFdb8zVZomZr7cqNgTJvA8+Qz75D8gU= -golang.org/x/exp v0.0.0-20260112195511-716be5621a96/go.mod h1:nzimsREAkjBCIEFtHiYkrJyT+2uy9YZJB7H1k68CXZU= golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a h1:ovFr6Z0MNmU7nH8VaX5xqw+05ST2uO1exVfZPVqRC5o= golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= -golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= -golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/sys v0.0.0-20210122093101-04d7465088b8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=