74 lines
1.9 KiB
Go
74 lines
1.9 KiB
Go
// Copyright 2014 Google Inc. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package info
|
|
|
|
type FsInfo struct {
|
|
// Block device associated with the filesystem.
|
|
Device string `json:"device"`
|
|
|
|
// Total number of bytes available on the filesystem.
|
|
Capacity uint64 `json:"capacity"`
|
|
}
|
|
|
|
type DiskInfo struct {
|
|
// device name
|
|
Name string `json:"name"`
|
|
|
|
// Major number
|
|
Major uint64 `json:"major"`
|
|
|
|
// Minor number
|
|
Minor uint64 `json:"minor"`
|
|
|
|
// Size in bytes
|
|
Size uint64 `json:"size"`
|
|
}
|
|
|
|
type MachineInfo struct {
|
|
// The number of cores in this machine.
|
|
NumCores int `json:"num_cores"`
|
|
|
|
// Maximum clock speed for the cores, in KHz.
|
|
CpuFrequency uint64 `json:"cpu_frequency_khz"`
|
|
|
|
// The amount of memory (in bytes) in this machine
|
|
MemoryCapacity int64 `json:"memory_capacity"`
|
|
|
|
// Filesystems on this machine.
|
|
Filesystems []FsInfo `json:"filesystems"`
|
|
|
|
// Disk map
|
|
DiskMap map[string]DiskInfo `json:"disk_map"`
|
|
}
|
|
|
|
type VersionInfo struct {
|
|
// Kernel version.
|
|
KernelVersion string `json:"kernel_version"`
|
|
|
|
// OS image being used for cadvisor container, or host image if running on host directly.
|
|
ContainerOsVersion string `json:"container_os_version"`
|
|
|
|
// Docker version.
|
|
DockerVersion string `json:"docker_version"`
|
|
|
|
// cAdvisor version.
|
|
CadvisorVersion string `json:"cadvisor_version"`
|
|
}
|
|
|
|
type MachineInfoFactory interface {
|
|
GetMachineInfo() (*MachineInfo, error)
|
|
GetVersionInfo() (*VersionInfo, error)
|
|
}
|