hammer

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2018 License: Apache-2.0 Imports: 24 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.

func NewRecordingInterceptor added in v1.2.0

func NewRecordingInterceptor(filename string) (grpc.UnaryClientInterceptor, error)

NewRecordingInterceptor returns a grpc.UnaryClientInterceptor that logs outgoing requests to file.

func ReplayFile added in v1.2.0

func ReplayFile(ctx context.Context, r io.Reader, cl trillian.TrillianMapClient, mapmap map[int64]int64)

ReplayFile reads recorded gRPC requests and re-issues them using the given client. If a request has a MapId field, and its value is present in mapmap, then the MapId field is replaced before replay.

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.

type MapConfig

type MapConfig struct {
	MapID                int64
	MetricFactory        monitoring.MetricFactory
	Client               trillian.TrillianMapClient
	Admin                trillian.TrillianAdminClient
	RandSource           rand.Source
	EPBias               MapBias
	LeafSize, ExtraSize  uint
	MinLeaves, MaxLeaves int
	Operations           uint64
	EmitInterval         time.Duration
	IgnoreErrors         bool
	// NumCheckers indicates how many separate inclusion checker goroutines
	// to run.  Note that the behaviour of these checkers is not governed by
	// RandSource.
	NumCheckers int
}

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.
mapreplay replays a log of Trillian Map requests.
mapreplay replays a log of Trillian Map requests.

Jump to

Keyboard shortcuts

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