client

package
v0.0.0 Latest Latest
Warning

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

Go to latest
Published: May 18, 2021 License: Apache-2.0 Imports: 23 Imported by: 16

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

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 RegisterMetrics

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

RegisterMetrics defines metrics in Prometheus client.

Types

type Client

type Client 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, kind string) (*metav1.APIResource, error)
	GroupVersionResource(apiVersion, kind string) (schema.GroupVersionResource, error)
}

func New

func New() Client

func NewFake

func NewFake() Client

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, method, host string)

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.

Jump to

Keyboard shortcuts

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