kube

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2021 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NewKubernetesClient = func() KubernetesClient {
	return &kubernetesClient{}
}

Functions

func NewRequestLatencyMetric

func NewRequestLatencyMetric(metricStorage MetricStorage, labels map[string]string) metrics.LatencyMetric

func NewRequestResultMetric

func NewRequestResultMetric(metricStorage MetricStorage, labels map[string]string) metrics.ResultMetric

func RegisterKubernetesClientMetrics

func RegisterKubernetesClientMetrics(metricStorage MetricStorage, metricLabels map[string]string)

RegisterKubernetesClientMetrics defines metrics in Prometheus client.

Types

type ClientRequestLatencyMetric

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

func (ClientRequestLatencyMetric) Observe

func (c ClientRequestLatencyMetric) Observe(verb string, u url.URL, latency time.Duration)

type ClientRequestResultMetric

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

func (ClientRequestResultMetric) Increment

func (c ClientRequestResultMetric) Increment(code string, method string, host string)

type KubernetesClient

type KubernetesClient interface {
	kubernetes.Interface

	WithContextName(contextName string)
	WithConfigPath(configPath string)
	WithServer(server string)
	WithRateLimiterSettings(qps float32, burst int)
	WithTimeout(time time.Duration)
	WithMetricStorage(metricStorage MetricStorage)
	WithMetricLabels(labels map[string]string)

	Init() error

	DefaultNamespace() string
	Dynamic() dynamic.Interface
	ApiExt() apixv1client.ApiextensionsV1Interface

	APIResourceList(apiVersion string) ([]*metav1.APIResourceList, error)
	APIResource(apiVersion string, kind string) (*metav1.APIResource, error)
	GroupVersionResource(apiVersion string, kind string) (schema.GroupVersionResource, error)
}

func NewFakeKubernetesClient

func NewFakeKubernetesClient() KubernetesClient

type MetricStorage

type MetricStorage interface {
	RegisterCounter(metric string, labels map[string]string) *prometheus.CounterVec
	CounterAdd(metric string, value float64, labels map[string]string)
	RegisterHistogram(metric string, labels map[string]string) *prometheus.HistogramVec
	RegisterHistogramWithBuckets(metric string, labels map[string]string, buckets []float64) *prometheus.HistogramVec
	HistogramObserve(metric string, value float64, labels map[string]string)
}

Extraction of methods from metric_storage.go to prevent cycle dependencies.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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