Documentation
¶
Index ¶
- func CreateKSMLatencyMeasurement() measurement.Measurement
- func CreatePrometheusMeasurement(gatherer Gatherer) measurement.Measurement
- func HistogramSub(finalHist, initialHist *measurementutil.Histogram) *measurementutil.Histogram
- func SetQuantileFromHistogram(metric *measurementutil.LatencyMetric, hist *measurementutil.Histogram) error
- type ContainerInfo
- type ContainerRestartsInfo
- type Gatherer
- type GenericQuery
- type LoadBalancerNodeSyncMeasurement
- type QueryExecutor
- type StartParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateKSMLatencyMeasurement ¶
func CreateKSMLatencyMeasurement() measurement.Measurement
CreateKSMLatencyMeasurement creates a new Kube State Metrics Measurement.
func CreatePrometheusMeasurement ¶
func CreatePrometheusMeasurement(gatherer Gatherer) measurement.Measurement
func HistogramSub ¶
func HistogramSub(finalHist, initialHist *measurementutil.Histogram) *measurementutil.Histogram
HistogramSub is a helper function to substract two histograms
func SetQuantileFromHistogram ¶
func SetQuantileFromHistogram(metric *measurementutil.LatencyMetric, hist *measurementutil.Histogram) error
SetQuantileFromHistogram sets quantile of LatencyMetric from Histogram
Types ¶
type ContainerInfo ¶
type ContainerRestartsInfo ¶
type ContainerRestartsInfo struct { ContainerInfo `yaml:",inline"` RestartCount int `yaml:"restartCount"` }
type Gatherer ¶
type Gatherer interface { Configure(config *measurement.Config) error Gather(executor QueryExecutor, startTime, endTime time.Time, config *measurement.Config) ([]measurement.Summary, error) IsEnabled(config *measurement.Config) bool String() string }
Gatherer is an interface for measurements based on Prometheus metrics. Those measurments don't require any preparation. It's assumed Prometheus is up, running and instructed to scrape required metrics in the test cluster (please see clusterloader2/pkg/prometheus/manifests).
type GenericQuery ¶
type GenericQuery struct { Name string Query string Threshold *float64 LowerBound bool RequireSamples bool }
func (*GenericQuery) Validate ¶
func (q *GenericQuery) Validate() error
type LoadBalancerNodeSyncMeasurement ¶
type LoadBalancerNodeSyncMeasurement struct {
// contains filtered or unexported fields
}
func (*LoadBalancerNodeSyncMeasurement) Dispose ¶
func (s *LoadBalancerNodeSyncMeasurement) Dispose()
func (*LoadBalancerNodeSyncMeasurement) Execute ¶
func (s *LoadBalancerNodeSyncMeasurement) Execute(config *measurement.Config) ([]measurement.Summary, error)
LoadBalancerNodeSyncMeasurement takes measurement of node sync latency for selected lb type services. This measurement only works for K8s 1.19 as it depends on the ExcludeNodeForLoadbalancer label. Services can be specified by field and/or label selectors. If namespace is not passed by parameter, all LoadBalancer type service with all-namespace scope is assumed. "measure" action triggers nodesync and observation of nodesync completion for selected LB services. "gather" returns node sync latency summary.
func (*LoadBalancerNodeSyncMeasurement) String ¶
func (s *LoadBalancerNodeSyncMeasurement) String() string
type QueryExecutor ¶
QueryExecutor is an interface for queryning Prometheus server.
type StartParams ¶
type StartParams struct { MetricName string MetricVersion string Queries []GenericQuery Unit string Dimensions []string }
StartParams represents configuration that can be passed as params with action: start.
func (*StartParams) Validate ¶
func (p *StartParams) Validate() error
TODO(mborsz): github.com/go-playground/validator or similar project?
Source Files
¶
- api_availability_measurement.go
- api_availability_metrics.go
- chaos_monkey_measurement.go
- cilium_endpoint_propagation_delay.go
- container_restarts.go
- etcd_metrics.go
- exec.go
- generic_query_measurement.go
- job_lifecycle_latency.go
- kube_state_metrics_measurement.go
- loadbalancer_nodesync_latency.go
- metrics_for_e2e.go
- metrics_server_prometheus.go
- neg_latency_measurement.go
- nodelocaldns_latency_prometheus.go
- ooms_tracker.go
- pod_command.go
- profile.go
- prometheus_measurement.go
- resource_usage.go
- scheduler_latency.go
- scheduling_throughput.go
- scheduling_throughput_prometheus.go
- service_creation_latency.go
- sleep.go
- system_pod_metrics.go
- timer.go
- wait_for_controlled_pods.go
- wait_for_generic_k8s_object.go
- wait_for_jobs.go
- wait_for_nodes.go
- wait_for_pods.go
- wait_for_pvcs.go
- wait_for_pvs.go