1
0
Fork 0
telegraf/plugins/inputs/intel_rdt/processes.go
Daniel Baumann 4978089aab
Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-24 07:26:29 +02:00

41 lines
734 B
Go

//go:build !windows
package intel_rdt
import "github.com/prometheus/procfs"
type processesHandler interface {
getAllProcesses() ([]process, error)
}
type process struct {
Name string
PID int
}
type processManager struct{}
func newProcessor() processesHandler {
return &processManager{}
}
func (*processManager) getAllProcesses() ([]process, error) {
allProcesses, err := procfs.AllProcs()
if err != nil {
return nil, err
}
processes := make([]process, 0, len(allProcesses))
for _, proc := range allProcesses {
procComm, err := proc.Comm()
if err != nil {
continue
}
newProcess := process{
PID: proc.PID,
Name: procComm,
}
processes = append(processes, newProcess)
}
return processes, nil
}