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
VersionInfo
client.VersionInfo()
This method returns the cAdvisor version.
Attributes
client.Attributes()
This method returns a cadvisor/info/v2/Attributes struct with all the fields filled in. Attributes includes hardware attributes (as returned by MachineInfo) as well as software attributes (eg. software versions). Here is an example return value:
(*v2.Attributes)({
KernelVersion: (string) (len=17) "3.13.0-44-generic"
ContainerOsVersion: (string) (len=18) "Ubuntu 14.04.1 LTS"
DockerVersion: (string) (len=9) "1.5.0-rc4"
CadvisorVersion: (string) (len=6) "0.10.1"
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 Attributes struct in the source
Documentation ¶
Overview ¶
Client library to programmatically access cAdvisor API.
Index ¶
- type Client
- func (self *Client) Attributes() (attr *v2.Attributes, err error)
- func (self *Client) MachineInfo() (minfo *v1.MachineInfo, err error)
- func (self *Client) MachineStats() ([]v2.MachineStats, error)
- func (self *Client) Stats(name string, request *v2.RequestOptions) (map[string]v2.ContainerInfo, error)
- func (self *Client) VersionInfo() (version string, err error)
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 (*Client) Attributes ¶
func (self *Client) Attributes() (attr *v2.Attributes, err error)
Attributes returns hardware and software attributes of the machine.
func (*Client) MachineInfo ¶
func (self *Client) MachineInfo() (minfo *v1.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) MachineStats ¶ added in v0.20.2
func (self *Client) MachineStats() ([]v2.MachineStats, error)
MachineStats returns the JSON machine statistics for this client. A non-nil error result indicates a problem with obtaining the JSON machine information data.
func (*Client) Stats ¶ added in v0.21.0
func (self *Client) Stats(name string, request *v2.RequestOptions) (map[string]v2.ContainerInfo, error)
Stats returns stats for the requested container.
func (*Client) VersionInfo ¶
VersionInfo returns the version info for cAdvisor.