loadbot

package
v0.0.0-...-5839da9 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2022 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ERC20ABI = `` /* 5512-byte string literal not displayed */

	//nolint:lll
	ERC20BIN = "" /* 10442-byte string literal not displayed */

	ERC721ABI = `` /* 7531-byte string literal not displayed */

	//nolint:lll
	ERC721BIN = "" /* 24336-byte string literal not displayed */
)

Variables

This section is empty.

Functions

func GetCommand

func GetCommand() *cobra.Command

Types

type Account

type Account struct {
	Address    types.Address
	PrivateKey *ecdsa.PrivateKey
}

type BlockGasMetrics

type BlockGasMetrics struct {
	sync.Mutex

	Blocks map[uint64]GasMetrics
}

func (*BlockGasMetrics) AddBlockMetric

func (b *BlockGasMetrics) AddBlockMetric(blockNum uint64, gasMetric GasMetrics)

AddBlockMetric adds a block gas metric for the specified block number [Thread safe]

type Configuration

type Configuration struct {
	TPS              uint64
	Sender           types.Address
	Receiver         types.Address
	Value            *big.Int
	Count            uint64
	JSONRPC          string
	GRPC             string
	MaxConns         int
	GeneratorMode    Mode
	ChainID          uint64
	GasPrice         *big.Int
	GasLimit         *big.Int
	ContractArtifact *generator.ContractArtifact
	ConstructorArgs  []byte // smart contract constructor args
	MaxWait          uint64 // max wait time for receipts in minutes
}

type ContractMetricsData

type ContractMetricsData struct {
	FailedContractTransactionsCount uint64
	ContractDeploymentDuration      ExecDuration
	ContractAddress                 ethgo.Address
	ContractGasMetrics              *BlockGasMetrics
}

type ExecDuration

type ExecDuration struct {

	// AverageTurnAround is the average turn around time for all passing transactions
	AverageTurnAround time.Duration

	// FastestTurnAround is the fastest turn around time recorded for a transaction
	FastestTurnAround time.Duration

	// SlowestTurnAround is the slowest turn around time recorded for a transaction
	SlowestTurnAround time.Duration

	// TotalExecTime is the total execution time for a single loadbot run
	TotalExecTime time.Duration
	// contains filtered or unexported fields
}

type GasMetrics

type GasMetrics struct {
	GasUsed     uint64
	GasLimit    uint64
	Utilization float64
}

type Loadbot

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

func NewLoadbot

func NewLoadbot(cfg *Configuration) *Loadbot

func (*Loadbot) GetGenerator

func (l *Loadbot) GetGenerator() generator.TransactionGenerator

func (*Loadbot) GetMetrics

func (l *Loadbot) GetMetrics() *