17244: Refactor crunchstat to use cgroup unified/hybrid modes.
[arvados.git] / lib / crunchrun / docker.go
index e547f81706fbb55d3f0a3a4380a2f76cb1168b9c..4adc680d9bf7c3402e43048576f917fb3c2ade09 100644 (file)
@@ -195,8 +195,15 @@ func (e *dockerExecutor) Create(spec containerSpec) error {
        return e.startIO(spec.Stdin, spec.Stdout, spec.Stderr)
 }
 
-func (e *dockerExecutor) CgroupID() string {
-       return e.containerID
+func (e *dockerExecutor) Pid() int {
+       ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(10*time.Second))
+       defer cancel()
+       ctr, err := e.dockerclient.ContainerInspect(ctx, e.containerID)
+       if err != nil && ctr.State != nil {
+               return ctr.State.Pid
+       } else {
+               return -1
+       }
 }
 
 func (e *dockerExecutor) Start() error {