diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..78578d2 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,23 @@ +name: Golangci-lint + +on: + push: + pull_request: + +jobs: + golangci: + name: lint + runs-on: ubuntu-latest + steps: + - name: Setup go + uses: actions/setup-go@v2 + with: + go-version: 1.17 + - name: Checkout repository + uses: actions/checkout@v2 + - name: Setup golangci-lint + uses: golangci/golangci-lint-action@v2 + with: + args: --verbose + version: latest + working-directory: v3 diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..fcffed8 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,10 @@ +linters: + disable: + - deadcode + - errcheck + - govet + - ineffassign + - staticcheck + - structcheck + - unused + - varcheck diff --git a/v3/cpu/cpu_linux.go b/v3/cpu/cpu_linux.go index 54fe4d4..ea40244 100644 --- a/v3/cpu/cpu_linux.go +++ b/v3/cpu/cpu_linux.go @@ -240,7 +240,7 @@ func parseStatLine(line string) (*TimesStat, error) { return nil, errors.New("stat does not contain cpu info") } - if strings.HasPrefix(fields[0], "cpu") == false { + if !strings.HasPrefix(fields[0], "cpu") { return nil, errors.New("not contain cpu") } diff --git a/v3/disk/disk_linux.go b/v3/disk/disk_linux.go index 85146e7..c49220e 100644 --- a/v3/disk/disk_linux.go +++ b/v3/disk/disk_linux.go @@ -349,7 +349,7 @@ func IOCountersWithContext(ctx context.Context, names ...string) (map[string]IOC if err != nil { return nil, err } - ret := make(map[string]IOCountersStat, 0) + ret := make(map[string]IOCountersStat) empty := IOCountersStat{} // use only basename such as "/dev/sda1" to "sda1" diff --git a/v3/internal/common/common_unix.go b/v3/internal/common/common_unix.go index 9e393bc..6052028 100644 --- a/v3/internal/common/common_unix.go +++ b/v3/internal/common/common_unix.go @@ -41,8 +41,7 @@ func CallLsofWithContext(ctx context.Context, invoke Invoker, pid int32, args .. } func CallPgrepWithContext(ctx context.Context, invoke Invoker, pid int32) ([]int32, error) { - var cmd []string - cmd = []string{"-P", strconv.Itoa(int(pid))} + cmd := []string{"-P", strconv.Itoa(int(pid))} pgrep, err := exec.LookPath("pgrep") if err != nil { return []int32{}, err diff --git a/v3/net/net.go b/v3/net/net.go index 5be45c8..d2a1b82 100644 --- a/v3/net/net.go +++ b/v3/net/net.go @@ -131,7 +131,7 @@ func (l *ConntrackStatList) Append(c *ConntrackStat) { } func (l *ConntrackStatList) Items() []ConntrackStat { - items := make([]ConntrackStat, len(l.items), len(l.items)) + items := make([]ConntrackStat, len(l.items)) for i, el := range l.items { items[i] = *el } diff --git a/v3/net/net_linux.go b/v3/net/net_linux.go index f5a5db3..e88aa2c 100644 --- a/v3/net/net_linux.go +++ b/v3/net/net_linux.go @@ -140,7 +140,7 @@ func IOCountersByFileWithContext(ctx context.Context, pernic bool, filename stri ret = append(ret, nic) } - if pernic == false { + if !pernic { return getIOCountersAll(ret) } diff --git a/v3/process/process_linux.go b/v3/process/process_linux.go index a424e00..5987131 100644 --- a/v3/process/process_linux.go +++ b/v3/process/process_linux.go @@ -726,10 +726,7 @@ func (p *Process) fillFromIOWithContext(ctx context.Context) (*IOCountersStat, e if err != nil { return nil, err } - param := field[0] - if strings.HasSuffix(param, ":") { - param = param[:len(param)-1] - } + param := strings.TrimSuffix(field[0], ":") switch param { case "syscr": ret.ReadCount = t