hammer

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2018 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GetLeavesName    = MapEntrypointName("GetLeaves")
	GetLeavesRevName = MapEntrypointName("GetLeavesRev")
	SetLeavesName    = MapEntrypointName("SetLeaves")
	GetSMRName       = MapEntrypointName("GetSMR")
	GetSMRRevName    = MapEntrypointName("GetSMRRev")
)

Constants for entrypoint names, as exposed in statistics/logging.

View Source
const (
	ExistingKey    = Choice("ExistingKey")
	NonexistentKey = Choice("NonexistentKey")
	MalformedKey   = Choice("MalformedKey")
	DuplicateKey   = Choice("DuplicateKey")
	RevTooBig      = Choice("RevTooBig")
	RevIsNegative  = Choice("RevIsNegative")
	CreateLeaf     = Choice("CreateLeaf")
	UpdateLeaf     = Choice("UpdateLeaf")
	DeleteLeaf     = Choice("DeleteLeaf")
)

Constants for both valid and invalid operation choices.

Variables

This section is empty.

Functions

func HitMap

func HitMap(cfg MapConfig) error

HitMap performs load/stress operations according to given config.

Types

type Choice added in v1.0.3

type Choice string

Choice is a readable representation of a choice about how to perform a hammering operation.

type MapBias

type MapBias struct {
	Bias map[MapEntrypointName]int

	// InvalidChance gives the odds of performing an invalid operation, as the N in 1-in-N.
	InvalidChance map[MapEntrypointName]int
	// contains filtered or unexported fields
}

MapBias indicates the bias for selecting different map operations.

func (*MapBias) Choose

func (hb *MapBias) Choose() MapEntrypointName

Choose randomly picks an operation to perform according to the biases.

func (*MapBias) Invalid

func (hb *MapBias) Invalid(ep MapEntrypointName) bool

Invalid randomly chooses whether an operation should be invalid.

type MapConfig

type MapConfig struct {
	MapID         int64
	MetricFactory monitoring.MetricFactory
	Client        trillian.TrillianMapClient
	EPBias        MapBias
	Operations    uint64
	EmitInterval  time.Duration
	IgnoreErrors  bool
	// TODO(phad): remove CheckSignatures when downstream dependencies no longer need it,
	// i.e. when all Map storage implementations support signature storage.
	CheckSignatures bool
}

MapConfig provides configuration for a stress/load test.

func (MapConfig) String added in v1.0.2

func (c MapConfig) String() string

String conforms with Stringer for MapConfig.

type MapEntrypointName

type MapEntrypointName string

MapEntrypointName identifies a Map RPC entrypoint

Directories

Path Synopsis
maphammer is a stress/load test for a Trillian Map.
maphammer is a stress/load test for a Trillian Map.

Jump to

Keyboard shortcuts

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