runner

package
v0.0.0-...-84339fa Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CollectorPlugin

type CollectorPlugin struct {
	Impl metrics.Collector
}

CollectorPlugin implements hashicorp/go-plugin's Plugin interface for metrics.Collector

func (CollectorPlugin) Client

func (CollectorPlugin) Client(_ *plugin.MuxBroker, c *rpc.Client) (interface{}, error)

func (*CollectorPlugin) Server

func (p *CollectorPlugin) Server(*plugin.MuxBroker) (interface{}, error)

type ConfigurableExperimentRunner

type ConfigurableExperimentRunner interface {
	shared.Configurable
	runner.ExperimentRunner
}

ConfigurableExperimentRunner interface of an ExperimentRunner, that can be configured with an arbitrary configuration passed as a JSON data

func NewConfigurableExperimentRunner

func NewConfigurableExperimentRunner(
	factory func(json.RawMessage) (runner.ExperimentRunner, error),
) ConfigurableExperimentRunner

type ExperimentRunnerPlugin

type ExperimentRunnerPlugin struct {
	Impl ConfigurableExperimentRunner
}

ExperimentRunnerPlugin implements hashicorp/go-plugin's Plugin interface for runner.ExperimentRunner

func (ExperimentRunnerPlugin) Client

func (ExperimentRunnerPlugin) Client(b *plugin.MuxBroker, c *rpc.Client) (interface{}, error)

func (*ExperimentRunnerPlugin) Server

func (p *ExperimentRunnerPlugin) Server(b *plugin.MuxBroker) (interface{}, error)

type GetTreatmentRequest

type GetTreatmentRequest struct {
	Header  http.Header
	Payload []byte
	Options runner.GetTreatmentOptions
}

GetTreatmentRequest is a struct, used to pass the data required by ExperimentRunner.GetTreatmentForRequest() between RPC client and server

type IncRequest

type IncRequest struct {
	Key    metrics.MetricName
	Labels map[string]string
}

IncRequest is a struct, used to pass the data required by Collector.Inc() between RPC client and server

type MeasureDurationMsRequest

type MeasureDurationMsRequest struct {
	Key    metrics.MetricName
	Labels map[string]func() string
}

MeasureDurationMsRequest is a struct, used to pass the data required by Collector.MeasureDurationMs() between RPC client and server

type MeasureDurationMsSinceRequest

type MeasureDurationMsSinceRequest struct {
	Key       metrics.MetricName
	Starttime time.Time
	Labels    map[string]string
}

MeasureDurationMsSinceRequest is a struct, used to pass the data required by Collector.MeasureDurationMsSince() between RPC client and server

type MetricsRegistrationHelperPlugin

type MetricsRegistrationHelperPlugin struct {
	Impl runner.MetricsRegistrationHelper
}

MetricsRegistrationHelperPlugin implements hashicorp/go-plugin's Plugin interface for runner.MetricsRegistrationHelper

func (MetricsRegistrationHelperPlugin) Client

func (MetricsRegistrationHelperPlugin) Client(_ *plugin.MuxBroker, c *rpc.Client) (interface{}, error)

func (*MetricsRegistrationHelperPlugin) Server

func (p *MetricsRegistrationHelperPlugin) Server(*plugin.MuxBroker) (interface{}, error)

type RecordGaugeRequest

type RecordGaugeRequest struct {
	Key    metrics.MetricName
	Value  float64
	Labels map[string]string
}

RecordGaugeRequest is a struct, used to pass the data required by Collector.RecordGauge() between RPC client and server

Jump to

Keyboard shortcuts

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