From 2e9de5edf095d4eface12e5f1860af6bb0995d66 Mon Sep 17 00:00:00 2001 From: Edwin Chiu Date: Thu, 19 Jun 2025 11:29:33 -0400 Subject: [PATCH] use CutPrefix to address go-modernize errors --- internal/report/table_helpers.go | 56 ++++++---------------- internal/report/table_helpers_turbostat.go | 8 ++-- internal/script/script.go | 4 +- 3 files changed, 20 insertions(+), 48 deletions(-) diff --git a/internal/report/table_helpers.go b/internal/report/table_helpers.go index 6400273d..2f0c709e 100644 --- a/internal/report/table_helpers.go +++ b/internal/report/table_helpers.go @@ -1354,52 +1354,24 @@ func parseNicInfo(scriptOutput string) []nicInfo { var nic nicInfo for line := range strings.SplitSeq(nicOutput, "\n") { line = strings.TrimSpace(line) - if strings.HasPrefix(line, "Interface: ") { - nic.Name = strings.TrimPrefix(line, "Interface: ") - } - if strings.HasPrefix(line, "Vendor: ") { - nic.Vendor = strings.TrimPrefix(line, "Vendor: ") - } - if strings.HasPrefix(line, "Vendor ID: ") { - nic.VendorID = strings.TrimPrefix(line, "Vendor ID: ") - } + nic.Name, _ = strings.CutPrefix(line, "Interface: ") + nic.Vendor, _ = strings.CutPrefix(line, "Vendor: ") + nic.VendorID, _ = strings.CutPrefix(line, "Vendor ID: ") if strings.HasPrefix(line, "Model: ") { // sometimes the model name has additional information in parentheses, we want to keep only the model name nic.Model = strings.TrimSpace(strings.TrimPrefix(strings.Split(line, "(")[0], "Model: ")) } - if strings.HasPrefix(line, "Model ID: ") { - nic.ModelID = strings.TrimPrefix(line, "Model ID: ") - } - if strings.HasPrefix(line, "Speed: ") { - nic.Speed = strings.TrimPrefix(line, "Speed: ") - } - if strings.HasPrefix(line, "Link detected: ") { - nic.Link = strings.TrimPrefix(line, "Link detected: ") - } - if strings.HasPrefix(line, "bus-info: ") { - nic.Bus = strings.TrimPrefix(line, "bus-info: ") - } - if strings.HasPrefix(line, "driver: ") { - nic.Driver = strings.TrimPrefix(line, "driver: ") - } - if strings.HasPrefix(line, "version: ") { - nic.DriverVersion = strings.TrimPrefix(line, "version: ") - } - if strings.HasPrefix(line, "firmware-version: ") { - nic.FirmwareVersion = strings.TrimPrefix(line, "firmware-version: ") - } - if strings.HasPrefix(line, "MAC Address: ") { - nic.MACAddress = strings.TrimPrefix(line, "MAC Address: ") - } - if strings.HasPrefix(line, "NUMA Node: ") { - nic.NUMANode = strings.TrimPrefix(line, "NUMA Node: ") - } - if strings.HasPrefix(line, "CPU Affinity: ") { - nic.CPUAffinity = strings.TrimPrefix(line, "CPU Affinity: ") - } - if strings.HasPrefix(line, "IRQ Balance: ") { - nic.IRQBalance = strings.TrimPrefix(line, "IRQ Balance: ") - } + nic.ModelID, _ = strings.CutPrefix(line, "Model ID: ") + nic.Speed, _ = strings.CutPrefix(line, "Speed: ") + nic.Link, _ = strings.CutPrefix(line, "Link detected: ") + nic.Bus, _ = strings.CutPrefix(line, "bus-info: ") + nic.Driver, _ = strings.CutPrefix(line, "driver: ") + nic.DriverVersion, _ = strings.CutPrefix(line, "version: ") + nic.FirmwareVersion, _ = strings.CutPrefix(line, "firmware-version: ") + nic.MACAddress, _ = strings.CutPrefix(line, "MAC Address: ") + nic.NUMANode, _ = strings.CutPrefix(line, "NUMA Node: ") + nic.CPUAffinity, _ = strings.CutPrefix(line, "CPU Affinity: ") + nic.IRQBalance, _ = strings.CutPrefix(line, "IRQ Balance: ") } nics = append(nics, nic) } diff --git a/internal/report/table_helpers_turbostat.go b/internal/report/table_helpers_turbostat.go index d9ffc7a3..3bd07f40 100644 --- a/internal/report/table_helpers_turbostat.go +++ b/internal/report/table_helpers_turbostat.go @@ -29,8 +29,8 @@ func parseTurbostatOutput(output string) ([]map[string]string, error) { if line == "" || strings.HasPrefix(line, "#") { continue } - if strings.HasPrefix(line, "INTERVAL:") { - val := strings.TrimSpace(strings.TrimPrefix(line, "INTERVAL:")) + if val, found := strings.CutPrefix(line, "INTERVAL:"); found { + val = strings.TrimSpace(val) f, err := strconv.ParseFloat(val, 64) if err != nil { return nil, err @@ -38,8 +38,8 @@ func parseTurbostatOutput(output string) ([]map[string]string, error) { interval = f continue } - if strings.HasPrefix(line, "TIME:") { - val := strings.TrimSpace(strings.TrimPrefix(line, "TIME:")) + if val, found := strings.CutPrefix(line, "TIME:"); found { + val = strings.TrimSpace(val) // Try to parse as HH:MM:SS var err error timestamp, err = time.Parse("15:04:05", val) diff --git a/internal/script/script.go b/internal/script/script.go index 4f9a68c1..e3d9a896 100644 --- a/internal/script/script.go +++ b/internal/script/script.go @@ -390,8 +390,8 @@ func parseMasterScriptOutput(masterScriptOutput string) (scriptOutputs []ScriptO stdoutStarted = false continue } - if strings.HasPrefix(line, "EXIT CODE:") { - exitcode = strings.TrimSpace(strings.TrimPrefix(line, "EXIT CODE:")) + if exitCodeStr, found := strings.CutPrefix(line, "EXIT CODE:"); found { + exitcode = strings.TrimSpace(exitCodeStr) stdoutStarted = false stderrStarted = false break