Documentation
¶
Index ¶
Constants ¶
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.
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 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) error
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 // 0 to use an ephemeral tree
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
RetryErrors bool
OperationDeadline time.Duration
// NumCheckers indicates how many separate inclusion checker goroutines
// to run. Note that the behaviour of these checkers is not governed by
// RandSource.
NumCheckers int
// KeepFailedTree indicates whether ephemeral trees should be left intact
// after a failed hammer run.
KeepFailedTree bool
}
MapConfig provides configuration for a stress/load test.
type MapEntrypointName ¶
type MapEntrypointName string
MapEntrypointName identifies a Map RPC entrypoint