func GetContainerInfo(containerID string) (*info.ContainerInfo, error) { cinfo := new(info.ContainerInfo) cinfo.Stats = make([]*info.ContainerStats, 0) containerStats := &info.ContainerStats{ Timestamp: time.Now(), Memory: &info.MemoryStats{ Stats: make(map[string]uint64), }, } if err := getMemoryStats(containerID, containerStats); err != nil { return nil, err } cinfo.Spec.HasMemory = true if err := getMemorySpec(containerID, cinfo); err != nil { return nil, err } cinfo.Spec.HasCpu = true if err := getCpusetSpec(containerID, cinfo); err != nil { return nil, err } cinfo.Stats = append(cinfo.Stats, containerStats) return cinfo, nil }