Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrOrchestratorDoesNotExist is returned is an orchestrator is loaded // by name but not recognized or implemented ErrOrchestratorDoesNotExist = errors.New("named orchestrator doesn't exist") )
Functions ¶
This section is empty.
Types ¶
type Adaptive ¶
type Adaptive struct {
// contains filtered or unexported fields
}
TODO: NOT IMPLEMENTED Adaptive s a standard Adaptive test ie: a/b, a/b w/ control, a/b/c
func NewAdaptiveExperiment ¶
func NewAdaptiveExperiment(p *plan.Definition) *Adaptive
NewAdaptiveExperiment returns an initialized Adaptive struct with proper values configure
func (*Adaptive) Finished ¶
Finished will signal an event and close the channel when the experiment is finished
type Bandit ¶
type Bandit struct {
// contains filtered or unexported fields
}
TODO: NOT IMPLEMENTED Bandit s a standard Bandit test ie: a/b, a/b w/ control, a/b/c
func NewBanditExperiment ¶
func NewBanditExperiment(p *plan.Definition) *Bandit
NewBanditExperiment returns an initialized Bandit struct with proper values configure
func (*Bandit) Finished ¶
Finished will signal an event and close the channel when the experiment is finished
type Orchestrator ¶
type Orchestrator interface { Run(context.Context) Bootstrap() error Start(context.Context) error Abort() error Teardown() error Watch() chan Status Finished() chan bool }
Orchestrator is the interface which all implemented experiment orchestrators must conform to in order to be valid
func Load ¶
func Load(kind string, p *plan.Definition) (Orchestrator, error)
Load will load an orchestrator by name
type Split ¶
type Split struct { Running Running // contains filtered or unexported fields }
Split is a standard split test ie: a/b, a/b w/ control, a/b/c
func NewSplitExperiment ¶
func NewSplitExperiment(p *plan.Definition) *Split
NewSplitExperiment returns an initialized Split struct with proper values configured
func (*Split) Finished ¶
Finished will signal an event and close the channel when the experiment is finished
type Status ¶
type Status int
Status is the state of the experiment in the experiment lifecycle as observed by the orchestrator
const ( // Starting signals that the experiment is starting Starting Status = iota // Ready signals the experiment is ready to begin Ready // Waiting signals the experiment is ready, and waiting to begin Waiting // Active signals the experiment is running Active // Aborted signals the experiment has been abruptly aborted Aborted // Stopped signals the experiment has been prematurely stopped Stopped // Finishing signals the experiment is in a state of being torn down Finishing // Finished signals the experiment has finished Finished )