build(deps): bump github.com/containers/psgo from 1.3.2 to 1.4.0

Bumps [github.com/containers/psgo](https://github.com/containers/psgo) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/containers/psgo/releases)
- [Commits](https://github.com/containers/psgo/compare/v1.3.2...v1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:
dependabot-preview[bot]
2019-12-11 01:20:33 +00:00
committed by Valentin Rothberg
parent 282787f1ff
commit 5941894757
6 changed files with 36 additions and 11 deletions

View File

@ -85,6 +85,8 @@ The ps library is compatible with all AIX format descriptors of the ps command-l
- Seccomp mode of the process (i.e., disabled, strict or filter). See seccomp(2) for more information.
- **state**
- Process state codes (e.g, **R** for *running*, **S** for *sleeping*). See proc(5) for more information.
- **stime**
- Process start time (e.g, "2019-12-09 10:50:36 +0100 CET).
We can try out different format descriptors with the psgo binary:

View File

@ -188,23 +188,30 @@ func (p *Process) SetHostData() error {
// ElapsedTime returns the time.Duration since process p was created.
func (p *Process) ElapsedTime() (time.Duration, error) {
sinceBoot, err := strconv.ParseInt(p.Stat.Starttime, 10, 64)
startTime, err := p.StartTime()
if err != nil {
return 0, err
}
return (time.Now()).Sub(startTime), nil
}
// StarTime returns the time.Time when process p was started.
func (p *Process) StartTime() (time.Time, error) {
sinceBoot, err := strconv.ParseInt(p.Stat.Starttime, 10, 64)
if err != nil {
return time.Time{}, err
}
clockTicks, err := host.ClockTicks()
if err != nil {
return 0, err
return time.Time{}, err
}
bootTime, err := host.BootTime()
if err != nil {
return time.Time{}, err
}
sinceBoot = sinceBoot / clockTicks
bootTime, err := host.BootTime()
if err != nil {
return 0, err
}
created := time.Unix(sinceBoot+bootTime, 0)
return (time.Now()).Sub(created), nil
return time.Unix(sinceBoot+bootTime, 0), nil
}
// CPUTime returns the cumlative CPU time of process p as a time.Duration.

View File

@ -310,6 +310,11 @@ var (
header: "STATE",
procFn: processState,
},
{
normal: "stime",
header: "STIME",
procFn: processStartTime,
},
}
)
@ -715,6 +720,15 @@ func processTIME(p *process.Process, ctx *psContext) (string, error) {
return fmt.Sprintf("%v", cpu), nil
}
// processStartTime returns the start time of process p.
func processStartTime(p *process.Process, ctx *psContext) (string, error) {
sTime, err := p.StartTime()
if err != nil {
return "", err
}
return fmt.Sprintf("%v", sTime), nil
}
// processTTY returns the controlling tty (terminal) of process p.
func processTTY(p *process.Process, ctx *psContext) (string, error) {
ttyNr, err := strconv.ParseUint(p.Stat.TtyNr, 10, 64)