# Packages
Package log provides primitives for logging.
# Functions
BoolPointer takes bool as input, creates a new variable with the input value, and returns a pointer to the variable.
BuildExperiment builds an experiment.
CompletePath is a helper function for converting file paths, specified relative to the caller of this function, into absolute ones.
CreateExperimentYaml creates an experiment.yaml file from a template and a URL.
CreateTemplate creates a template from a string.
FuncMapWithToYAML return sprig text function map with a toYaml function.
GetTrackingHandler creates a handler for fhttp.DynamicHTTPServer that sets a variable to true This can be used to verify that the handler was called.
IntPointer takes an int as input, creates a new variable with the input value, and returns a pointer to the variable.
MockMetricsServer is a mock metrics server use the callback functions in the MockMetricsServerInput to test if those endpoints are called.
NewFakeKubeDriver creates and returns a new KubeDriver with fake clients.
NewKubeDriver creates and returns a new KubeDriver.
PutExperimentResultToMetricsService sends the test result to the metrics service.
ReadConfig reads yaml formatted configuration information into conf from the file specified by environment variable configEnv The function setDefaults is called to set any default values if desired.
RunExperiment runs an experiment.
SplitApplication is a utility function that returns the namespace and name from a key of the form "namespace/name".
StartHTTPMock activates and cleanups httpmock.
StringPointer takes string as input, creates a new variable with the input value, and returns a pointer to the variable.
ToYAML takes an interface, marshals it to yaml, and returns a string.
Uniq deduplicates a list We have switched from uniq to Uniq, since we want to use it in other packages.
# Constants
AbnDashboard is the path to the GET /abnDashboard endpoint.
CollectGRPCTaskName is the name of this task which performs load generation and metrics collection for gRPC services.
CollectHTTPTaskName is the name of this task which performs load generation and metrics collection.
ExperimentFile is the name of the experiment file.
ExperimentTemplateFile is the name of the template that will produce the experiment file.
GRPCDashboardPath is the path to the GET /grpcDashboard endpoint.
HTTPDashboardPath is the path to the GET /httpDashboard endpoint.
MetricsServerURL is the URL of the metrics server.
NotifyTaskName is the task name.
ReadinessTaskName is the task name.
RunTaskName is the name of the run task which performs running of a shell script.
TestResultPath is the path to the PUT /testResult endpoint.
# Variables
MajorMinor is the minor version of Iter8 set this manually whenever the major or minor version changes.
Version is the semantic version of Iter8 (with the `v` prefix) Version is intended to be set using LDFLAGS at build time.
# Structs
Experiment struct containing spec and result.
ExperimentMetadata species the name and namespace of the experiment Used in http and grpc tasks to send the name and namespace to the metrics server.
ExperimentResult defines the current results from the experiment.
Insights records the number of versions in this experiment.
KubeDriver embeds Kube configuration, and enables interaction with a Kubernetes cluster through Kube APIs.
MockMetricsServerInput is the input for MockMetricsServer() allows the user to provide callbacks when particular endpoints are called.
Summary is the data that is given to the payload template Summary is a subset of the data contained in Experiment.
TaskMeta provides common fields used across all tasks.
VersionInfo is basic information about a version.
# Type aliases
ExperimentSpec specifies the set of tasks in this experiment.
GHZResult is the raw data sent to the metrics server This data will be transformed into httpDashboard when getGHZGrafana is called Key is the endpoint.
HTTPResult is the raw data sent to the metrics server This data will be transformed into httpDashboard when getHTTPGrafana is called Key is the endpoint.
MetricsServerCallback is a callback function for when the particular metrics server endpoint is called.