in internal/resources/fetching/fetchers/k8s/process_fetcher.go [176:217]
func (f *ProcessesFetcher) createProcCommonData(stat proc.ProcStat, cmd string, pid string) ProcCommonData {
processID, err := strconv.ParseInt(pid, 10, 64)
if err != nil {
f.log.Errorf("Couldn't parse PID, pid: %s", pid)
}
startTime, err := strconv.ParseUint(stat.StartTime, 10, 64)
if err != nil {
f.log.Errorf("Couldn't parse stat.StartTime, startTime: %s", stat.StartTime)
}
pgid, err := strconv.ParseInt(stat.Group, 10, 64)
if err != nil {
f.log.Errorf("Couldn't parse stat.Group, Group: %s, Error: %v", stat.Group, err)
}
ppid, err := strconv.ParseInt(stat.Parent, 10, 64)
if err != nil {
f.log.Errorf("Couldn't parse stat.Parent, Parent: %s, Error: %v", stat.Parent, err)
}
sysUptime, err := proc.ReadUptimeFS(f.Fs)
if err != nil {
f.log.Error("couldn't read system boot time", err)
}
uptimeDate := time.Now().Add(-time.Duration(sysUptime) * time.Second)
args := strings.Split(cmd, " ")
start := uptimeDate.Add(ticksToDuration(startTime))
return ProcCommonData{
Parent: &ProcCommonData{PID: ppid},
PID: processID,
Name: stat.Name,
PGID: pgid,
CommandLine: cmd,
Args: args,
ArgsCount: int64(len(args)),
Title: stat.Name,
Start: start,
Uptime: int64(time.Since(start).Seconds()),
}
}