当前位置: 首页>>代码示例>>Golang>>正文


Golang client.Client类代码示例

本文整理汇总了Golang中github.com/google/cadvisor/client.Client的典型用法代码示例。如果您正苦于以下问题:Golang Client类的具体用法?Golang Client怎么用?Golang Client使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Client类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: getContainerAlias

func getContainerAlias(cAdvisorClient *client.Client, ContainerName string) string {
	containerAliases.Lock()
	defer containerAliases.Unlock()

	if containerAliases.Aliases == nil {
		containerAliases.Aliases = make(map[string]ContainerAliasInfo)
	}

	alias := containerAliases.Aliases[ContainerName].ContainerAlias

	if alias == "" {
		request := info.ContainerInfoRequest{
			NumStats: 1,
		}
		cInfo, err := cAdvisorClient.ContainerInfo(ContainerName, &request)
		if err == nil {
			alias := getAliasSafely(cInfo.Aliases)
			glog.V(4).Infof("Adding map during get: " + ContainerName + " -> " + alias)
			info := &ContainerAliasInfo{alias, time.Now()}
			containerAliases.Aliases[ContainerName] = *info
		}
		alias = containerAliases.Aliases[ContainerName].ContainerAlias
	}

	return alias
}
开发者ID:jut-io,项目名称:jut-cadvisor-agent,代码行数:26,代码来源:jut_cadvisor_agent.go

示例2: c_cadvisor

func c_cadvisor(c *client.Client, config *conf.Cadvisor) (opentsdb.MultiDataPoint, error) {
	var md opentsdb.MultiDataPoint

	containers, err := c.AllDockerContainers(&v1.ContainerInfoRequest{NumStats: 1})
	if err != nil {
		slog.Errorf("Error fetching containers from cadvisor: %v", err)
		return md, err
	}

	for _, container := range containers {
		statsForContainer(&md, &container, config)
	}

	return md, nil
}
开发者ID:mhenderson-so,项目名称:bosun,代码行数:15,代码来源:cadvisor.go

示例3: 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
}
开发者ID:jiangyaoguo,项目名称:heapster,代码行数:17,代码来源:cadvisor.go

示例4: 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
}
开发者ID:DreadPirateShawn,项目名称:heapster,代码行数:19,代码来源:cadvisor.go

示例5: 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
}
开发者ID:vmturbo,项目名称:kubernetes,代码行数:20,代码来源:cadvisor.go

示例6: 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)
}
开发者ID:mazip,项目名称:oct,代码行数:14,代码来源:cpu_usage.go

示例7: GetAllContainer

func GetAllContainer(client *client.Client) ([]info.ContainerInfo, error) {
	query := info.ContainerInfoRequest{}
	query.NumStats = 1
	cinfos, err := client.SubcontainersInfo("/", &query)
	return cinfos, err
}
开发者ID:hustcts,项目名称:ocp-testing,代码行数:6,代码来源:memorymonitor.go


注:本文中的github.com/google/cadvisor/client.Client类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。