johnsonjh/gfpsgo

View on GitHub

Showing 11 of 20 total issues

File psgo.go has 685 lines of code (exceeds 500 allowed). Consider refactoring.
Open

// Copyright 2021 Jeffery H. Johnson <trnsz@pobox.com>
// Copyright 2021 Gridfinity, LLC.
// Copyright 2020 The psgo authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Severity: Minor
Found in psgo.go - About 6 hrs to fix

    Function parseStatus has 126 lines of code (exceeds 50 allowed). Consider refactoring.
    Open

    func parseStatus(pid string, lines []string) (*Status, error) {
    s := Status{}
    errUnexpectedInput := fmt.Errorf(
    "unexpected input from /proc/%s/status",
    pid,
    Severity: Major
    Found in internal/proc/status.go - About 4 hrs to fix

      Function main has 74 lines of code (exceeds 50 allowed). Consider refactoring.
      Open

      func main() {
      var (
      descriptors []string
      pidsList []string
      data [][]string
      Severity: Minor
      Found in cmd/sample.go - About 1 hr to fix

        Function JoinNamespaceAndProcessInfoWithOptions has 68 lines of code (exceeds 50 allowed). Consider refactoring.
        Open

        func JoinNamespaceAndProcessInfoWithOptions(
        pid string,
        descriptors []string,
        options *JoinNamespaceOpts,
        ) ([][]string, error) {
        Severity: Minor
        Found in psgo.go - About 1 hr to fix

          Function JoinNamespaceAndProcessInfoWithOptions has 10 return statements (exceeds 4 allowed).
          Open

          func JoinNamespaceAndProcessInfoWithOptions(
          pid string,
          descriptors []string,
          options *JoinNamespaceOpts,
          ) ([][]string, error) {
          Severity: Major
          Found in psgo.go - About 1 hr to fix

            Function TTYs has 6 return statements (exceeds 4 allowed).
            Open

            func TTYs() (*[]TTY, error) {
            devDir, err := os.Open("/dev/")
            if err != nil {
            return nil, err
            }
            Severity: Major
            Found in internal/dev/tty.go - About 40 mins to fix

              Function New has 6 return statements (exceeds 4 allowed).
              Open

              func New(pid string, joinUserNS bool) (*Process, error) {
              p := Process{Pid: pid}
               
              if err := p.parseStat(); err != nil {
              return nil, err
              Severity: Major
              Found in internal/process/process.go - About 40 mins to fix

                Function JoinNamespaceAndProcessInfoWithOptions has a Cognitive Complexity of 22 (exceeds 20 allowed). Consider refactoring.
                Open

                func JoinNamespaceAndProcessInfoWithOptions(
                pid string,
                descriptors []string,
                options *JoinNamespaceOpts,
                ) ([][]string, error) {
                Severity: Minor
                Found in psgo.go - About 35 mins to fix

                Function findID has 5 return statements (exceeds 4 allowed).
                Open

                func findID(
                idStr string,
                mapping []IDMap,
                lookupFunc func(uid string) (string, error),
                overflowFile string,
                Severity: Major
                Found in psgo.go - About 35 mins to fix

                  Function ReadMappings has 5 return statements (exceeds 4 allowed).
                  Open

                  func ReadMappings(path string) ([]IDMap, error) {
                  file, err := os.Open(path)
                  if err != nil {
                  return nil, errors.Wrapf(err, "cannot open %s", path)
                  }
                  Severity: Major
                  Found in internal/proc/ns.go - About 35 mins to fix

                    Function BootTime has 5 return statements (exceeds 4 allowed).
                    Open

                    func BootTime() (int64, error) {
                    if bootTime != nil {
                    return *bootTime, nil
                    }
                     
                     
                    Severity: Major
                    Found in internal/host/host.go - About 35 mins to fix
                      Severity
                      Category
                      Status
                      Source
                      Language