measurement

package
v0.0.0-...-0f57273 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Execute

func Execute(mm MeasurementManager, m *api.Measurement) error

Execute executes a measurement, which can be a single measurement or a wrapper for multiple measurements. It throws an error if both identifier and Instances has been supplied in the config.

func Register

func Register(methodName string, createFunc createMeasurementFunc) error

Register registers create measurement function in measurement factory.

Types

type Measurement

type Measurement interface {
	Execute(config *MeasurementConfig) ([]Summary, error)
	Dispose()
	String() string
}

Measurement is an common interface for all measurements methods. It should be implemented by the user to allow his/her measurement method to be registered in the measurement factory. See https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/docs/design.md for reference.

func CreateMeasurement

func CreateMeasurement(methodName string) (Measurement, error)

CreateMeasurement creates measurement instance.

type MeasurementConfig

type MeasurementConfig struct {
	// ClusterFramework returns cluster framework.
	ClusterFramework *framework.Framework
	// PrometheusFramework returns prometheus framework.
	PrometheusFramework *framework.Framework
	// Params is a map of {name: value} pairs enabling for injection of arbitrary config
	// into the Execute method.
	Params map[string]interface{}
	// TemplateProvider provides templated objects.
	TemplateProvider    *config.TemplateProvider
	ClusterLoaderConfig *config.ClusterLoaderConfig

	// Identifier identifies this instance of measurement.
	Identifier    string
	CloudProvider string
}

MeasurementConfig provides client and parameters required for the measurement execution.

type MeasurementManager

type MeasurementManager interface {
	Execute(methodName string, identifier string, params map[string]interface{}) error
	GetSummaries() []Summary
	Dispose()
}

MeasurementManager provides the interface for measurementManager

func CreateMeasurementManager

func CreateMeasurementManager(clusterFramework, prometheusFramework *framework.Framework, templateProvider *config.TemplateProvider, config *config.ClusterLoaderConfig) MeasurementManager

CreateMeasurementManager creates new instance of measurementManager.

type Summary

type Summary interface {
	SummaryName() string
	SummaryExt() string
	SummaryTime() time.Time
	SummaryContent() string
}

Summary represenst result of specific measurement.

func CreateSummary

func CreateSummary(name, ext, content string) Summary

CreateSummary creates gneric summary.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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