mirror of
https://github.com/containers/podman.git
synced 2025-12-04 12:17:34 +08:00
Vendor in containers/buildah 1.16.1
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
35
vendor/github.com/containers/buildah/pkg/rusage/rusage_unix.go
generated
vendored
Normal file
35
vendor/github.com/containers/buildah/pkg/rusage/rusage_unix.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// +build !windows
|
||||
|
||||
package rusage
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func mkduration(tv syscall.Timeval) time.Duration {
|
||||
return time.Duration(tv.Sec)*time.Second + time.Duration(tv.Usec)*time.Microsecond
|
||||
}
|
||||
|
||||
func get() (Rusage, error) {
|
||||
var rusage syscall.Rusage
|
||||
err := syscall.Getrusage(syscall.RUSAGE_CHILDREN, &rusage)
|
||||
if err != nil {
|
||||
return Rusage{}, errors.Wrapf(err, "error getting resource usage")
|
||||
}
|
||||
r := Rusage{
|
||||
Date: time.Now(),
|
||||
Utime: mkduration(rusage.Utime),
|
||||
Stime: mkduration(rusage.Stime),
|
||||
Inblock: int64(rusage.Inblock), // nolint: unconvert
|
||||
Outblock: int64(rusage.Oublock), // nolint: unconvert
|
||||
}
|
||||
return r, nil
|
||||
}
|
||||
|
||||
// Supported returns true if resource usage counters are supported on this OS.
|
||||
func Supported() bool {
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user