testutil

package
v0.18.2 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2020 License: Apache-2.0 Imports: 12 Imported by: 26

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// MetricNameLabel is label under which model.Sample stores metric name
	MetricNameLabel model.LabelName = model.MetricNameLabel
	// QuantileLabel is label under which model.Sample stores latency quantile value
	QuantileLabel model.LabelName = model.QuantileLabel
)

Functions

func CollectAndCompare

func CollectAndCompare(c metrics.Collector, expected io.Reader, metricNames ...string) error

CollectAndCompare registers the provided Collector with a newly created pedantic Registry. It then does the same as GatherAndCompare, gathering the metrics from the pedantic Registry.

func ComputeHistogramDelta

func ComputeHistogramDelta(before, after model.Samples, label model.LabelName)

ComputeHistogramDelta computes the change in histogram metric for a selected label. Results are stored in after samples

func CustomCollectAndCompare

func CustomCollectAndCompare(c metrics.StableCollector, expected io.Reader, metricNames ...string) error

CustomCollectAndCompare registers the provided StableCollector with a newly created registry. It then does the same as GatherAndCompare, gathering the metrics from the pedantic Registry.

func ExtractMetricSamples

func ExtractMetricSamples(metricsBlob string) ([]*model.Sample, error)

ExtractMetricSamples parses the prometheus metric samples from the input string.

func GatherAndCompare

func GatherAndCompare(g metrics.Gatherer, expected io.Reader, metricNames ...string) error

GatherAndCompare gathers all metrics from the provided Gatherer and compares it to an expected output read from the provided Reader in the Prometheus text exposition format. If any metricNames are provided, only metrics with those names are compared.

func GetCounterMetricValue added in v0.18.0

func GetCounterMetricValue(m metrics.CounterMetric) (float64, error)

GetCounterMetricValue extract metric value from CounterMetric

func GetGaugeMetricValue added in v0.18.0

func GetGaugeMetricValue(m metrics.GaugeMetric) (float64, error)

GetGaugeMetricValue extract metric value from GaugeMetric

func GetHistogramMetricValue added in v0.18.0

func GetHistogramMetricValue(m metrics.ObserverMetric) (float64, error)

GetHistogramMetricValue extract sum of all samples from ObserverMetric

func GetMetricValuesForLabel added in v0.18.0

func GetMetricValuesForLabel(ms Metrics, metricName, label string) map[string]int64

GetMetricValuesForLabel returns value of metric for a given dimension

func NewFakeKubeRegistry added in v0.18.0

func NewFakeKubeRegistry(ver string) metrics.KubeRegistry

NewFakeKubeRegistry creates a fake `KubeRegistry` that takes the input version as `build in version`. It should only be used in testing scenario especially for the deprecated metrics. The input version format should be `major.minor.patch`, e.g. '1.18.0'.

func ParseMetrics

func ParseMetrics(data string, output *Metrics) error

ParseMetrics parses Metrics from data returned from prometheus endpoint

func PrintSample

func PrintSample(sample *model.Sample) string

PrintSample returns formated representation of metric Sample

func ValidateMetrics added in v0.18.0

func ValidateMetrics(metrics Metrics, metricName string, expectedLabels ...string) error

ValidateMetrics verifies if every sample of metric has all expected labels

Types

type Histogram added in v0.18.0

type Histogram struct {
	*dto.Histogram
}

Histogram wraps prometheus histogram DTO (data transfer object)

func GetHistogramFromGatherer added in v0.18.0

func GetHistogramFromGatherer(gatherer metrics.Gatherer, metricName string) (Histogram, error)

GetHistogramFromGatherer collects a metric from a gatherer implementing k8s.io/component-base/metrics.Gatherer interface. Used only for testing purposes where we need to gather metrics directly from a running binary (without metrics endpoint).

func (*Histogram) Average added in v0.18.0

func (hist *Histogram) Average() float64

Average computes histogram's average value

func (*Histogram) Clear added in v0.18.0

func (hist *Histogram) Clear()

Clear clears all fields of the wrapped histogram

func (*Histogram) Quantile added in v0.18.0

func (hist *Histogram) Quantile(q float64) float64

Quantile computes q-th quantile of a cumulative histogram. It's expected the histogram is valid (by calling Validate)

func (*Histogram) Validate added in v0.18.0

func (hist *Histogram) Validate() error

Validate makes sure the wrapped histogram has all necessary fields set and with valid values.

type Metrics

type Metrics map[string]model.Samples

Metrics is generic metrics for other specific metrics

func NewMetrics

func NewMetrics() Metrics

NewMetrics returns new metrics which are initialized.

func (*Metrics) Equal

func (m *Metrics) Equal(o Metrics) bool

Equal returns true if all metrics are the same as the arguments.

Jump to

Keyboard shortcuts

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