loadtest

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2024 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BitcoinConfig

type BitcoinConfig struct {
	Host     string `long:"host" description:"bitcoind/btcd instance address"`
	Port     int    `long:"port" description:"bitcoind/btcd instance port"`
	User     string `long:"user" description:"bitcoind/btcd user name"`
	Password string `long:"password" description:"bitcoind/btcd password"`
	TLSPath  string `long:"tlspath" description:"Path to btcd's TLS certificate, if TLS is enabled"`
}

BitcoinConfig defines exported config options for the connection to the btcd/bitcoind backend.

type Config

type Config struct {
	// TestCases is a comma separated list of test cases that will be
	// executed.
	TestCases []string `long:"test-case" description:"the test case that will be executed"`

	// Alice is the configuration for the main user in the network.
	Alice *User `group:"alice" namespace:"alice" description:"alice related configuration"`

	// Bob is the configuration for the secondary user in the network.
	Bob *User `group:"bob" namespace:"bob" description:"bob related configuration"`

	// Bitcoin is the configuration for the bitcoin backend.
	Bitcoin *BitcoinConfig `group:"bitcoin" namespace:"bitcoin" long:"bitcoin" description:"bitcoin client configuration"`

	// BatchSize is the number of assets to mint in a single batch. This is
	// only relevant for the mint test.
	BatchSize int `long:"mint-test-batch-size" description:"the number of assets to mint in a single batch; only relevant for the mint test"`

	// NumSends is the number of asset sends to perform. This is only
	// relevant for the send test.
	NumSends int `long:"send-test-num-sends" description:"the number of send operations to perform; only relevant for the send test"`

	// NumAssets is the number of assets to send in each send operation.
	// This is only relevant for the send test.
	NumAssets uint64 `` /* 126-byte string literal not displayed */

	// SendType is the type of asset to attempt to send. This is only
	// relevant for the send test.
	SendType taprpc.AssetType `long:"send-test-send-type" description:"the type of asset to attempt to send; only relevant for the send test"`

	// TestSuiteTimeout is the timeout for the entire test suite.
	TestSuiteTimeout time.Duration `long:"test-suite-timeout" description:"the timeout for the entire test suite"`

	// TestTimeout is the timeout for each test.
	TestTimeout time.Duration `long:"test-timeout" description:"the timeout for each test"`
}

Config holds the main configuration for the performance testing binary.

func DefaultConfig

func DefaultConfig() Config

DefaultConfig returns the default configuration for the performance testing binary.

func LoadConfig

func LoadConfig() (*Config, error)

LoadConfig initializes and parses the config using a config file and command line options.

The configuration proceeds as follows:

  1. Start with a default config with sane settings
  2. Load configuration file overwriting defaults with any specified options

func ValidateConfig

func ValidateConfig(cfg Config) (*Config, error)

ValidateConfig validates the given configuration and returns a clean version of it with sane defaults.

type TapConfig

type TapConfig struct {
	Name string `long:"name" description:"the name of the tapd instance"`
	Host string `long:"host" description:"the host to connect to"`
	Port int    `long:"port" description:"the port to connect to"`

	TLSPath string `long:"tlspath" description:"Path to tapd's TLS certificate, leave empty if TLS is disabled"`
	MacPath string `long:"macpath" description:"Path to tapd's macaroon file"`
}

TapConfig are the main parameters needed for identifying and creating a grpc client to a tapd subsystem.

type User

type User struct {
	Tapd *TapConfig `group:"tapd"  namespace:"tapd"`
}

User defines the config options for a user in the network.

Jump to

Keyboard shortcuts

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