kubetest

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2019 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ClientTypeNames = map[ClientType]string{
	ClientTypeEventUnknown:       "Unknown",
	ClientTypeEventProducer:      "Event Producer",
	ClientTypeEventConsumer:      "Event Consumer",
	ClientTypeEventStoreProducer: "EventStore Producer",
	ClientTypeEventStoreConsumer: "EventStore Consumer",
	ClientTypeCommandProducer:    "Command Producer",
	ClientTypeCommandConsumer:    "Command Consumer",
	ClientTypeQueryProducer:      "Query Producer",
	ClientTypeQueryConsumer:      "Query Consumer",
}

ClientTypeNames

View Source
var ScenarioTypesNames = map[string]ScenarioType{
	"undefined":    ScenarioTypeUndefined,
	"events":       ScenarioTypeEvents,
	"events_store": ScenarioTypeEventsStore,
	"commands":     ScenarioTypeCommands,
	"queries":      ScenarioTypeQueries,
}

ScenarioTypesNames

View Source
var ScenarioTypesStrings = map[ScenarioType]string{
	ScenarioTypeUndefined:   "undefined",
	ScenarioTypeEvents:      "events",
	ScenarioTypeEventsStore: "events_store",
	ScenarioTypeCommands:    "commands",
	ScenarioTypeQueries:     "queries",
}

ScenarioTypesStrings

Functions

func Execute

func Execute(ctx context.Context, sc *Scenario, conn *option.Options)

Execute

Types

type ClientType

type ClientType int

ClientType - represent client type

const (
	ClientTypeEventUnknown ClientType = iota
	ClientTypeEventProducer
	ClientTypeEventConsumer
	ClientTypeEventStoreProducer
	ClientTypeEventStoreConsumer
	ClientTypeCommandProducer
	ClientTypeCommandConsumer
	ClientTypeQueryProducer
	ClientTypeQueryConsumer
)

type Instance

type Instance struct {
	// contains filtered or unexported fields
}

Instance - represent an instance

func NewInstance

func NewInstance(ctx context.Context, cfg *InstanceConfig, connOpts *option.Options) (*Instance, error)

NewInstance

func (*Instance) Execute

func (ins *Instance) Execute(ctx context.Context, results chan *Result)

type InstanceConfig

type InstanceConfig struct {
	Kind              ClientType
	Channel           string
	Group             string
	MessageSize       int
	SendMessagesCount int
	MessageTimeout    time.Duration
}

InstanceConfig - represents instance config

type InstanceGroup

type InstanceGroup struct {
	// contains filtered or unexported fields
}

InstanceGroup - represents an instance group struct

func NewInstanceGroup

func NewInstanceGroup(ctx context.Context, cfg *InstanceGroupConfig, connOpts *option.Options) (*InstanceGroup, error)

NewInstanceGroup

func (*InstanceGroup) Execute

func (ig *InstanceGroup) Execute(ctx context.Context) *Results

Execute

type InstanceGroupConfig

type InstanceGroupConfig struct {
	ScenarioType      ScenarioType
	Producers         int
	Consumers         int
	Channel           string
	Group             string
	MessageSize       int
	SendMessagesCount int
	MessageTimeout    time.Duration
}

InstanceGroupConfig - represents instance group configuration

type Result

type Result struct {
	ID        string
	Kind      ClientType
	Messages  int
	Errors    []error
	Latencies []time.Duration
}

Result - represent Result struct

func NewResult

func NewResult(id string, n int) *Result

NewResult

func (*Result) AddError

func (r *Result) AddError(err error) *Result

AddError

func (*Result) AddLatency

func (r *Result) AddLatency(t time.Duration) *Result

AddLatency

func (*Result) HasError

func (r *Result) HasError() bool

HasError

func (*Result) Latency

func (r *Result) Latency() time.Duration

Latency

func (*Result) SetKind

func (r *Result) SetKind(kind ClientType) *Result

SetKind

func (*Result) String

func (r *Result) String() string

String

func (*Result) Verbose

func (r *Result) Verbose() string

Verbose

type Results

type Results struct {
	Producers *ResultsSet
	Consumers *ResultsSet
}

Results

func NewResults

func NewResults(producers, consumers *ResultsSet) *Results

NewResults

func (*Results) Errors

func (r *Results) Errors() string

Errors

func (*Results) HasErrors

func (r *Results) HasErrors() bool

HasErrors

func (*Results) String

func (r *Results) String() string

String

type ResultsSet

type ResultsSet struct {
	sync.Mutex
	// contains filtered or unexported fields
}

ResultsSet

func NewResultsSet

func NewResultsSet() *ResultsSet

NewResultsSet

func (*ResultsSet) Add

func (rs *ResultsSet) Add(r *Result)

Add

func (*ResultsSet) Count

func (rs *ResultsSet) Count() int

Count

func (*ResultsSet) Errors

func (rs *ResultsSet) Errors() int

Errors

func (*ResultsSet) HasErrors

func (rs *ResultsSet) HasErrors() bool

HasErrors

func (*ResultsSet) Latency

func (rs *ResultsSet) Latency() time.Duration

Latency

func (*ResultsSet) Success

func (rs *ResultsSet) Success() int

Success

type Scenario

type Scenario struct {
	Name           string       `json:"name"`
	Type           ScenarioType `json:"type"`
	Producers      int          `json:"producers"`
	Consumers      int          `json:"consumers"`
	MessageSize    int          `json:"message_size"`
	MessagesToSend int          `json:"messages_to_send"`
	Timeout        int          `json:"timeout"`
}

Scenario - represent scenario struct

type ScenarioType

type ScenarioType int

ScenarioType - represents scenario type

const (
	ScenarioTypeUndefined ScenarioType = iota
	ScenarioTypeEvents
	ScenarioTypeEventsStore
	ScenarioTypeCommands
	ScenarioTypeQueries
)

Jump to

Keyboard shortcuts

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