Esempio n. 1
0
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
}