client

package
v0.0.0-...-0df215e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2016 License: MIT Imports: 10 Imported by: 0

README

Example REST API Client

This is an implementation of a cAdvisor REST API in Go. You can use it like this:

client, err := client.NewClient("http://192.168.59.103:8080/")

Obviously, replace the URL with the path to your actual cAdvisor REST endpoint.

MachineInfo
client.MachineInfo()

This method returns a cadvisor/info.MachineInfo struct with all the fields filled in. Here is an example return value:

(*info.MachineInfo)(0xc208022b10)({
 NumCores: (int) 4,
 MemoryCapacity: (int64) 2106028032,
 Filesystems: ([]info.FsInfo) (len=1 cap=4) {
  (info.FsInfo) {
   Device: (string) (len=9) "/dev/sda1",
   Capacity: (uint64) 19507089408
  }
 }
})

You can see the full specification of the MachineInfo struct in the source

ContainerInfo

Given a container name and a ContainerInfoRequest, will return all information about the specified container. The ContainerInfoRequest struct just has one field, NumStats, which is the number of stat entries that you want returned.

request := info.ContainerInfoRequest{10}
sInfo, err := client.ContainerInfo("/docker/d9d3eb10179e6f93a...", &request)

Returns a ContainerInfo struct

SubcontainersInfo

Given a container name and a ContainerInfoRequest, will recursively return all info about the container and all subcontainers contained within the container. The ContainerInfoRequest struct just has one field, NumStats, which is the number of stat entries that you want returned.

request := info.ContainerInfoRequest{10}
sInfo, err := client.SubcontainersInfo("/docker", &request)

Returns a ContainerInfo struct with the Subcontainers field populated.

Documentation

Overview

TODO(cAdvisor): Package comment.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client represents the base URL for a cAdvisor client.

func NewClient

func NewClient(url string) (*Client, error)

NewClient returns a new client with the specified base URL.

func (*Client) AllDockerContainers

func (self *Client) AllDockerContainers(query *info.ContainerInfoRequest) (cinfo []info.ContainerInfo, err error)

Returns the JSON container information for all Docker containers.

func (*Client) ContainerInfo

func (self *Client) ContainerInfo(name string, query *info.ContainerInfoRequest) (cinfo *info.ContainerInfo, err error)

ContainerInfo returns the JSON container information for the specified container and request.

func (*Client) DockerContainer

func (self *Client) DockerContainer(name string, query *info.ContainerInfoRequest) (cinfo info.ContainerInfo, err error)

Returns the JSON container information for the specified Docker container and request.

func (*Client) EventStaticInfo

func (self *Client) EventStaticInfo(name string) (einfo []*info.Event, err error)

Returns all past events that satisfy the request

func (*Client) EventStreamingInfo

func (self *Client) EventStreamingInfo(name string, einfo chan *info.Event) (err error)

Streams all events that occur that satisfy the request into the channel that is passed

func (*Client) MachineInfo

func (self *Client) MachineInfo() (minfo *info.MachineInfo, err error)

MachineInfo returns the JSON machine information for this client. A non-nil error result indicates a problem with obtaining the JSON machine information data.

func (*Client) SubcontainersInfo

func (self *Client) SubcontainersInfo(name string, query *info.ContainerInfoRequest) ([]info.ContainerInfo, error)

Returns the information about all subcontainers (recursive) of the specified container (including itself).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL