github.com/castai/kvisor@v1.7.1-0.20240516114728-b3572a2607b5/pkg/cgroup/cgroup.go (about)

     1  package cgroup
     2  
     3  import (
     4  	"os"
     5  	"path"
     6  	"time"
     7  
     8  	"k8s.io/klog/v2"
     9  )
    10  
    11  type Cgroup struct {
    12  	Id               uint64
    13  	Version          Version
    14  	ContainerRuntime ContainerRuntimeID
    15  	ContainerID      string
    16  	Path             string
    17  
    18  	subsystems map[string]string
    19  	cgRoot     string
    20  }
    21  
    22  func (cg *Cgroup) CreatedAt() time.Time {
    23  	p := path.Join(cg.cgRoot, cg.subsystems[""]) //v2
    24  	if cg.Version == V1 {
    25  		p = path.Join(cg.cgRoot, "cpu", cg.subsystems["cpu"])
    26  	}
    27  	fi, err := os.Stat(p)
    28  	if err != nil {
    29  		if !os.IsNotExist(err) {
    30  			klog.Errorln(err)
    31  		}
    32  		return time.Time{}
    33  	}
    34  	return fi.ModTime()
    35  }