func NewSpecProcessor( processName string, prefix string, pid int32, acc telegraf.Accumulator, p *process.Process, tags map[string]string, ) *SpecProcessor { if processName != "" { tags["process_name"] = processName } else { name, err := p.Name() if err == nil { tags["process_name"] = name } } return &SpecProcessor{ Prefix: prefix, pid: pid, tags: tags, fields: make(map[string]interface{}), acc: acc, proc: p, } }
func NewSpecProcessor( prefix string, acc plugins.Accumulator, p *process.Process, ) *SpecProcessor { tags := make(map[string]string) tags["pid"] = fmt.Sprintf("%v", p.Pid) if name, err := p.Name(); err == nil { tags["name"] = name } return &SpecProcessor{ Prefix: prefix, tags: tags, acc: acc, proc: p, } }
func NewSpecProcessor( prefix string, acc telegraf.Accumulator, p *process.Process, tags map[string]string, ) *SpecProcessor { if name, err := p.Name(); err == nil { tags["process_name"] = name } return &SpecProcessor{ Prefix: prefix, tags: tags, fields: make(map[string]interface{}), acc: acc, proc: p, } }
func getProcStatus(p *process.Process) (*ProcessStatus, error) { n, err := p.Name() if err != nil { return nil, err } c, err := p.Percent(0) if err != nil { return nil, err } m, err := p.MemoryInfo() if err != nil { return nil, err } return &ProcessStatus{ Pid: p.Pid, Name: n, CPU: c, VMS: m.VMS, RSS: m.RSS, Swap: m.Swap, }, nil }