Skip to content

Commit 61c461c

Browse files
authored
Modernize codebase (#3431)
Run Go modernize tool and apply fixes. Signed-off-by: Ben Kochie <superq@gmail.com>
1 parent f3b02df commit 61c461c

15 files changed

+46
-61
lines changed

collector/bonding_linux.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,13 @@ func readBondingStats(root string) (status map[string][2]int, err error) {
7878
if err != nil {
7979
return nil, err
8080
}
81-
for _, master := range strings.Fields(string(masters)) {
81+
for master := range strings.FieldsSeq(string(masters)) {
8282
slaves, err := os.ReadFile(filepath.Join(root, master, "bonding", "slaves"))
8383
if err != nil {
8484
return nil, err
8585
}
8686
sstat := [2]int{0, 0}
87-
for _, slave := range strings.Fields(string(slaves)) {
87+
for slave := range strings.FieldsSeq(string(slaves)) {
8888
state, err := os.ReadFile(filepath.Join(root, master, fmt.Sprintf("lower_%s", slave), "bonding_slave", "mii_status"))
8989
if errors.Is(err, os.ErrNotExist) {
9090
// some older? kernels use slave_ prefix

collector/collector.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ func IsNoDataError(err error) bool {
199199
}
200200

201201
// pushMetric helps construct and convert a variety of value types into Prometheus float64 metrics.
202-
func pushMetric(ch chan<- prometheus.Metric, fieldDesc *prometheus.Desc, name string, value interface{}, valueType prometheus.ValueType, labelValues ...string) {
202+
func pushMetric(ch chan<- prometheus.Metric, fieldDesc *prometheus.Desc, name string, value any, valueType prometheus.ValueType, labelValues ...string) {
203203
var fVal float64
204204
switch val := value.(type) {
205205
case uint8:

collector/cpufreq_linux.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ func (c *cpuFreqCollector) Update(ch chan<- prometheus.Metric) error {
106106
)
107107
}
108108
if stats.Governor != "" {
109-
availableGovernors := strings.Split(stats.AvailableGovernors, " ")
110-
for _, g := range availableGovernors {
109+
availableGovernors := strings.SplitSeq(stats.AvailableGovernors, " ")
110+
for g := range availableGovernors {
111111
state := 0
112112
if g == stats.Governor {
113113
state = 1

collector/ethtool_linux_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func (e *EthtoolFixture) Stats(intf string) (map[string]uint64, error) {
139139

140140
func readModes(modes string) uint32 {
141141
var out uint32
142-
for _, mode := range strings.Split(modes, " ") {
142+
for mode := range strings.SplitSeq(modes, " ") {
143143
switch mode {
144144
case "10baseT/Half":
145145
out |= (1 << unix.ETHTOOL_LINK_MODE_10baseT_Half_BIT)
@@ -162,7 +162,7 @@ func readModes(modes string) uint32 {
162162

163163
func readPortTypes(portTypes string) uint32 {
164164
var out uint32
165-
for _, ptype := range strings.Split(portTypes, " ") {
165+
for ptype := range strings.SplitSeq(portTypes, " ") {
166166
ptype = strings.Trim(ptype, " \t")
167167
if ptype == "TP" {
168168
out |= (1 << unix.ETHTOOL_LINK_MODE_TP_BIT)

collector/filesystem_linux.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,7 @@ func (c *filesystemCollector) GetStats() ([]filesystemStats, error) {
5858
statChan := make(chan filesystemStats)
5959
wg := sync.WaitGroup{}
6060

61-
workerCount := *statWorkerCount
62-
if workerCount < 1 {
63-
workerCount = 1
64-
}
61+
workerCount := max(*statWorkerCount, 1)
6562

6663
for i := 0; i < workerCount; i++ {
6764
wg.Add(1)

collector/hwmon_linux.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"os"
2424
"path/filepath"
2525
"regexp"
26+
"slices"
2627
"strconv"
2728
"strings"
2829

@@ -154,11 +155,8 @@ func collectSensorData(dir string, data map[string]map[string]string) error {
154155
continue
155156
}
156157

157-
for _, t := range hwmonSensorTypes {
158-
if t == sensorType {
159-
addValueFile(data, sensorType+strconv.Itoa(sensorNum), sensorProperty, filepath.Join(dir, file.Name()))
160-
break
161-
}
158+
if slices.Contains(hwmonSensorTypes, sensorType) {
159+
addValueFile(data, sensorType+strconv.Itoa(sensorNum), sensorProperty, filepath.Join(dir, file.Name()))
162160
}
163161
}
164162
return nil

collector/logind_linux.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"fmt"
2121
"log/slog"
2222
"os"
23+
"slices"
2324
"strconv"
2425

2526
"github.com/godbus/dbus/v5"
@@ -138,10 +139,8 @@ func collectMetrics(ch chan<- prometheus.Metric, c logindInterface) error {
138139
}
139140

140141
func knownStringOrOther(value string, known []string) string {
141-
for i := range known {
142-
if value == known[i] {
143-
return value
144-
}
142+
if slices.Contains(known, value) {
143+
return value
145144
}
146145

147146
return "other"
@@ -176,19 +175,19 @@ func newDbus() (*logindDbus, error) {
176175
}
177176

178177
func (c *logindDbus) listSeats() ([]string, error) {
179-
var result [][]interface{}
178+
var result [][]any
180179
err := c.object.Call(dbusObject+".Manager.ListSeats", 0).Store(&result)
181180
if err != nil {
182181
return nil, err
183182
}
184183

185-
resultInterface := make([]interface{}, len(result))
184+
resultInterface := make([]any, len(result))
186185
for i := range result {
187186
resultInterface[i] = result[i]
188187
}
189188

190189
seats := make([]logindSeatEntry, len(result))
191-
seatsInterface := make([]interface{}, len(seats))
190+
seatsInterface := make([]any, len(seats))
192191
for i := range seats {
193192
seatsInterface[i] = &seats[i]
194193
}
@@ -209,19 +208,19 @@ func (c *logindDbus) listSeats() ([]string, error) {
209208
}
210209

211210
func (c *logindDbus) listSessions() ([]logindSessionEntry, error) {
212-
var result [][]interface{}
211+
var result [][]any
213212
err := c.object.Call(dbusObject+".Manager.ListSessions", 0).Store(&result)
214213
if err != nil {
215214
return nil, err
216215
}
217216

218-
resultInterface := make([]interface{}, len(result))
217+
resultInterface := make([]any, len(result))
219218
for i := range result {
220219
resultInterface[i] = result[i]
221220
}
222221

223222
sessions := make([]logindSessionEntry, len(result))
224-
sessionsInterface := make([]interface{}, len(sessions))
223+
sessionsInterface := make([]any, len(sessions))
225224
for i := range sessions {
226225
sessionsInterface[i] = &sessions[i]
227226
}

collector/netstat_linux.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"fmt"
2323
"io"
2424
"log/slog"
25+
"maps"
2526
"os"
2627
"regexp"
2728
"strconv"
@@ -73,12 +74,8 @@ func (c *netStatCollector) Update(ch chan<- prometheus.Metric) error {
7374
}
7475
// Merge the results of snmpStats into netStats (collisions are possible, but
7576
// we know that the keys are always unique for the given use case).
76-
for k, v := range snmpStats {
77-
netStats[k] = v
78-
}
79-
for k, v := range snmp6Stats {
80-
netStats[k] = v
81-
}
77+
maps.Copy(netStats, snmpStats)
78+
maps.Copy(netStats, snmp6Stats)
8279
for protocol, protocolStats := range netStats {
8380
for name, value := range protocolStats {
8481
key := protocol + "_" + name

collector/perf_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func perfTracepointFlagToTracepoints(tracepointsFlag []string) ([]*perfTracepoin
118118
func perfCPUFlagToCPUs(cpuFlag string) ([]int, error) {
119119
var err error
120120
cpus := []int{}
121-
for _, subset := range strings.Split(cpuFlag, ",") {
121+
for subset := range strings.SplitSeq(cpuFlag, ",") {
122122
// First parse a single CPU.
123123
if !strings.Contains(subset, "-") {
124124
cpu, err := strconv.Atoi(subset)

collector/sysctl_linux.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func (c *sysctlCollector) Update(ch chan<- prometheus.Metric) error {
8686

8787
func (c *sysctlCollector) newMetrics(s *sysctl) ([]prometheus.Metric, error) {
8888
var (
89-
values interface{}
89+
values any
9090
length int
9191
err error
9292
)
@@ -151,7 +151,7 @@ func (s *sysctl) metricName() string {
151151
return SanitizeMetricName(s.name)
152152
}
153153

154-
func (s *sysctl) newConstMetric(v interface{}) prometheus.Metric {
154+
func (s *sysctl) newConstMetric(v any) prometheus.Metric {
155155
if s.numeric {
156156
return prometheus.MustNewConstMetric(
157157
prometheus.NewDesc(
@@ -171,7 +171,7 @@ func (s *sysctl) newConstMetric(v interface{}) prometheus.Metric {
171171
)
172172
}
173173

174-
func (s *sysctl) newIndexedMetrics(v interface{}) []prometheus.Metric {
174+
func (s *sysctl) newIndexedMetrics(v any) []prometheus.Metric {
175175
desc := prometheus.NewDesc(
176176
prometheus.BuildFQName(namespace, "sysctl", s.metricName()),
177177
fmt.Sprintf("sysctl %s", s.name),
@@ -195,7 +195,7 @@ func (s *sysctl) newIndexedMetrics(v interface{}) []prometheus.Metric {
195195
}
196196
}
197197

198-
func (s *sysctl) newMappedMetrics(v interface{}) ([]prometheus.Metric, error) {
198+
func (s *sysctl) newMappedMetrics(v any) ([]prometheus.Metric, error) {
199199
switch values := v.(type) {
200200
case []int:
201201
metrics := make([]prometheus.Metric, len(values))

0 commit comments

Comments
 (0)