github.com/netdata/go.d.plugin@v0.58.1/modules/nvidia_smi/init.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package nvidia_smi 4 5 import ( 6 "fmt" 7 "os" 8 "os/exec" 9 ) 10 11 func (nv *NvidiaSMI) initNvidiaSMIExec() (nvidiaSMI, error) { 12 binPath := nv.BinaryPath 13 if _, err := os.Stat(binPath); os.IsNotExist(err) { 14 path, err := exec.LookPath(nv.binName) 15 if err != nil { 16 return nil, fmt.Errorf("error on lookup '%s': %v", nv.binName, err) 17 } 18 binPath = path 19 } 20 21 return newNvidiaSMIExec(binPath, nv.Config, nv.Logger) 22 }