Documentation ¶
Index ¶
- Constants
- func GetNodeIP(node *corev1.Node) string
- func GetNodeInstanceGroup(node corev1.Node) string
- func InitMetrics(client *client.Client, nodesProvider NodesProvider, ...) error
- type Entities
- type EntitiesProvider
- type Kubelet
- type KubeletClient
- type KubeletSummary
- type KubeletSummaryContainer
- type KubeletValue
- type Metric
- type MetricFamily
- type MetricValue
- type MetricsBatch
- type MetricsSource
- type NodePathGetter
- type NodesProvider
- type RawMetric
- type RawMetrics
Constants ¶
View Source
const ( // TypeCluster cluster TypeCluster = "cluster" // TypeNode node TypeNode = "node" // TypePod pod TypePod = "pod" // TypePodContainer container in a pod TypePodContainer = "pod_container" // TypeSysContainer system container TypeSysContainer = "sys_container" )
Variables ¶
This section is empty.
Functions ¶
func GetNodeInstanceGroup ¶
func InitMetrics ¶
func InitMetrics( client *client.Client, nodesProvider NodesProvider, entitiesProvider EntitiesProvider, kube *kuber.Kube, args map[string]interface{}, ) error
InitMetrics init metrics source
Types ¶
type Entities ¶
type Entities struct { Node *uuid.UUID Application *uuid.UUID Service *uuid.UUID Container *uuid.UUID }
type EntitiesProvider ¶
type Kubelet ¶
type Kubelet struct {
// contains filtered or unexported fields
}
Kubelet kubelet client
func NewKubelet ¶
func NewKubelet( kubeletClient *KubeletClient, resolution time.Duration, timeouts kubeletTimeouts, ) (*Kubelet, error)
NewKubelet returns new kubelet
func (*Kubelet) GetMetrics ¶
func (kubelet *Kubelet) GetMetrics( entitiesProvider EntitiesProvider, tickTime time.Time, ) (result []*Metric, err error)
GetMetrics gets metrics
type KubeletClient ¶
type KubeletClient struct {
// contains filtered or unexported fields
}
func NewKubeletClient ¶
func NewKubeletClient( nodesProvider NodesProvider, kube *kuber.Kube, args map[string]interface{}, ) (*KubeletClient, error)
type KubeletSummary ¶
type KubeletSummary struct { Node struct { CPU struct { Time time.Time UsageCoreNanoSeconds int64 } Memory struct { Time time.Time RSSBytes int64 } } Pods []struct { PodRef struct { Name string Namespace string } Containers []KubeletSummaryContainer } }
KubeletSummary a struct to hold kubelet summary
type KubeletSummaryContainer ¶
type KubeletValue ¶
KubeletValue timestamp value struct
type Metric ¶
type Metric struct { Name string Type string NodeName string NodeIP string NamespaceName string ControllerName string ControllerKind string ContainerName string Timestamp time.Time Value int64 PodName string AdditionalTags map[string]interface{} }
Metric metrics struct
type MetricFamily ¶
type MetricFamily struct { Name string Help string Type string Tags []string Values []*MetricValue }
type MetricsBatch ¶
type MetricsBatch struct { Timestamp time.Time Metrics map[string]*MetricFamily }
type MetricsSource ¶
type MetricsSource interface {
GetMetrics(entitiesProvider EntitiesProvider, tickTime time.Time) ([]*Metric, error)
}
in future releases. Consider using Source interface instead. MetricsSource interface for metrics source
type NodesProvider ¶
Click to show internal directories.
Click to hide internal directories.