kubernetes/test/integration/scheduler_perf/util.go

const dateFormat

const testNamespace

const setupNamespace

const throughputSampleInterval

var dataItemsDir

var runID

func newDefaultComponentConfig() (*config.KubeSchedulerConfiguration, error) {}

// mustSetupCluster starts the following components:
// - k8s api server
// - scheduler
// - some of the kube-controller-manager controllers
//
// It returns regular and dynamic clients, and destroyFunc which should be used to
// remove resources after finished.
// Notes on rate limiter:
//   - client rate limit is set to 5000.
func mustSetupCluster(tCtx ktesting.TContext, config *config.KubeSchedulerConfiguration, enabledFeatures map[featuregate.Feature]bool, outOfTreePluginRegistry frameworkruntime.Registry) (informers.SharedInformerFactory, ktesting.TContext) {}

func isAttempted(pod *v1.Pod) bool {}

// getScheduledPods returns the list of scheduled, attempted but unschedulable
// and unattempted pods in the specified namespaces.
// Label selector can be used to filter the pods.
// Note that no namespaces specified matches all namespaces.
func getScheduledPods(podInformer coreinformers.PodInformer, labelSelector map[string]string, namespaces ...string) ([]*v1.Pod, []*v1.Pod, []*v1.Pod, error) {}

type DataItem

type DataItems

type podScheduling

// makeBasePod creates a Pod object to be used as a template.
func makeBasePod() *v1.Pod {}

// makeBaseNode creates a Node object with given nodeNamePrefix to be used as a template.
func makeBaseNode(nodeNamePrefix string) *v1.Node {}

func dataItems2JSONFile(dataItems DataItems, namePrefix string) error {}

func dataFilename(destFile string) (string, error) {}

type labelValues

type metricsCollectorConfig

type metricsCollector

func newMetricsCollector(config *metricsCollectorConfig, labels map[string]string) *metricsCollector {}

func (mc *metricsCollector) init() error {}

func (*metricsCollector) run(tCtx ktesting.TContext) {}

func (mc *metricsCollector) collect() []DataItem {}

// uniqueLVCombos lists up all possible label values combinations.
// e.g., if there are 3 labelValues, each of which has 2 values,
// the result would be {A: a1, B: b1, C: c1}, {A: a2, B: b1, C: c1}, {A: a1, B: b2, C: c1}, ... (2^3 = 8 combinations).
func uniqueLVCombos(lvs []*labelValues) []map[string]string {}

func collectHistogramVec(metric string, labels map[string]string, lvMap map[string]string) *DataItem {}

type throughputCollector

func newThroughputCollector(podInformer coreinformers.PodInformer, resultLabels map[string]string, labelSelector map[string]string, namespaces []string, errorMargin float64) *throughputCollector {}

func (tc *throughputCollector) init() error {}

func (tc *throughputCollector) run(tCtx ktesting.TContext) {}

func (tc *throughputCollector) collect() []DataItem {}