types

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2021 License: Apache-2.0 Imports: 5 Imported by: 3

Documentation

Index

Constants

View Source
const (
	MetricTypeMatrix = "matrix"
	MetricTypeVector = "vector"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type APIServer

type APIServer interface {
	Object

	Up() MetricQuery
	RequestRate() MetricQuery
	RequestByVerbRate() MetricQuery
	RequestLatencies() MetricQuery
	RequestByVerbLatencies() MetricQuery
}

type Cluster

type Cluster interface {
	Object

	// cpu
	CPUUtilization() MetricQuery
	CPUUsage() MetricQuery
	CPUTotal() MetricQuery

	// memory
	MemoryUtilization() MetricQuery
	MemoryAvailable() MetricQuery
	MemoryTotal() MetricQuery
	MemoryUsageWoCache() MetricQuery

	// net
	NetUtilization() MetricQuery
	NetBytesTransmitted() MetricQuery
	NetBytesReceived() MetricQuery

	// disk
	DiskReadIOPS() MetricQuery
	DiskReadThroughput() MetricQuery
	DiskWriteIOPS() MetricQuery
	DiskWriteThroughput() MetricQuery
	DiskSizeUsage() MetricQuery
	DiskSizeUtilization() MetricQuery
	DiskSizeCapacity() MetricQuery
	DiskSizeAvailable() MetricQuery
	DiskInodeTotal() MetricQuery
	DiskInodeUsage() MetricQuery
	DiskInodeUtilization() MetricQuery

	// pod
	PodCount() MetricQuery
	PodQuota() MetricQuery
	PodUtilization() MetricQuery
	PodRunning() MetricQuery
	PodSucceed() MetricQuery
	PodAbnormal() MetricQuery
	PodAbnormalRatio() MetricQuery

	// node
	NodeTotal() MetricQuery
	NodeOnline() MetricQuery
	NodeOffline() MetricQuery
	NodeOfflineRatio() MetricQuery

	// kubernetes object count
	NamespaceCount() MetricQuery
	CronJobCount() MetricQuery
	PVCCount() MetricQuery
	DaemonSetCount() MetricQuery
	DeploymentCount() MetricQuery
	EndpointCount() MetricQuery
	HPACount() MetricQuery
	JobCount() MetricQuery
	StatefulSetCount() MetricQuery
	ReplicaSetCount() MetricQuery
	ServiceCount() MetricQuery
	SecretCount() MetricQuery
	PVCount() MetricQuery
	IngressCount() MetricQuery

	// load
	Load1() MetricQuery
	Load5() MetricQuery
	Load15() MetricQuery

	WorkspaceCount() MetricQuery
	UserCount() MetricQuery
	ClusterCount() MetricQuery
}

type Component

type Component interface {
	Etcd() Etcd
	APIServer() APIServer
	Scheduler() Scheduler
}

type Container

type Container interface {
	Object

	CPUUsage() MetricQuery
	MemoryUsage() MetricQuery
	MemoryUsageWoCache() MetricQuery
}

type Etcd

type Etcd interface {
	Object

	// server
	ServerList() MetricQuery
	ServerTotal() MetricQuery
	ServerUpTotal() MetricQuery
	ServerHasLeader() MetricQuery
	ServerLeaderChanges() MetricQuery
	ServerProposalsFailedRate() MetricQuery
	ServerProposalsAppliedRate() MetricQuery
	ServerProposalsCommittedRate() MetricQuery
	ServerProposalsPendingCount() MetricQuery

	MvccDBSize() MetricQuery
	NetworkClientGRPCReceivedBytes() MetricQuery
	NetworkClientGRPCSentBytes() MetricQuery
	GRPCCallRate() MetricQuery
	GRPCCallFailedRate() MetricQuery
	GRPCServerMSGReceivedRate() MetricQuery
	GRPCServerMSGSentRate() MetricQuery
	DiskWALFsyncDuration() MetricQuery
	DiskWALFsyncDurationQuantile() MetricQuery
	DiskBackendCommitDuration() MetricQuery
	DiskBackendCommitDurationQuantile() MetricQuery
}

type Metadata

type Metadata struct {
	MetricName string `json:"metric_name,omitempty" description:"metric name"`
	Type       string `json:"type,omitempty" description:"metric type"`
	Help       string `json:"help,omitempty" description:"metric description"`
}

type Metric

type Metric struct {
	Name       string `json:"metric_name,omitempty" description:"metric name, eg. scheduler_up_sum"`
	MetricData `json:"data,omitempty" description:"actual metric result"`
	Error      string `json:"error,omitempty"`
}

type MetricData

type MetricData struct {
	MetricType   string        `json:"resultType,omitempty" description:"result type, one of matrix, vector"`
	MetricValues []MetricValue `json:"result,omitempty" description:"metric data including labels, time series and values"`
}

type MetricQuery

type MetricQuery interface {
	Query(ts time.Time) *Metric
	QueryRange(r Range) *Metric
}

type MetricValue

type MetricValue struct {
	Metadata map[string]string `json:"metric,omitempty" description:"time series labels"`
	// The type of Point is a float64 array with fixed length of 2.
	// So Point will always be initialized as [0, 0], rather than nil.
	// To allow empty Sample, we should declare Sample to type *Point
	Sample *Point  `json:"value,omitempty" description:"time series, values of vector type"`
	Series []Point `json:"values,omitempty" description:"time series, values of matrix type"`
}

type NamedMetricQuery

type NamedMetricQuery interface {
	MetricQuery
	GetName() string
}

func NewNamedMetricQuery

func NewNamedMetricQuery(name string, q MetricQuery) NamedMetricQuery

type Namespace

type Namespace interface {
	Object
	// cpu
	CPUUsage() MetricQuery
	CPULimitHard() MetricQuery

	// memory
	MemoryUsage() MetricQuery
	MemoryUsageWoCache() MetricQuery
	MemoryLimitHard() MetricQuery

	// net
	NetBytesTransmitted() MetricQuery
	NetBytesReceived() MetricQuery

	// pod
	PodCount() MetricQuery
	PodCountHard() MetricQuery
	PodRunning() MetricQuery
	PodSucceed() MetricQuery
	PodAbnormal() MetricQuery
	PodAbnormalRatio() MetricQuery

	// kubernetes object count
	CronJobCount() MetricQuery
	PVCCount() MetricQuery
	DaemonSetCount() MetricQuery
	DeploymentCount() MetricQuery
	EndpointCount() MetricQuery
	HPACount() MetricQuery
	JobCount() MetricQuery
	ReplicasetCount() MetricQuery
	StatefulSetCount() MetricQuery
	ServiceCount() MetricQuery
	SecretCount() MetricQuery
	ConfigMapCount() MetricQuery
	IngressCount() MetricQuery
	S2IBuilderCount() MetricQuery
}

type Node

type Node interface {
	Object
	// cpu
	CPUUtilization() MetricQuery
	CPUUsage() MetricQuery
	CPUTotal() MetricQuery

	// memory
	MemoryUtilization() MetricQuery
	MemoryAvailable() MetricQuery
	MemoryTotal() MetricQuery
	MemoryUsageWoCache() MetricQuery

	// net
	NetUtilization() MetricQuery
	NetBytesTransmitted() MetricQuery
	NetBytesReceived() MetricQuery

	// disk
	DiskReadIOPS() MetricQuery
	DiskReadThroughput() MetricQuery
	DiskWriteIOPS() MetricQuery
	DiskWriteThroughput() MetricQuery
	DiskSizeUsage() MetricQuery
	DiskSizeUtilization() MetricQuery
	DiskSizeCapacity() MetricQuery
	DiskSizeAvailable() MetricQuery
	DiskInodeTotal() MetricQuery
	DiskInodeUsage() MetricQuery
	DiskInodeUtilization() MetricQuery

	// pod
	PodCount() MetricQuery
	PodQuota() MetricQuery
	PodUtilization() MetricQuery
	PodRunning() MetricQuery
	PodSucceed() MetricQuery
	PodAbnormal() MetricQuery
	PodAbnormalRatio() MetricQuery

	// load
	Load1() MetricQuery
	Load5() MetricQuery
	Load15() MetricQuery

	PlegQuantile() MetricQuery
}

type Object

type Object interface{}

type PVC

type PVC interface {
	Object

	InodeAvailable() MetricQuery
	InodeUsed() MetricQuery
	InodeTotal() MetricQuery
	InodeUtilization() MetricQuery
	BytesAvailable() MetricQuery
	BytesUsed() MetricQuery
	BytesTotal() MetricQuery
	BytesUtilization() MetricQuery
}

type Pod

type Pod interface {
	Object

	CPUUsage() MetricQuery
	MemoryUsage() MetricQuery
	MemoryUsageWoCache() MetricQuery
	NetBytesTransmitted() MetricQuery
	NetBytesReceived() MetricQuery
}

type Point

type Point [2]float64

The first element is the timestamp, the second is the metric value. eg, [1585658599.195, 0.528]

func (Point) MarshalJSON

func (p Point) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler. It will be called when writing JSON to HTTP response Inspired by prometheus/client_golang

func (Point) Timestamp

func (p Point) Timestamp() float64

func (*Point) UnmarshalJSON

func (p *Point) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler. This is for unmarshaling test data.

func (Point) Value

func (p Point) Value() float64

type Range

type Range struct {
	Start, End time.Time
	Step       time.Duration
}

type Scheduler

type Scheduler interface {
	Object

	Up() MetricQuery
	ScheduleAttempts() MetricQuery
	ScheduleAttemptRate() MetricQuery
	E2ESchedulingLatency() MetricQuery
	E2ESchedulingLatencyQuantile() MetricQuery
}

type Workload

type Workload interface {
	Object

	CPUUsage() MetricQuery
	MemoryUsage() MetricQuery
	MemoryUsageWoCache() MetricQuery
	NetBytesTransmitted() MetricQuery
	NetBytesReceived() MetricQuery

	DeploymentReplica() MetricQuery
	DeploymentReplicaAvailable() MetricQuery
	DeploymentUnavailableReplicasRatio() MetricQuery

	StatefulSetReplica() MetricQuery
	StatefulSetReplicaAvailable() MetricQuery
	StatefulSetUnavailableReplicaRatio() MetricQuery

	DaemonSetReplica() MetricQuery
	DaemonSetReplicaAvailable() MetricQuery
	DaemonSetUnavailableReplicasRatio() MetricQuery
}

type Workspace

type Workspace interface {
	Object
	// cpu
	CPUUsage() MetricQuery

	// memory
	MemoryUsage() MetricQuery
	MemoryUsageWoCache() MetricQuery

	// net
	NetBytesTransmitted() MetricQuery
	NetBytesReceived() MetricQuery

	// pod
	PodCount() MetricQuery
	PodRunning() MetricQuery
	PodSucceed() MetricQuery
	PodAbnormal() MetricQuery
	PodAbnormalRatio() MetricQuery

	// kubernetes object count
	NamespaceCount() MetricQuery
	DevopsCount() MetricQuery
	MemberCount() MetricQuery
	RoleCount() MetricQuery
	CronJobCount() MetricQuery
	PVCCount() MetricQuery
	DaemonSetCount() MetricQuery
	DeploymentCount() MetricQuery
	EndpointCount() MetricQuery
	HPACount() MetricQuery
	JobCount() MetricQuery
	StatefulSetCount() MetricQuery
	ReplicaSetCount() MetricQuery
	ServiceCount() MetricQuery
	SecretCount() MetricQuery
	IngressCount() MetricQuery
}

Jump to

Keyboard shortcuts

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