本文整理汇总了Golang中github.com/google/cadvisor/client.Client.SubcontainersInfo方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.SubcontainersInfo方法的具体用法?Golang Client.SubcontainersInfo怎么用?Golang Client.SubcontainersInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/google/cadvisor/client.Client
的用法示例。
在下文中一共展示了Client.SubcontainersInfo方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: getAllContainers
func (self *cadvisorSource) getAllContainers(client *cadvisorClient.Client, start, end time.Time, resolution time.Duration, align bool) (subcontainers []*api.Container, root *api.Container, err error) {
allContainers, err := client.SubcontainersInfo("/", &cadvisor.ContainerInfoRequest{Start: start, End: end})
if err != nil {
return nil, nil, err
}
for _, containerInfo := range allContainers {
container := parseStat(&containerInfo, start, resolution, align)
if containerInfo.Name == "/" {
root = container
} else {
subcontainers = append(subcontainers, container)
}
}
return subcontainers, root, nil
}
示例2: getAllContainers
func (self *cadvisorSource) getAllContainers(client *cadvisorClient.Client, numStats int) (subcontainers []*api.Container, root *api.Container, err error) {
allContainers, err := client.SubcontainersInfo("/",
&cadvisor.ContainerInfoRequest{NumStats: numStats})
if err != nil {
return nil, nil, err
}
for _, containerInfo := range allContainers {
container := self.parseStat(&containerInfo)
if containerInfo.Name == "/" {
root = container
} else {
subcontainers = append(subcontainers, container)
}
}
return subcontainers, root, nil
}
示例3: getAllContainers
// Get all containers from cAdvisor and separates the root container and other contianers.
func (self *CadvisorSource) getAllContainers(client *cadvisorClient.Client, start, end time.Time) (subcontainers []*Container, root *Container, err error) {
allContainers, err := client.SubcontainersInfo("/",
&cadvisor.ContainerInfoRequest{})
if err != nil {
glog.Errorf("Got error when trying to get container info: %v", err)
return nil, nil, err
}
for _, containerInfo := range allContainers {
container := self.parseStat(&containerInfo)
if containerInfo.Name == "/" {
root = container
} else {
subcontainers = append(subcontainers, container)
}
}
return subcontainers, root, nil
}
示例4: getContainerInfo
func getContainerInfo(client *client.Client, container string) (containerInfo info.ContainerInfo, err error) {
query := info.ContainerInfoRequest{}
cinfos, err := client.SubcontainersInfo("/", &query)
if err != nil {
return info.ContainerInfo{}, err
}
tempContainer := "/" + container
for _, cinfo := range cinfos {
if strings.HasSuffix(cinfo.Name, tempContainer) {
return cinfo, nil
}
}
return info.ContainerInfo{}, errors.New("not find container " + container)
}
示例5: GetAllContainer
func GetAllContainer(client *client.Client) ([]info.ContainerInfo, error) {
query := info.ContainerInfoRequest{}
query.NumStats = 1
cinfos, err := client.SubcontainersInfo("/", &query)
return cinfos, err
}